Automattic /
jetpack
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | /** |
||
| 3 | * Content Options. |
||
| 4 | * |
||
| 5 | * This feature will only be activated for themes that declare their support. |
||
| 6 | * This can be done by adding code similar to the following during the |
||
| 7 | * 'after_setup_theme' action: |
||
| 8 | * |
||
| 9 | add_theme_support( 'jetpack-content-options', array( |
||
| 10 | 'blog-display' => 'content', // the default setting of the theme: 'content', 'excerpt' or array( 'content', 'excerpt' ) for themes mixing both display. |
||
| 11 | 'author-bio' => true, // display or not the author bio: true or false. |
||
| 12 | 'author-bio-default' => false, // the default setting of the author bio, if it's being displayed or not: true or false (only required if false). |
||
| 13 | 'masonry' => '.site-main', // a CSS selector matching the elements that triggers a masonry refresh if the theme is using a masonry layout. |
||
| 14 | 'post-details' => array( |
||
| 15 | 'stylesheet' => 'themeslug-style', // name of the theme's stylesheet. |
||
| 16 | 'date' => '.posted-on', // a CSS selector matching the elements that display the post date. |
||
| 17 | 'categories' => '.cat-links', // a CSS selector matching the elements that display the post categories. |
||
| 18 | 'tags' => '.tags-links', // a CSS selector matching the elements that display the post tags. |
||
| 19 | 'author' => '.byline', // a CSS selector matching the elements that display the post author. |
||
| 20 | 'comment' => '.comments-link', // a CSS selector matching the elements that display the comment link. |
||
| 21 | ), |
||
| 22 | 'featured-images' => array( |
||
| 23 | 'archive' => true, // enable or not the featured image check for archive pages: true or false. |
||
| 24 | 'archive-default' => false, // the default setting of the featured image on archive pages, if it's being displayed or not: true or false (only required if false). |
||
| 25 | 'post' => true, // enable or not the featured image check for single posts: true or false. |
||
| 26 | 'post-default' => false, // the default setting of the featured image on single posts, if it's being displayed or not: true or false (only required if false). |
||
| 27 | 'page' => true, // enable or not the featured image check for single pages: true or false. |
||
| 28 | 'page-default' => false, // the default setting of the featured image on single pages, if it's being displayed or not: true or false (only required if false). |
||
| 29 | 'fallback' => true, // enable or not the featured image fallback: true or false. |
||
| 30 | 'fallback-default' => true, // the default setting for featured image fallbacks: true or false (only required if false) |
||
| 31 | ), |
||
| 32 | ) ); |
||
| 33 | * |
||
| 34 | */ |
||
| 35 | |||
| 36 | /** |
||
| 37 | * Activate the Content Options plugin. |
||
| 38 | * |
||
| 39 | * @uses current_theme_supports() |
||
| 40 | */ |
||
| 41 | function jetpack_content_options_init() { |
||
| 42 | // If the theme doesn't support 'jetpack-content-options', don't continue. |
||
| 43 | if ( ! current_theme_supports( 'jetpack-content-options' ) ) { |
||
| 44 | return; |
||
| 45 | } |
||
| 46 | |||
| 47 | // Load the Customizer options. |
||
| 48 | require( dirname( __FILE__ ) . '/content-options/customizer.php' ); |
||
| 49 | |||
| 50 | // Load Blog Display function. |
||
| 51 | require( dirname( __FILE__ ) . '/content-options/blog-display.php' ); |
||
| 52 | |||
| 53 | // Load Author Bio function. |
||
| 54 | require( dirname( __FILE__ ) . '/content-options/author-bio.php' ); |
||
| 55 | |||
| 56 | // Load Post Details function. |
||
| 57 | require( dirname( __FILE__ ) . '/content-options/post-details.php' ); |
||
| 58 | |||
| 59 | // Load Featured Images function. |
||
| 60 | if ( jetpack_featured_images_should_load() ) { |
||
| 61 | require( dirname( __FILE__ ) . '/content-options/featured-images.php' ); |
||
| 62 | } |
||
| 63 | |||
| 64 | // Load Featured Images Fallback function. |
||
| 65 | if ( jetpack_featured_images_fallback_should_load() ) { |
||
| 66 | require( dirname( __FILE__ ) . '/content-options/featured-images-fallback.php' ); |
||
| 67 | } |
||
| 68 | } |
||
| 69 | add_action( 'init', 'jetpack_content_options_init' ); |
||
| 70 | |||
| 71 | function jetpack_featured_images_get_settings() { |
||
| 72 | $options = get_theme_support( 'jetpack-content-options' ); |
||
|
0 ignored issues
–
show
|
|||
| 73 | |||
| 74 | $featured_images = ( ! empty( $options[0]['featured-images'] ) ) ? $options[0]['featured-images'] : null; |
||
| 75 | |||
| 76 | $settings = array( |
||
| 77 | 'archive' => ( ! empty( $featured_images['archive'] ) ) ? $featured_images['archive'] : null, |
||
| 78 | 'post' => ( ! empty( $featured_images['post'] ) ) ? $featured_images['post'] : null, |
||
| 79 | 'page' => ( ! empty( $featured_images['page'] ) ) ? $featured_images['page'] : null, |
||
| 80 | 'archive-default' => ( isset( $featured_images['archive-default'] ) && false === $featured_images['archive-default'] ) ? '' : 1, |
||
| 81 | 'post-default' => ( isset( $featured_images['post-default'] ) && false === $featured_images['post-default'] ) ? '' : 1, |
||
| 82 | 'page-default' => ( isset( $featured_images['page-default'] ) && false === $featured_images['page-default'] ) ? '' : 1, |
||
| 83 | 'fallback' => ( ! empty( $featured_images['fallback'] ) ) ? $featured_images['fallback'] : null, |
||
| 84 | 'fallback-default' => ( isset( $featured_images['fallback-default'] ) && false === $featured_images['fallback-default'] ) ? '' : 1, |
||
| 85 | ); |
||
| 86 | |||
| 87 | $settings = array_merge( $settings, array( |
||
| 88 | 'archive-option' => get_option( 'jetpack_content_featured_images_archive', $settings['archive-default'] ), |
||
| 89 | 'post-option' => get_option( 'jetpack_content_featured_images_post', $settings['post-default'] ), |
||
| 90 | 'page-option' => get_option( 'jetpack_content_featured_images_page', $settings['page-default'] ), |
||
| 91 | 'fallback-option' => get_option( 'jetpack_content_featured_images_fallback', $settings['fallback-default'] ), |
||
| 92 | ) ); |
||
| 93 | |||
| 94 | return $settings; |
||
| 95 | } |
||
| 96 | |||
| 97 | function jetpack_featured_images_should_load() { |
||
| 98 | // If the theme doesn't support post thumbnails, don't continue. |
||
| 99 | if ( ! current_theme_supports( 'post-thumbnails' ) ) { |
||
| 100 | return false; |
||
| 101 | } |
||
| 102 | |||
| 103 | $opts = jetpack_featured_images_get_settings(); |
||
| 104 | |||
| 105 | // If the theme doesn't support archive, post and page or if all the options are ticked and we aren't in the customizer, don't continue. |
||
| 106 | if ( |
||
| 107 | ( true !== $opts['archive'] && true !== $opts['post'] && true !== $opts['page'] ) |
||
| 108 | || ( 1 === $opts['archive-option'] && 1 === $opts['post-option'] && 1 === $opts['page-option'] && ! is_customize_preview() ) |
||
| 109 | ) { |
||
| 110 | return false; |
||
| 111 | } |
||
| 112 | |||
| 113 | return true; |
||
| 114 | } |
||
| 115 | |||
| 116 | function jetpack_featured_images_fallback_should_load() { |
||
| 117 | // If the theme doesn't support post thumbnails, don't continue. |
||
| 118 | if ( ! current_theme_supports( 'post-thumbnails' ) ) { |
||
| 119 | return false; |
||
| 120 | } |
||
| 121 | |||
| 122 | $opts = jetpack_featured_images_get_settings(); |
||
| 123 | |||
| 124 | // If the theme doesn't support fallback, don't continue. |
||
| 125 | if ( true !== $opts['fallback'] ) { |
||
| 126 | return false; |
||
| 127 | } |
||
| 128 | |||
| 129 | return true; |
||
| 130 | } |
||
| 131 |
This check looks for improperly formatted assignments.
Every assignment must have exactly one space before and one space after the equals operator.
To illustrate:
will have no issues, while
will report issues in lines 1 and 2.