Query più efficiente per visualizzare i post nella stessa sottocategoria?

[EDIT: vedere il mio commento qui sotto, potrei essere stato ingannato da Chrome nella cache di una versione precedente di questo codice. Ora sembra funzionare abbastanza rapidamente. Lasciando la domanda nel caso in cui qualcuno veda un modo migliore, ma non preoccuparti troppo se non lo farò – chiuderò questo entro un paio di giorni.]

Molte persone hanno pubblicato un codice come questo per mostrare “post correlati” nella barra laterale e l’ho adattato a uno shortcode. Funziona, ma richiede 1-2 secondi per caricare su localhost. Posso aggiungere il caching transitorio ma dato che è una query tipo per post che non aiuterà una tonnellata (non credo?). C’è un modo più efficiente per scrivere questo?

// SHORTCODE TO SHOW RELATED POSTS IN SIDEBAR // Shows posts in the same sub-category as the current post // usage: [related_posts posts="5"] add_shortcode( 'related_posts', 'mkm_related_posts_shortcode' ); function mkm_related_posts_shortcode( $atts ) { ob_start(); $current_post_id = get_queried_object_id(); // define attributes and their defaults extract( shortcode_atts( array ( 'type' => 'post', 'order' => 'asc', 'orderby' => 'menu_order', 'posts' => '3', ), $atts ) ); $categories = get_the_category($current_post_id); if ($categories) { $category_ids = array(); foreach($categories as $individual_category) { // looking only for current sub-categories if ( $individual_category->parent !== 0 ) { $category_ids[] = $individual_category->term_id; } } } $options = array( 'post_type' => $type, 'order' => $order, 'orderby' => $orderby, 'posts_per_page' => $posts, 'category__in' => $category_ids, 'post__not_in' => array($current_post_id), ); $related_query = new WP_Query( $options ); $output = ''; // run the loop based on the query if ( $related_query->have_posts() ) { $alttext = the_title_attribute('echo=0'); $output .= ''; } ob_get_clean(); wp_reset_postdata(); return $output; } 

Grazie!

Solutions Collecting From Web of "Query più efficiente per visualizzare i post nella stessa sottocategoria?"