Ticket #26744: 26744.diff
File 26744.diff, 2.4 KB (added by , 11 years ago) |
---|
-
wp-content/themes/twentyfourteen/inc/featured-content.php
150 150 * @return array Array of post IDs. 151 151 */ 152 152 public static function get_featured_post_ids() { 153 // Returnarray of cached results if they exist.153 // Get array of cached results if they exist. 154 154 $featured_ids = get_transient( 'featured_content_ids' ); 155 if ( ! empty( $featured_ids ) ) {156 return array_map( 'absint', (array) $featured_ids );157 }158 155 159 $settings = self::get_setting(); 156 if ( false === $featured_ids ) { 157 $settings = self::get_setting(); 158 $term = get_term_by( 'name', $settings['tag-name'], 'post_tag' ); 160 159 161 // Return sticky post ids if no tag name is set. 162 $term = get_term_by( 'name', $settings['tag-name'], 'post_tag' ); 163 if ( $term ) { 164 $tag = $term->term_id; 165 } else { 166 return self::get_sticky_posts(); 167 } 168 169 // Query for featured posts. 170 $featured = get_posts( array( 171 'numberposts' => $settings['quantity'], 172 'tax_query' => array( 173 array( 174 'field' => 'term_id', 175 'taxonomy' => 'post_tag', 176 'terms' => $tag, 177 ), 178 ), 179 ) ); 160 if ( $term ) { 161 // Query for featured posts. 162 $featured = get_posts( array( 163 'numberposts' => $settings['quantity'], 164 'tax_query' => array( 165 array( 166 'field' => 'term_id', 167 'taxonomy' => 'post_tag', 168 'terms' => $tag, 169 ), 170 ), 171 ) ); 180 172 181 // Return array with sticky posts if no Featured Content exists.182 if ( ! $featured ) {183 return self::get_sticky_posts();184 }173 if ( $featured ) { 174 $featured_ids = wp_list_pluck( (array) $featured, 'ID' ); 175 } 176 } 185 177 186 // Ensure correct format before save/return. 187 $featured_ids = wp_list_pluck( (array) $featured, 'ID' ); 188 $featured_ids = array_map( 'absint', $featured_ids ); 178 // Get sticky posts if no Featured Content exists. 179 if ( ! $featured_ids ) { 180 $featured_ids = self::get_sticky_posts(); 181 } 189 182 190 set_transient( 'featured_content_ids', $featured_ids ); 183 set_transient( 'featured_content_ids', $featured_ids ); 184 } 191 185 192 return $featured_ids; 186 // Ensure correct format before return. 187 return array_map( 'absint', (array) $featured_ids ); 193 188 } 194 189 195 190 /**