Аномалия количества запросов к бд
-
Здравствуйте.
Наблюдаю такую картину, в шаблоне категории вывожу категории к которым принадлежит запись.<?php if (have_posts()) : while (have_posts()) : the_post(); ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <div class="block-content"> <?php $post_url = get_the_permalink(); $post_id = get_the_id(); $post_name = get_the_title(); echo '<h3 class="entry-title"><a href="'.$post_url.'" rel="bookmark">'.$post_name.' ('.get_post_meta($post_id, 'god', true).')</a></h3>'; ?> <?php if ( has_post_thumbnail() ): ?> <div class="block-left"> <a href="<?php echo $post_url; ?>" title="<?php echo $post_name; ?>" > <?php the_post_thumbnail( ); ?> </a> </div> <?php endif; ?> <div class="block-right"> <table class="category_film"> <tr> <td>Жанр:</td><td class=""> <?php foreach((get_the_category()) as $childcat) { if (cat_is_ancestor_of(1, $childcat)) { echo '<a href="'.get_category_link($childcat->cat_ID).'"><span>'; echo $childcat->cat_name . '</span></a>'; }} ?></td> </tr> <tr> <td>Страна:</td> <td class=""> <?php foreach((get_the_category()) as $childcat) { if (cat_is_ancestor_of(4, $childcat)) { echo '<a href="'.get_category_link($childcat->cat_ID).'"><span>'; echo $childcat->cat_name . '</span></a>'; }} ?> </td> </tr> <tr> <td>Режиссёр:</td> <td class=""> <?php foreach((get_the_category()) as $childcat) { if (cat_is_ancestor_of(3, $childcat)) { echo '<a href="'.get_category_link($childcat->cat_ID).'"><span>'; echo $childcat->cat_name . '</span></a>'; }} ?> </td> </tr> <tr> <td>В ролях:</td> <td class=""> <?php $args=array('orderby' => 'none'); $terms = wp_get_post_terms( $post_id , 'category', $args); $p=0; foreach($terms as $term) { if (cat_is_ancestor_of(2, $term)) { $p = $p+1; if ($p<=6) { echo '<a href="' . esc_attr(get_term_link($term, 'category')) . '" ' . '><span itemprop="name">' . $term->name.'</span></a> '; } }} ?> </td> </tr> </table> <div class='film_desc'><?php echo wp_trim_words(get_post_meta($post_id, 'description', true), 27); ?></div> <a href="<?php echo $post_url; ?>" title="<?php echo "Фильм $post_name смотреть онлайн"; ?>" ><div class="button-online">Смотреть онлайн</div></a> </div> <div class="entry-summary"> </div><!-- .entry-summary --> </div> </article><!-- #post-## --> <?php endwhile; ?> <?php endif; ?>
Количество запросов к бд в данном варианте — 49
Если мы добавим строчку$args = array( 'child_of' => 1 ); $categories = get_categories($args);
где нибудь над выводом категорий самой записи, то это сократит количество запросов с 49 до 23.
если вставить эту строчку сразу под выводом категорий записи, то запросов будет 37.Это что, баг? Или я чего то не понимаю…
Просмотр 7 ответов — с 1 по 7 (всего 7)
Просмотр 7 ответов — с 1 по 7 (всего 7)
- Тема «Аномалия количества запросов к бд» закрыта для новых ответов.