定制存档.php:检索正确的帖子类别?

时间:2017-08-09 作者:Requin

我正在使用一个子主题来编辑归档文件。php。当有人单击一篇文章的类别时,我希望归档页面显示同时共享该文章所有类别的所有文章。

这是我的代码:

    <?php 

    $post_cats = wp_get_post_categories( get_the_id() );

    $myquery= new WP_Query( array(
        \'category__and\' => $post_cats,
    ) );

    if($myquery->have_posts()) :  ?>

        <header class="page-header">
            <?php
                the_archive_title( \'<h1 class="page-title">\', \'</h1>\' );
                the_archive_description( \'<div class="taxonomy-description">\', \'</div>\' );
            ?>

        </header><!-- .page-header -->

        <?php

            while($myquery->have_posts()) : 
            $myquery->the_post();

            get_template_part( \'template-parts/content\', get_post_format() );

        endwhile;

        the_posts_pagination( array(
            \'prev_text\'          => __( \'Previous page\', \'twentysixteen\' ),
            \'next_text\'          => __( \'Next page\', \'twentysixteen\' ),
            \'before_page_number\' => \'<span class="meta-nav screen-reader-text">\' . __( \'Page\', \'twentysixteen\' ) . \' </span>\',
        ) );

    else :
        get_template_part( \'template-parts/content\', \'none\' );

    endif;
    ?>
奇怪的是,我的归档页面现在总是显示完全共享类别23和11的帖子,即使帖子的类别与这些不同!

其他信息,可能与问题有关:在使用此代码解决方案之前,我使用了其他解决方案,其中我还使用了\'category__and\' => array(23,11); 这是为了弄清楚主要功能,然后我安装了wp_get_post_categories 部分也许这就是23,11 来自,但我不知道它们现在是如何修复的,为什么修复的。。。

感谢每一个提示!

Requin公司

1 个回复
SO网友:Tom Webb

wp\\u get\\u post\\u categories函数将返回循环中第一篇文章的类别,而不是用户刚刚单击的文章。

您需要传递上一篇文章中的类别,以便在自定义循环中使用。

结束

相关推荐

wp_list_categories + widget

使用下面的代码,我添加了一个span标记,并将类别计数放置在链接中。add_filter(\'wp_list_categories\', \'cat_count_span\'); function cat_count_span($links) { $links = str_replace(\'</a> (\', \'<span>\', $links); $links = str_replace(\')\', \'<