X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/wordpress.git/blobdiff_plain/ceb5a929e00123b4e224977c6b5a149f6431b250..41578db67d72562346e4dbb2a14889b23d522813:/wp-content/themes/twentyfourteen/inc/featured-content.php
diff --git a/wp-content/themes/twentyfourteen/inc/featured-content.php b/wp-content/themes/twentyfourteen/inc/featured-content.php
index 64858745..3f9dc411 100644
--- a/wp-content/themes/twentyfourteen/inc/featured-content.php
+++ b/wp-content/themes/twentyfourteen/inc/featured-content.php
@@ -86,6 +86,7 @@ class Featured_Content {
add_filter( $filter, array( __CLASS__, 'get_featured_posts' ) );
add_action( 'customize_register', array( __CLASS__, 'customize_register' ), 9 );
add_action( 'admin_init', array( __CLASS__, 'register_setting' ) );
+ add_action( 'switch_theme', array( __CLASS__, 'delete_transient' ) );
add_action( 'save_post', array( __CLASS__, 'delete_transient' ) );
add_action( 'delete_post_tag', array( __CLASS__, 'delete_post_tag' ) );
add_action( 'customize_controls_enqueue_scripts', array( __CLASS__, 'enqueue_scripts' ) );
@@ -168,7 +169,7 @@ class Featured_Content {
// Query for featured posts.
$featured = get_posts( array(
- 'numberposts' => $settings['quantity'],
+ 'numberposts' => self::$max_posts,
'tax_query' => array(
array(
'field' => 'term_id',
@@ -203,7 +204,7 @@ class Featured_Content {
*/
public static function get_sticky_posts() {
$settings = self::get_setting();
- return array_slice( get_option( 'sticky_posts', array() ), 0, $settings['quantity'] );
+ return array_slice( get_option( 'sticky_posts', array() ), 0, self::$max_posts );
}
/**
@@ -283,7 +284,6 @@ class Featured_Content {
* @since Twenty Fourteen 1.0
*
* @param int $tag_id The term_id of the tag that has been deleted.
- * @return void
*/
public static function delete_post_tag( $tag_id ) {
$settings = self::get_setting();
@@ -329,8 +329,9 @@ class Featured_Content {
return $terms;
}
+ $settings = self::get_setting();
foreach( $terms as $order => $term ) {
- if ( self::get_setting( 'tag-id' ) == $term->term_id && 'post_tag' == $term->taxonomy ) {
+ if ( ( $settings['tag-id'] === $term->term_id || $settings['tag-name'] === $term->name ) && 'post_tag' === $term->taxonomy ) {
unset( $terms[ $order ] );
}
}
@@ -372,8 +373,9 @@ class Featured_Content {
return $terms;
}
+ $settings = self::get_setting();
foreach( $terms as $order => $term ) {
- if ( self::get_setting( 'tag-id' ) == $term->term_id ) {
+ if ( ( $settings['tag-id'] === $term->term_id || $settings['tag-name'] === $term->name ) && 'post_tag' === $term->taxonomy ) {
unset( $terms[ $term->term_id ] );
}
}
@@ -387,8 +389,6 @@ class Featured_Content {
* @static
* @access public
* @since Twenty Fourteen 1.0
- *
- * @return void
*/
public static function register_setting() {
register_setting( 'featured-content', 'featured-content', array( __CLASS__, 'validate_settings' ) );
@@ -406,14 +406,17 @@ class Featured_Content {
public static function customize_register( $wp_customize ) {
$wp_customize->add_section( 'featured_content', array(
'title' => __( 'Featured Content', 'twentyfourteen' ),
- 'description' => sprintf( __( 'Use the "featured" tag to feature your posts. You can change this to a tag of your choice; if no posts match the tag, sticky posts will be displayed instead.', 'twentyfourteen' ), admin_url( '/edit.php?tag=featured' ), admin_url( '/edit.php?show_sticky=1' ) ),
+ 'description' => sprintf( __( 'Use a tag to feature your posts. If no posts match the tag, sticky posts will be displayed instead.', 'twentyfourteen' ),
+ esc_url( add_query_arg( 'tag', _x( 'featured', 'featured content default tag slug', 'twentyfourteen' ), admin_url( 'edit.php' ) ) ),
+ admin_url( 'edit.php?show_sticky=1' )
+ ),
'priority' => 130,
'theme_supports' => 'featured-content',
) );
// Add Featured Content settings.
$wp_customize->add_setting( 'featured-content[tag-name]', array(
- 'default' => 'featured',
+ 'default' => _x( 'featured', 'featured content default tag slug', 'twentyfourteen' ),
'type' => 'option',
'sanitize_js_callback' => array( __CLASS__, 'delete_transient' ),
) );
@@ -472,14 +475,12 @@ class Featured_Content {
$defaults = array(
'hide-tag' => 1,
- 'quantity' => 6,
'tag-id' => 0,
- 'tag-name' => 'featured',
+ 'tag-name' => _x( 'featured', 'featured content default tag slug', 'twentyfourteen' ),
);
$options = wp_parse_args( $saved, $defaults );
$options = array_intersect_key( $options, $defaults );
- $options['quantity'] = self::sanitize_quantity( $options['quantity'] );
if ( 'all' != $key ) {
return isset( $options[ $key ] ) ? $options[ $key ] : false;
@@ -523,10 +524,6 @@ class Featured_Content {
$output['tag-name'] = $input['tag-name'];
}
- if ( isset( $input['quantity'] ) ) {
- $output['quantity'] = self::sanitize_quantity( $input['quantity'] );
- }
-
$output['hide-tag'] = isset( $input['hide-tag'] ) && $input['hide-tag'] ? 1 : 0;
// Delete the featured post ids transient.
@@ -534,29 +531,6 @@ class Featured_Content {
return $output;
}
-
- /**
- * Sanitize quantity of featured posts.
- *
- * @static
- * @access public
- * @since Twenty Fourteen 1.0
- *
- * @param int $input The value to sanitize.
- * @return int A number between 1 and FeaturedContent::$max_posts.
- */
- public static function sanitize_quantity( $input ) {
- $quantity = absint( $input );
-
- if ( $quantity > self::$max_posts ) {
- $quantity = self::$max_posts;
- } else if ( 1 > $quantity ) {
- $quantity = 1;
- }
-
- return $quantity;
- }
-
} // Featured_Content
Featured_Content::setup();