diff options
Diffstat (limited to 'plugins/jetpack/modules/theme-tools/content-options')
7 files changed, 0 insertions, 1394 deletions
diff --git a/plugins/jetpack/modules/theme-tools/content-options/author-bio.php b/plugins/jetpack/modules/theme-tools/content-options/author-bio.php deleted file mode 100644 index 89d4603c..00000000 --- a/plugins/jetpack/modules/theme-tools/content-options/author-bio.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * The function to display Author Bio in a theme. - */ -function jetpack_author_bio() { - // If the theme doesn't support 'jetpack-content-options', don't continue. - if ( ! current_theme_supports( 'jetpack-content-options' ) ) { - return; - } - - $options = get_theme_support( 'jetpack-content-options' ); - $author_bio = ( ! empty( $options[0]['author-bio'] ) ) ? $options[0]['author-bio'] : null; - $author_bio_default = ( isset( $options[0]['author-bio-default'] ) && false === $options[0]['author-bio-default'] ) ? '' : 1; - - // If the theme doesn't support 'jetpack-content-options[ 'author-bio' ]', don't continue. - if ( true !== $author_bio ) { - return; - } - - // If 'jetpack_content_author_bio' is false, don't continue. - if ( ! get_option( 'jetpack_content_author_bio', $author_bio_default ) ) { - return; - } - - // If we aren't on a single post, don't continue. - if ( ! is_single() ) { - return; - } - ?> - <div class="entry-author"> - <div class="author-avatar"> - <?php - /** - * Filter the author bio avatar size. - * - * @param int $size The avatar height and width size in pixels. - * - * @module theme-tools - * - * @since 4.5.0 - */ - $author_bio_avatar_size = apply_filters( 'jetpack_author_bio_avatar_size', 48 ); - - echo get_avatar( get_the_author_meta( 'user_email' ), $author_bio_avatar_size ); - ?> - </div><!-- .author-avatar --> - - <div class="author-heading"> - <h2 class="author-title"><?php printf( esc_html__( 'Published by %s', 'jetpack' ), '<span class="author-name">' . get_the_author() . '</span>' ); ?></h2> - </div><!-- .author-heading --> - - <p class="author-bio"> - <?php the_author_meta( 'description' ); ?> - <a class="author-link" href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author"> - <?php printf( esc_html__( 'View all posts by %s', 'jetpack' ), get_the_author() ); ?> - </a> - </p><!-- .author-bio --> - </div><!-- .entry-auhtor --> - <?php -} diff --git a/plugins/jetpack/modules/theme-tools/content-options/blog-display.php b/plugins/jetpack/modules/theme-tools/content-options/blog-display.php deleted file mode 100644 index a3f74d0b..00000000 --- a/plugins/jetpack/modules/theme-tools/content-options/blog-display.php +++ /dev/null @@ -1,240 +0,0 @@ -<?php -/** - * The functions to display Content or Excerpt in a theme. - */ - -/** - * If the theme doesn't support 'jetpack-content-options', don't continue. - */ -if ( ! current_theme_supports( 'jetpack-content-options' ) ) { - return; -} - -/** - * Get the Blog Display setting. - * If theme is using both 'Content' and 'Excerpt' then this setting will be called 'Mixed'. - */ -$options = get_theme_support( 'jetpack-content-options' ); -$blog_display = ( ! empty( $options[0]['blog-display'] ) ) ? $options[0]['blog-display'] : null; -$blog_display = preg_grep( '/^(content|excerpt)$/', (array) $blog_display ); -sort( $blog_display ); -$blog_display = implode( ', ', $blog_display ); -$blog_display = ( 'content, excerpt' === $blog_display ) ? 'mixed' : $blog_display; - -/** - * If the theme doesn't support 'jetpack-content-options[ 'blog-display' ]', don't continue. - */ -if ( ! in_array( $blog_display, array( 'content', 'excerpt', 'mixed' ) ) ) { - return; -} - -/** - * Apply Content filters. - */ -function jetpack_blog_display_custom_excerpt( $content ) { - $post = get_post(); - if ( empty( $post->post_excerpt ) ) { - $text = strip_shortcodes( $post->post_content ); - $text = str_replace( ']]>', ']]>', $text ); - $text = strip_tags( $text ); - /** This filter is documented in wp-includes/formatting.php */ - $excerpt_length = apply_filters( 'excerpt_length', 55 ); - /** This filter is documented in wp-includes/formatting.php */ - $excerpt_more = apply_filters( 'excerpt_more', ' ' . '[...]' ); - - /* - * translators: If your word count is based on single characters (e.g. East Asian characters), - * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'. - * Do not translate into your own language. - */ - if ( strpos( _x( 'words', 'Word count type. Do not translate!' ), 'characters' ) === 0 && preg_match( '/^utf\-?8$/i', get_option( 'blog_charset' ) ) ) { - $text = trim( preg_replace( "/[\n\r\t ]+/", ' ', $text ), ' ' ); - preg_match_all( '/./u', $text, $words ); - $words = array_slice( $words[0], 0, $excerpt_length + 1 ); - $sep = ''; - } else { - $words = preg_split( "/[\n\r\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY ); - $sep = ' '; - } - - if ( count( $words ) > $excerpt_length ) { - array_pop( $words ); - $text = implode( $sep, $words ); - $text = $text . $excerpt_more; - } else { - $text = implode( $sep, $words ); - } - } else { - $text = wp_kses_post( $post->post_excerpt ); - } - return sprintf( '<p>%s</p>', $text ); -} - -/** - * Display Excerpt instead of Content. - */ -function jetpack_the_content_to_the_excerpt( $content ) { - if ( ( is_home() || is_archive() ) && ! is_post_type_archive( array( 'jetpack-testimonial', 'jetpack-portfolio', 'product' ) ) ) { - if ( post_password_required() ) { - $content = sprintf( '<p>%s</p>', esc_html__( 'There is no excerpt because this is a protected post.', 'jetpack' ) ); - } else { - $content = jetpack_blog_display_custom_excerpt( $content ); - } - } - return $content; -} - -/** - * Display Content instead of Excerpt. - */ -function jetpack_the_excerpt_to_the_content( $content ) { - if ( ( is_home() || is_archive() ) && ! is_post_type_archive( array( 'jetpack-testimonial', 'jetpack-portfolio', 'product' ) ) ) { - ob_start(); - the_content( - sprintf( - wp_kses( - /* translators: %s: Name of current post. Only visible to screen readers */ - __( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'jetpack' ), - array( - 'span' => array( - 'class' => array(), - ), - ) - ), - get_the_title() - ) - ); - $content = ob_get_clean(); - } - return $content; -} - -/** - * Display both Content and Excerpt instead of Content in the Customizer so live preview can switch between them. - */ -function jetpack_the_content_customizer( $content ) { - $class = jetpack_the_content_customizer_class(); - if ( ( is_home() || is_archive() ) && ! is_post_type_archive( array( 'jetpack-testimonial', 'jetpack-portfolio', 'product' ) ) ) { - if ( post_password_required() ) { - $excerpt = sprintf( '<p>%s</p>', esc_html__( 'There is no excerpt because this is a protected post.', 'jetpack' ) ); - } else { - $excerpt = jetpack_blog_display_custom_excerpt( $content ); - } - } - if ( empty( $excerpt ) ) { - return $content; - } else { - return sprintf( '<div class="jetpack-blog-display %s jetpack-the-content">%s</div><div class="jetpack-blog-display %s jetpack-the-excerpt">%s</div>', $class, $content, $class, $excerpt ); - } -} - -/** - * Display both Content and Excerpt instead of Excerpt in the Customizer so live preview can switch between them. - */ -function jetpack_the_excerpt_customizer( $excerpt ) { - if ( ( is_home() || is_archive() ) && ! is_post_type_archive( array( 'jetpack-testimonial', 'jetpack-portfolio', 'product' ) ) ) { - ob_start(); - the_content( - sprintf( - wp_kses( - /* translators: %s: Name of current post. Only visible to screen readers */ - __( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'jetpack' ), - array( - 'span' => array( - 'class' => array(), - ), - ) - ), - get_the_title() - ) - ); - $content = ob_get_clean(); - } - if ( empty( $content ) ) { - return $excerpt; - } else { - return sprintf( '<div class="jetpack-blog-display jetpack-the-content">%s</div><div class="jetpack-blog-display jetpack-the-excerpt">%s</div>', $content, $excerpt ); - } -} - -/** - * Display Content instead of Excerpt in the Customizer when theme uses a 'Mixed' display. - */ -function jetpack_the_excerpt_mixed_customizer( $content ) { - if ( ( is_home() || is_archive() ) && ! is_post_type_archive( array( 'jetpack-testimonial', 'jetpack-portfolio', 'product' ) ) ) { - jetpack_the_content_customizer_class( 'output-the-excerpt' ); - ob_start(); - the_content(); - $content = ob_get_clean(); - } - return $content; -} - -/** - * Returns a class value, `output-the-content` by default. - * Used for themes with a 'Mixed' Blog Display so we can tell which output is by default. - */ -function jetpack_the_content_customizer_class( $new_class = null ) { - static $class; - if ( isset( $new_class ) ) { - // Assign a new class and return. - $class = $new_class; - } elseif ( isset( $class ) ) { - // Reset the class after getting value. - $prev_class = $class; - $class = null; - return $prev_class; - } else { - // Return default class value. - return 'output-the-content'; - } -} - -if ( is_customize_preview() ) { - /* - * Display Content and Excerpt if the default Blog Display is 'Content' - * and we are in the Customizer. - */ - if ( 'content' === $blog_display ) { - add_filter( 'the_content', 'jetpack_the_content_customizer' ); - } - - /* - * Display Content and Excerpt if the default Blog Display is 'Excerpt' - * and we are in the Customizer. - */ - if ( 'excerpt' === $blog_display ) { - add_filter( 'the_excerpt', 'jetpack_the_excerpt_customizer' ); - } - - /* - * Display Content and Excerpt if the default Blog Display is 'Mixed' - * and we are in the Customizer. - */ - if ( 'mixed' === $blog_display ) { - add_filter( 'the_content', 'jetpack_the_content_customizer' ); - add_filter( 'the_excerpt', 'jetpack_the_excerpt_mixed_customizer' ); - } -} else { - $display_option = get_option( 'jetpack_content_blog_display', $blog_display ); - - /* - * Display Excerpt if the default Blog Display is 'Content' - * or default Blog Display is 'Mixed' - * and the Option picked is 'Post Excerpt' - * and we aren't in the Customizer. - */ - if ( ( 'content' === $blog_display || 'mixed' === $blog_display ) && 'excerpt' === $display_option ) { - add_filter( 'the_content', 'jetpack_the_content_to_the_excerpt' ); - } - - /* - * Display Content if the default Blog Display is 'Excerpt' - * or default Blog Display is 'Mixed' - * and the Option picked is 'Full Post' - * and we aren't in the Customizer. - */ - if ( ( 'excerpt' === $blog_display || 'mixed' === $blog_display ) && 'content' === $display_option ) { - add_filter( 'the_excerpt', 'jetpack_the_excerpt_to_the_content' ); - } -} diff --git a/plugins/jetpack/modules/theme-tools/content-options/customizer.js b/plugins/jetpack/modules/theme-tools/content-options/customizer.js deleted file mode 100644 index e6b9b132..00000000 --- a/plugins/jetpack/modules/theme-tools/content-options/customizer.js +++ /dev/null @@ -1,217 +0,0 @@ -/* global blogDisplay, postDetails */ - -/** - * customizer.js - * - * Theme Customizer enhancements for a better user experience. - * - * Contains handlers to make Theme Customizer preview reload changes asynchronously. - */ - -( function( $ ) { - // Blog Display - wp.customize( 'jetpack_content_blog_display', function( value ) { - if ( 'content' === blogDisplay.display ) { - $( '.jetpack-blog-display.jetpack-the-excerpt' ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'position': 'absolute' - } ); - $( '.jetpack-blog-display.jetpack-the-content' ).css( { - 'clip': 'auto', - 'position': 'relative' - } ); - } else if ( 'excerpt' === blogDisplay.display ) { - $( '.jetpack-blog-display.jetpack-the-content' ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'position': 'absolute' - } ); - $( '.jetpack-blog-display.jetpack-the-excerpt' ).css( { - 'clip': 'auto', - 'position': 'relative' - } ); - } else if ( 'mixed' === blogDisplay.display ) { - $( '.jetpack-blog-display.jetpack-the-content.output-the-content' ).css( { - 'clip': 'auto', - 'position': 'relative' - } ); - $( '.jetpack-blog-display.jetpack-the-excerpt.output-the-content' ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'position': 'absolute' - } ); - $( '.jetpack-blog-display.jetpack-the-content.output-the-excerpt' ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'position': 'absolute' - } ); - $( '.jetpack-blog-display.jetpack-the-excerpt.output-the-excerpt' ).css( { - 'clip': 'auto', - 'position': 'relative' - } ); - } - value.bind( function( to ) { - if ( 'content' === to ) { - $( '.jetpack-blog-display.jetpack-the-excerpt' ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'position': 'absolute' - } ); - $( '.jetpack-blog-display.jetpack-the-content' ).css( { - 'clip': 'auto', - 'position': 'relative' - } ); - } else if ( 'excerpt' === to ) { - $( '.jetpack-blog-display.jetpack-the-content' ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'position': 'absolute' - } ); - $( '.jetpack-blog-display.jetpack-the-excerpt' ).css( { - 'clip': 'auto', - 'position': 'relative' - } ); - } else if ( 'mixed' === to ) { - $( '.jetpack-blog-display.jetpack-the-content.output-the-content' ).css( { - 'clip': 'auto', - 'position': 'relative' - } ); - $( '.jetpack-blog-display.jetpack-the-excerpt.output-the-content' ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'position': 'absolute' - } ); - $( '.jetpack-blog-display.jetpack-the-content.output-the-excerpt' ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'position': 'absolute' - } ); - $( '.jetpack-blog-display.jetpack-the-excerpt.output-the-excerpt' ).css( { - 'clip': 'auto', - 'position': 'relative' - } ); - } - if ( blogDisplay.masonry ) { - $( blogDisplay.masonry ).masonry(); - } - } ); - } ); - - // Post Details: Date. - wp.customize( 'jetpack_content_post_details_date', function( value ) { - value.bind( function( to ) { - if ( false === to ) { - $( postDetails.date ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'height': '1px', - 'overflow': 'hidden', - 'position': 'absolute', - 'width': '1px' - } ); - $( 'body' ).addClass( 'date-hidden' ); - } else { - $( postDetails.date ).css( { - 'clip': 'auto', - 'height': 'auto', - 'overflow': 'auto', - 'position': 'relative', - 'width': 'auto' - } ); - $( 'body' ).removeClass( 'date-hidden' ); - } - } ); - } ); - - // Post Details: Categories. - wp.customize( 'jetpack_content_post_details_categories', function( value ) { - value.bind( function( to ) { - if ( false === to ) { - $( postDetails.categories ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'height': '1px', - 'overflow': 'hidden', - 'position': 'absolute', - 'width': '1px' - } ); - $( 'body' ).addClass( 'categories-hidden' ); - } else { - $( postDetails.categories ).css( { - 'clip': 'auto', - 'height': 'auto', - 'overflow': 'auto', - 'position': 'relative', - 'width': 'auto' - } ); - $( 'body' ).removeClass( 'categories-hidden' ); - } - } ); - } ); - - // Post Details: Tags. - wp.customize( 'jetpack_content_post_details_tags', function( value ) { - value.bind( function( to ) { - if ( false === to ) { - $( postDetails.tags ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'height': '1px', - 'overflow': 'hidden', - 'position': 'absolute', - 'width': '1px' - } ); - $( 'body' ).addClass( 'tags-hidden' ); - } else { - $( postDetails.tags ).css( { - 'clip': 'auto', - 'height': 'auto', - 'overflow': 'auto', - 'position': 'relative', - 'width': 'auto' - } ); - $( 'body' ).removeClass( 'tags-hidden' ); - } - } ); - } ); - - // Post Details: Author. - wp.customize( 'jetpack_content_post_details_author', function( value ) { - value.bind( function( to ) { - if ( false === to ) { - $( postDetails.author ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'height': '1px', - 'overflow': 'hidden', - 'position': 'absolute', - 'width': '1px' - } ); - $( 'body' ).addClass( 'author-hidden' ); - } else { - $( postDetails.author ).css( { - 'clip': 'auto', - 'height': 'auto', - 'overflow': 'auto', - 'position': 'relative', - 'width': 'auto' - } ); - $( 'body' ).removeClass( 'author-hidden' ); - } - } ); - } ); - - // Post Details: Comment link. - wp.customize( 'jetpack_content_post_details_comment', function( value ) { - value.bind( function( to ) { - if ( false === to ) { - $( postDetails.comment ).css( { - 'clip': 'rect(1px, 1px, 1px, 1px)', - 'height': '1px', - 'overflow': 'hidden', - 'position': 'absolute', - 'width': '1px' - } ); - $( 'body' ).addClass( 'comment-hidden' ); - } else { - $( postDetails.comment ).css( { - 'clip': 'auto', - 'height': 'auto', - 'overflow': 'auto', - 'position': 'relative', - 'width': 'auto' - } ); - $( 'body' ).removeClass( 'comment-hidden' ); - } - } ); - } ); -} )( jQuery ); diff --git a/plugins/jetpack/modules/theme-tools/content-options/customizer.php b/plugins/jetpack/modules/theme-tools/content-options/customizer.php deleted file mode 100644 index 844e5074..00000000 --- a/plugins/jetpack/modules/theme-tools/content-options/customizer.php +++ /dev/null @@ -1,482 +0,0 @@ -<?php -/** - * Add Content section to the Theme Customizer. - * - * @param WP_Customize_Manager $wp_customize Theme Customizer object. - */ -function jetpack_content_options_customize_register( $wp_customize ) { - $options = get_theme_support( 'jetpack-content-options' ); - $blog_display = ( ! empty( $options[0]['blog-display'] ) ) ? $options[0]['blog-display'] : null; - $blog_display = preg_grep( '/^(content|excerpt)$/', (array) $blog_display ); - sort( $blog_display ); - $blog_display = implode( ', ', $blog_display ); - $blog_display = ( 'content, excerpt' === $blog_display ) ? 'mixed' : $blog_display; - $author_bio = ( ! empty( $options[0]['author-bio'] ) ) ? $options[0]['author-bio'] : null; - $author_bio_default = ( isset( $options[0]['author-bio-default'] ) && false === $options[0]['author-bio-default'] ) ? '' : 1; - $post_details = ( ! empty( $options[0]['post-details'] ) ) ? $options[0]['post-details'] : null; - $date = ( ! empty( $post_details['date'] ) ) ? $post_details['date'] : null; - $categories = ( ! empty( $post_details['categories'] ) ) ? $post_details['categories'] : null; - $tags = ( ! empty( $post_details['tags'] ) ) ? $post_details['tags'] : null; - $author = ( ! empty( $post_details['author'] ) ) ? $post_details['author'] : null; - $comment = ( ! empty( $post_details['comment'] ) ) ? $post_details['comment'] : null; - $featured_images = ( ! empty( $options[0]['featured-images'] ) ) ? $options[0]['featured-images'] : null; - $fi_archive = ( ! empty( $featured_images['archive'] ) ) ? $featured_images['archive'] : null; - $fi_post = ( ! empty( $featured_images['post'] ) ) ? $featured_images['post'] : null; - $fi_page = ( ! empty( $featured_images['page'] ) ) ? $featured_images['page'] : null; - $fi_portfolio = ( ! empty( $featured_images['portfolio'] ) ) ? $featured_images['portfolio'] : null; - $fi_fallback = ( ! empty( $featured_images['fallback'] ) ) ? $featured_images['fallback'] : null; - $fi_archive_default = ( isset( $featured_images['archive-default'] ) && false === $featured_images['archive-default'] ) ? '' : 1; - $fi_post_default = ( isset( $featured_images['post-default'] ) && false === $featured_images['post-default'] ) ? '' : 1; - $fi_page_default = ( isset( $featured_images['page-default'] ) && false === $featured_images['page-default'] ) ? '' : 1; - $fi_portfolio_default = ( isset( $featured_images['portfolio-default'] ) && false === $featured_images['portfolio-default'] ) ? '' : 1; - $fi_fallback_default = ( isset( $featured_images['fallback-default'] ) && false === $featured_images['fallback-default'] ) ? '' : 1; - - // If the theme doesn't support 'jetpack-content-options[ 'blog-display' ]', 'jetpack-content-options[ 'author-bio' ]', 'jetpack-content-options[ 'post-details' ]' and 'jetpack-content-options[ 'featured-images' ]', don't continue. - if ( ( ! in_array( $blog_display, array( 'content', 'excerpt', 'mixed' ) ) ) - && ( true !== $author_bio ) - && ( ( empty( $post_details['stylesheet'] ) ) - && ( empty( $date ) - || empty( $categories ) - || empty( $tags ) - || empty( $author ) - || empty( $comment ) ) ) - && ( true !== $fi_archive && true !== $fi_post && true !== $fi_page && true !== $fi_portfolio && true !== $fi_fallback ) ) { - return; - } - - // New control type: Title. - class Jetpack_Customize_Control_Title extends WP_Customize_Control { - public $type = 'title'; - - public function render_content() { - ?> - <span class="customize-control-title"><?php echo wp_kses_post( $this->label ); ?></span> - <?php - } - } - - // Add Content section. - $wp_customize->add_section( - 'jetpack_content_options', - array( - 'title' => esc_html__( 'Content Options', 'jetpack' ), - 'theme_supports' => 'jetpack-content-options', - 'priority' => 100, - ) - ); - - // Add Blog Display option. - if ( in_array( $blog_display, array( 'content', 'excerpt', 'mixed' ) ) ) { - if ( 'mixed' === $blog_display ) { - $blog_display_choices = array( - 'content' => esc_html__( 'Full post', 'jetpack' ), - 'excerpt' => esc_html__( 'Post excerpt', 'jetpack' ), - 'mixed' => esc_html__( 'Default', 'jetpack' ), - ); - - $blog_display_description = esc_html__( 'Choose between a full post or an excerpt for the blog and archive pages, or opt for the theme\'s default combination of excerpt and full post.', 'jetpack' ); - } else { - $blog_display_choices = array( - 'content' => esc_html__( 'Full post', 'jetpack' ), - 'excerpt' => esc_html__( 'Post excerpt', 'jetpack' ), - ); - - $blog_display_description = esc_html__( 'Choose between a full post or an excerpt for the blog and archive pages.', 'jetpack' ); - - if ( 'mixed' === get_option( 'jetpack_content_blog_display' ) ) { - update_option( 'jetpack_content_blog_display', $blog_display ); - } - } - - $wp_customize->add_setting( - 'jetpack_content_blog_display', - array( - 'default' => $blog_display, - 'type' => 'option', - 'transport' => 'postMessage', - 'sanitize_callback' => 'jetpack_content_options_sanitize_blog_display', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_blog_display', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Blog Display', 'jetpack' ), - 'description' => $blog_display_description, - 'type' => 'radio', - 'choices' => $blog_display_choices, - ) - ); - } - - // Add Author Bio option. - if ( true === $author_bio ) { - $wp_customize->add_setting( 'jetpack_content_author_bio_title' ); - - $wp_customize->add_control( - new Jetpack_Customize_Control_Title( - $wp_customize, - 'jetpack_content_author_bio_title', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Author Bio', 'jetpack' ), - 'type' => 'title', - ) - ) - ); - - $wp_customize->add_setting( - 'jetpack_content_author_bio', - array( - 'default' => $author_bio_default, - 'type' => 'option', - 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_author_bio', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Display on single posts', 'jetpack' ), - 'type' => 'checkbox', - ) - ); - } - - // Add Post Details options. - if ( ( ! empty( $post_details ) ) - && ( ! empty( $post_details['stylesheet'] ) ) - && ( ! empty( $date ) - || ! empty( $categories ) - || ! empty( $tags ) - || ! empty( $author ) - || ! empty( $comment ) ) ) { - $wp_customize->add_setting( 'jetpack_content_post_details_title' ); - - $wp_customize->add_control( - new Jetpack_Customize_Control_Title( - $wp_customize, - 'jetpack_content_post_details_title', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Post Details', 'jetpack' ), - 'type' => 'title', - ) - ) - ); - - // Post Details: Date - if ( ! empty( $date ) ) { - $wp_customize->add_setting( - 'jetpack_content_post_details_date', - array( - 'default' => 1, - 'type' => 'option', - 'transport' => 'postMessage', - 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_post_details_date', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Display date', 'jetpack' ), - 'type' => 'checkbox', - ) - ); - } - - // Post Details: Categories - if ( ! empty( $categories ) ) { - $wp_customize->add_setting( - 'jetpack_content_post_details_categories', - array( - 'default' => 1, - 'type' => 'option', - 'transport' => 'postMessage', - 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_post_details_categories', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Display categories', 'jetpack' ), - 'type' => 'checkbox', - ) - ); - } - - // Post Details: Tags - if ( ! empty( $tags ) ) { - $wp_customize->add_setting( - 'jetpack_content_post_details_tags', - array( - 'default' => 1, - 'type' => 'option', - 'transport' => 'postMessage', - 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_post_details_tags', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Display tags', 'jetpack' ), - 'type' => 'checkbox', - ) - ); - } - - // Post Details: Author - if ( ! empty( $author ) ) { - $wp_customize->add_setting( - 'jetpack_content_post_details_author', - array( - 'default' => 1, - 'type' => 'option', - 'transport' => 'postMessage', - 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_post_details_author', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Display author', 'jetpack' ), - 'type' => 'checkbox', - ) - ); - } - - // Post Details: Comment link - if ( ! empty( $comment ) ) { - $wp_customize->add_setting( - 'jetpack_content_post_details_comment', - array( - 'default' => 1, - 'type' => 'option', - 'transport' => 'postMessage', - 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_post_details_comment', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Display comment link', 'jetpack' ), - 'type' => 'checkbox', - ) - ); - } - } - - // Add Featured Images options. - if ( true === $fi_archive || true === $fi_post || true === $fi_page || true === $fi_portfolio || true === $fi_fallback ) { - $wp_customize->add_setting( 'jetpack_content_featured_images_title' ); - - $wp_customize->add_control( - new Jetpack_Customize_Control_Title( - $wp_customize, - 'jetpack_content_featured_images_title', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Featured Images', 'jetpack' ) . sprintf( '<a href="https://en.support.wordpress.com/featured-images/" class="customize-help-toggle dashicons dashicons-editor-help" title="%1$s" rel="noopener noreferrer" target="_blank"><span class="screen-reader-text">%1$s</span></a>', esc_html__( 'Learn more about Featured Images', 'jetpack' ) ), - 'type' => 'title', - 'active_callback' => 'jetpack_post_thumbnail_supports', - ) - ) - ); - - // Featured Images: Archive - if ( true === $fi_archive ) { - $wp_customize->add_setting( - 'jetpack_content_featured_images_archive', - array( - 'default' => $fi_archive_default, - 'type' => 'option', - 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_featured_images_archive', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Display on blog and archives', 'jetpack' ), - 'type' => 'checkbox', - 'active_callback' => 'jetpack_post_thumbnail_supports', - ) - ); - } - - // Featured Images: Post - if ( true === $fi_post ) { - $wp_customize->add_setting( - 'jetpack_content_featured_images_post', - array( - 'default' => $fi_post_default, - 'type' => 'option', - 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_featured_images_post', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Display on single posts', 'jetpack' ), - 'type' => 'checkbox', - 'active_callback' => 'jetpack_post_thumbnail_supports', - ) - ); - } - - // Featured Images: Page - if ( true === $fi_page ) { - $wp_customize->add_setting( - 'jetpack_content_featured_images_page', - array( - 'default' => $fi_page_default, - 'type' => 'option', - 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_featured_images_page', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Display on pages', 'jetpack' ), - 'type' => 'checkbox', - 'active_callback' => 'jetpack_post_thumbnail_supports', - ) - ); - } - - // Featured Images: Portfolio - if ( true === $fi_portfolio && post_type_exists( 'jetpack-portfolio' ) ) { - $wp_customize->add_setting( - 'jetpack_content_featured_images_portfolio', - array( - 'default' => $fi_portfolio_default, - 'type' => 'option', - 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_featured_images_portfolio', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Display on single projects', 'jetpack' ), - 'type' => 'checkbox', - 'active_callback' => 'jetpack_post_thumbnail_supports', - ) - ); - } - - // Featured Images: Fallback - if ( true === $fi_fallback ) { - $wp_customize->add_setting( - 'jetpack_content_featured_images_fallback', - array( - 'default' => $fi_fallback_default, - 'type' => 'option', - 'sanitize_callback' => 'jetpack_content_options_sanitize_checkbox', - ) - ); - - $wp_customize->add_control( - 'jetpack_content_featured_images_fallback', - array( - 'section' => 'jetpack_content_options', - 'label' => esc_html__( 'Automatically use first image in post', 'jetpack' ), - 'type' => 'checkbox', - 'active_callback' => 'jetpack_post_thumbnail_supports', - ) - ); - } - } -} -add_action( 'customize_register', 'jetpack_content_options_customize_register' ); - -/** - * Return whether the theme supports Post Thumbnails. - */ -function jetpack_post_thumbnail_supports() { - return ( current_theme_supports( 'post-thumbnails' ) ); -} - -/** - * Sanitize the checkbox. - * - * @param int $input. - * @return boolean|string - */ -function jetpack_content_options_sanitize_checkbox( $input ) { - return ( 1 == $input ) ? 1 : ''; -} - -/** - * Sanitize the Display value. - * - * @param string $display. - * @return string. - */ -function jetpack_content_options_sanitize_blog_display( $display ) { - if ( ! in_array( $display, array( 'content', 'excerpt', 'mixed' ) ) ) { - $display = 'content'; - } - return $display; -} - -/** - * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. - */ -function jetpack_content_options_customize_preview_js() { - $options = get_theme_support( 'jetpack-content-options' ); - $blog_display = ( ! empty( $options[0]['blog-display'] ) ) ? $options[0]['blog-display'] : null; - $blog_display = preg_grep( '/^(content|excerpt)$/', (array) $blog_display ); - sort( $blog_display ); - $blog_display = implode( ', ', $blog_display ); - $blog_display = ( 'content, excerpt' === $blog_display ) ? 'mixed' : $blog_display; - $masonry = ( ! empty( $options[0]['masonry'] ) ) ? $options[0]['masonry'] : null; - $post_details = ( ! empty( $options[0]['post-details'] ) ) ? $options[0]['post-details'] : null; - $date = ( ! empty( $post_details['date'] ) ) ? $post_details['date'] : null; - $categories = ( ! empty( $post_details['categories'] ) ) ? $post_details['categories'] : null; - $tags = ( ! empty( $post_details['tags'] ) ) ? $post_details['tags'] : null; - $author = ( ! empty( $post_details['author'] ) ) ? $post_details['author'] : null; - $comment = ( ! empty( $post_details['comment'] ) ) ? $post_details['comment'] : null; - - wp_enqueue_script( 'jetpack-content-options-customizer', plugins_url( 'customizer.js', __FILE__ ), array( 'customize-preview' ), '1.0', true ); - - wp_localize_script( - 'jetpack-content-options-customizer', - 'blogDisplay', - array( - 'display' => get_option( 'jetpack_content_blog_display', $blog_display ), - 'masonry' => $masonry, - ) - ); - - wp_localize_script( - 'jetpack-content-options-customizer', - 'postDetails', - array( - 'date' => $date, - 'categories' => $categories, - 'tags' => $tags, - 'author' => $author, - 'comment' => $comment, - ) - ); -} -add_action( 'customize_preview_init', 'jetpack_content_options_customize_preview_js' ); diff --git a/plugins/jetpack/modules/theme-tools/content-options/featured-images-fallback.php b/plugins/jetpack/modules/theme-tools/content-options/featured-images-fallback.php deleted file mode 100644 index dc8d92d6..00000000 --- a/plugins/jetpack/modules/theme-tools/content-options/featured-images-fallback.php +++ /dev/null @@ -1,161 +0,0 @@ -<?php -/** - * Get one image from a specified post in the following order: - * Featured Image then first image from the_content HTML - * and filter the post_thumbnail_html - * - * @param string $html The HTML for the image markup. - * @param int $post_id The post ID to check. - * @param int $post_thumbnail_id The ID of the featured image. - * @param string $size The image size to return, defaults to 'post-thumbnail'. - * @param string|array $attr Optional. Query string or array of attributes. - * - * @return string $html Thumbnail image with markup. - */ -function jetpack_featured_images_fallback_get_image( $html, $post_id, $post_thumbnail_id, $size, $attr ) { - $opts = jetpack_featured_images_get_settings(); - - if ( ! empty( $html ) || (bool) 1 !== (bool) $opts['fallback-option'] ) { - return trim( $html ); - } - - if ( jetpack_featured_images_should_load() ) { - if ( - ( true === $opts['archive'] && ( is_home() || is_archive() || is_search() ) && ! $opts['archive-option'] ) - || ( true === $opts['post'] && is_single() && ! $opts['post-option'] ) - || ! $opts['fallback-option'] - ) { - return trim( $html ); - } - } - - if ( class_exists( 'Jetpack_PostImages' ) ) { - global $_wp_additional_image_sizes; - - $args = array( - 'from_thumbnail' => false, - 'from_slideshow' => true, - 'from_gallery' => true, - 'from_attachment' => false, - ); - - $image = Jetpack_PostImages::get_image( $post_id, $args ); - - if ( ! empty( $image ) ) { - $image['width'] = ''; - $image['height'] = ''; - $image['crop'] = ''; - - if ( array_key_exists( $size, $_wp_additional_image_sizes ) ) { - $image['width'] = $_wp_additional_image_sizes[ $size ]['width']; - $image['height'] = $_wp_additional_image_sizes[ $size ]['height']; - $image['crop'] = $_wp_additional_image_sizes[ $size ]['crop']; - } - - $image_src = Jetpack_PostImages::fit_image_url( $image['src'], $image['width'], $image['height'] ); - - // Use the theme's crop setting rather than forcing to true - $image_src = add_query_arg( 'crop', $image['crop'], $image_src ); - - $html = '<img src="' . esc_url( $image_src ) . '" title="' . esc_attr( strip_tags( get_the_title() ) ) . '" class="attachment-' . esc_attr( $size ) . ' wp-post-image" />'; - - return trim( $html ); - } - } - - return trim( $html ); -} -add_filter( 'post_thumbnail_html', 'jetpack_featured_images_fallback_get_image', 10, 5 ); - -/** - * Get URL of one image from a specified post in the following order: - * Featured Image then first image from the_content HTML - * - * @param int $post_id The post ID to check. - * @param int $post_thumbnail_id The ID of the featured image. - * @param string $size The image size to return, defaults to 'post-thumbnail'. - * - * @return string|null $image_src The URL of the thumbnail image. - */ -function jetpack_featured_images_fallback_get_image_src( $post_id, $post_thumbnail_id, $size ) { - $image_src = wp_get_attachment_image_src( $post_thumbnail_id, $size ); - $image_src = ( ! empty( $image_src[0] ) ) ? $image_src[0] : null; - $opts = jetpack_featured_images_get_settings(); - - if ( ! empty( $image_src ) || (bool) 1 !== (bool) $opts['fallback-option'] ) { - return esc_url( $image_src ); - } - - if ( jetpack_featured_images_should_load() ) { - if ( ( true === $opts['archive'] && ( is_home() || is_archive() || is_search() ) && ! $opts['archive-option'] ) - || ( true === $opts['post'] && is_single() && ! $opts['post-option'] ) ) { - return esc_url( $image_src ); - } - } - - if ( class_exists( 'Jetpack_PostImages' ) ) { - global $_wp_additional_image_sizes; - - $args = array( - 'from_thumbnail' => false, - 'from_slideshow' => true, - 'from_gallery' => true, - 'from_attachment' => false, - ); - - $image = Jetpack_PostImages::get_image( $post_id, $args ); - - if ( ! empty( $image ) ) { - $image['width'] = ''; - $image['height'] = ''; - $image['crop'] = ''; - - if ( array_key_exists( $size, $_wp_additional_image_sizes ) ) { - $image['width'] = $_wp_additional_image_sizes[ $size ]['width']; - $image['height'] = $_wp_additional_image_sizes[ $size ]['height']; - $image['crop'] = $_wp_additional_image_sizes[ $size ]['crop']; - } - - $image_src = Jetpack_PostImages::fit_image_url( $image['src'], $image['width'], $image['height'] ); - - // Use the theme's crop setting rather than forcing to true - $image_src = add_query_arg( 'crop', $image['crop'], $image_src ); - - return esc_url( $image_src ); - } - } - - return esc_url( $image_src ); -} - -/** - * Check if post has an image attached, including a fallback. - * - * @param int $post The post ID to check. - * - * @return bool - */ -function jetpack_has_featured_image( $post = null ) { - return (bool) get_the_post_thumbnail( $post ); -} - -/** - * Adds custom class to the array of post classes. - * - * @param array $classes Classes for the post element. - * @param array $class Optional. Comma separated list of additional classes. - * @param array $post_id Unique The post ID to check - * - * @return array $classes - */ -function jetpack_featured_images_post_class( $classes, $class, $post_id ) { - $post_password_required = post_password_required( $post_id ); - $opts = jetpack_featured_images_get_settings(); - - if ( jetpack_has_featured_image( $post_id ) && (bool) 1 === (bool) $opts['fallback-option'] && ! is_attachment() && ! $post_password_required && 'post' === get_post_type() ) { - $classes[] = 'has-post-thumbnail'; - } - - return $classes; -} -add_filter( 'post_class', 'jetpack_featured_images_post_class', 10, 3 ); diff --git a/plugins/jetpack/modules/theme-tools/content-options/featured-images.php b/plugins/jetpack/modules/theme-tools/content-options/featured-images.php deleted file mode 100644 index d6855f6c..00000000 --- a/plugins/jetpack/modules/theme-tools/content-options/featured-images.php +++ /dev/null @@ -1,84 +0,0 @@ -<?php -/** - * The function to prevent for Featured Images to be displayed in a theme. - */ -function jetpack_featured_images_remove_post_thumbnail( $metadata, $object_id, $meta_key, $single ) { - $opts = jetpack_featured_images_get_settings(); - - // Automatically return metadata if it's a PayPal product - we don't want to hide the Featured Image. - if ( 'jp_pay_product' === get_post_type( $object_id ) ) { - return $metadata; - } - - // Return false if the archive option or singular option is unticked. - if ( - ( true === $opts['archive'] - && ( is_home() || is_archive() || is_search() ) - && ! jetpack_is_shop_page() - && ! $opts['archive-option'] - && ( isset( $meta_key ) - && '_thumbnail_id' === $meta_key ) - && in_the_loop() - ) - || ( true === $opts['post'] - && is_single() - && ! jetpack_is_product() - && ! $opts['post-option'] - && ( isset( $meta_key ) - && '_thumbnail_id' === $meta_key ) - && in_the_loop() - ) - || ( true === $opts['page'] - && is_singular() - && is_page() - && ! $opts['page-option'] - && ( isset( $meta_key ) - && '_thumbnail_id' === $meta_key ) - && in_the_loop() - ) - || ( true === $opts['portfolio'] - && post_type_exists( 'jetpack-portfolio' ) - && is_singular( 'jetpack-portfolio' ) - && ! $opts['portfolio-option'] - && ( isset( $meta_key ) - && '_thumbnail_id' === $meta_key ) - && in_the_loop() - ) - ) { - return false; - } else { - return $metadata; - } -} -add_filter( 'get_post_metadata', 'jetpack_featured_images_remove_post_thumbnail', true, 4 ); - -/** - * Check if we are in a WooCommerce Product in order to exclude it from the is_single check. - */ -function jetpack_is_product() { - return ( function_exists( 'is_product' ) ) ? is_product() : false; -} - -/** - * Check if we are in a WooCommerce Shop in order to exclude it from the is_archive check. - */ -function jetpack_is_shop_page() { - // Check if WooCommerce is active first. - if ( ! class_exists( 'WooCommerce' ) ) { - return false; - } - - global $wp_query; - - $front_page_id = get_option( 'page_on_front' ); - $current_page_id = $wp_query->get( 'page_id' ); - $is_static_front_page = 'page' === get_option( 'show_on_front' ); - - if ( $is_static_front_page && $front_page_id === $current_page_id ) { - $is_shop_page = ( $current_page_id === wc_get_page_id( 'shop' ) ) ? true : false; - } else { - $is_shop_page = is_shop(); - } - - return $is_shop_page; -} diff --git a/plugins/jetpack/modules/theme-tools/content-options/post-details.php b/plugins/jetpack/modules/theme-tools/content-options/post-details.php deleted file mode 100644 index 7851a5be..00000000 --- a/plugins/jetpack/modules/theme-tools/content-options/post-details.php +++ /dev/null @@ -1,150 +0,0 @@ -<?php -/** - * The function to include Post Details in a theme's stylesheet. - */ -function jetpack_post_details_enqueue_scripts() { - // Make sure we can proceed. - list( $should_run, $options, $definied, $post_details ) = jetpack_post_details_should_run(); - - if ( ! $should_run ) { - return; - } - - list( $date_option, $categories_option, $tags_option, $author_option, $comment_option ) = $options; - list( $date, $categories, $tags, $author, $comment ) = $definied; - - $elements = array(); - - // If date option is unticked, add it to the list of classes. - if ( 1 != $date_option && ! empty( $date ) ) { - $elements[] = $date; - } - - // If categories option is unticked, add it to the list of classes. - if ( 1 != $categories_option && ! empty( $categories ) ) { - $elements[] = $categories; - } - - // If tags option is unticked, add it to the list of classes. - if ( 1 != $tags_option && ! empty( $tags ) ) { - $elements[] = $tags; - } - - // If author option is unticked, add it to the list of classes. - if ( 1 != $author_option && ! empty( $author ) ) { - $elements[] = $author; - } - - // If comment option is unticked, add it to the list of classes. - if ( 1 != $comment_option && ! empty( $comment ) ) { - $elements[] = $comment; - } - - // Get the list of classes. - $elements = implode( ', ', $elements ); - - // Hide the classes with CSS. - $css = $elements . ' { clip: rect(1px, 1px, 1px, 1px); height: 1px; position: absolute; overflow: hidden; width: 1px; }'; - - // Add the CSS to the stylesheet. - wp_add_inline_style( $post_details['stylesheet'], $css ); -} -add_action( 'wp_enqueue_scripts', 'jetpack_post_details_enqueue_scripts' ); - -/** - * Adds custom classes to the array of body classes. - */ -function jetpack_post_details_body_classes( $classes ) { - // Make sure we can proceed. - list( $should_run, $options, $definied ) = jetpack_post_details_should_run(); - - if ( ! $should_run ) { - return $classes; - } - - list( $date_option, $categories_option, $tags_option, $author_option, $comment_option ) = $options; - list( $date, $categories, $tags, $author, $comment ) = $definied; - - // If date option is unticked, add a class of 'date-hidden' to the body. - if ( 1 != $date_option && ! empty( $date ) ) { - $classes[] = 'date-hidden'; - } - - // If categories option is unticked, add a class of 'categories-hidden' to the body. - if ( 1 != $categories_option && ! empty( $categories ) ) { - $classes[] = 'categories-hidden'; - } - - // If tags option is unticked, add a class of 'tags-hidden' to the body. - if ( 1 != $tags_option && ! empty( $tags ) ) { - $classes[] = 'tags-hidden'; - } - - // If author option is unticked, add a class of 'author-hidden' to the body. - if ( 1 != $author_option && ! empty( $author ) ) { - $classes[] = 'author-hidden'; - } - - // If comment option is unticked, add a class of 'comment-hidden' to the body. - if ( 1 != $comment_option && ! empty( $comment ) ) { - $classes[] = 'comment-hidden'; - } - - return $classes; -} -add_filter( 'body_class', 'jetpack_post_details_body_classes' ); - -/** - * Determines if Post Details should run. - */ -function jetpack_post_details_should_run() { - // Empty value representing falsy return value. - $void = array( false, null, null, null ); - - // If the theme doesn't support 'jetpack-content-options', don't continue. - if ( ! current_theme_supports( 'jetpack-content-options' ) ) { - return $void; - } - - $options = get_theme_support( 'jetpack-content-options' ); - $post_details = ( ! empty( $options[0]['post-details'] ) ) ? $options[0]['post-details'] : null; - - // If the theme doesn't support 'jetpack-content-options[ 'post-details' ]', don't continue. - if ( empty( $post_details ) ) { - return $void; - } - - $date = ( ! empty( $post_details['date'] ) ) ? $post_details['date'] : null; - $categories = ( ! empty( $post_details['categories'] ) ) ? $post_details['categories'] : null; - $tags = ( ! empty( $post_details['tags'] ) ) ? $post_details['tags'] : null; - $author = ( ! empty( $post_details['author'] ) ) ? $post_details['author'] : null; - $comment = ( ! empty( $post_details['comment'] ) ) ? $post_details['comment'] : null; - - // If there is no stylesheet and there are no date, categories, tags, author or comment declared, don't continue. - if ( - empty( $post_details['stylesheet'] ) - && ( empty( $date ) - || empty( $categories ) - || empty( $tags ) - || empty( $author ) - || empty( $comment ) ) - ) { - return $void; - } - - $date_option = get_option( 'jetpack_content_post_details_date', 1 ); - $categories_option = get_option( 'jetpack_content_post_details_categories', 1 ); - $tags_option = get_option( 'jetpack_content_post_details_tags', 1 ); - $author_option = get_option( 'jetpack_content_post_details_author', 1 ); - $comment_option = get_option( 'jetpack_content_post_details_comment', 1 ); - - $options = array( $date_option, $categories_option, $tags_option, $author_option, $comment_option ); - $definied = array( $date, $categories, $tags, $author, $comment ); - - // If all the options are ticked, don't continue. - if ( array( 1, 1, 1, 1, 1 ) === $options ) { - return $void; - } - - return array( true, $options, $definied, $post_details ); -} |