父类别/子类别帖子

时间:2019-03-15 作者:Paul

不确定这是否是最好的方法-很高兴改变-但我已经用子类别设置了许多类别。然后在我的登录页上列出父类别-我使用ACF选择我想要的分类法-

        <ul>

        <?php foreach( $terms as $term ): ?>

        <h2><?php echo $term->name; ?></h2>
        <p><?php echo $term->description; ?></p>


        <a href="<?php echo get_term_link( $term ); ?>">View all \'<?php echo $term->name; ?>\' posts</a>

        <?php endforeach; ?>


        </ul>

        <?php endif; ?>
上面的每个链接都将我带到类别。php,其中我列出了子类别:

        <?php 

                $term = get_queried_object();

                $children = get_terms( $term->taxonomy, array(
                    \'parent\'    => $term->term_id,
                    \'hide_empty\' => false
                ) );

                if ( $children ) { 

                foreach( $children as $subcat )
                {

                echo \'<li><a href="\' . esc_url(get_term_link($subcat, $subcat->taxonomy)) . \'">\' . $subcat->name . \'</a></li>\';
                }


                }


        ?>
问题是附加到子类别的链接保留在类别上。php页面,而不是子类别帖子。

如何将子类别链接定向到实际帖子?

以下是我的想法:

登录页(包含父类别列表)类别。php(包含子类别)子帖子

2 个回复
SO网友:Paul

好的,解决了!

我有一个帖子叫“Cardio”,其中有一个儿童分类名称“Cardio”。

我创建了一个有氧运动类别。php(cardio是子类别),但页面上没有显示与类别相同的帖子“cardio”。

<?php
/**
 * Cardio category template
 *
 * @package clf
 */

get_header(member);

?>
    <div id="primary" class="content-area">
        <main id="main" class="site-main">

<h1>category-cardio.php</h1>

    <?php $args = array(
        \'categroy_name\' => \'cardio\',    
    ) ?>

    <?php $the_query = new WP_Query( $args ); ?>

    <?php if ($the_query->have_posts()) : ?>

    <?php while ($the_query->have_posts()) : $the_query->the_post();

                echo the_content();

            endwhile;

        endif;
        ?>


        </main><!-- #main -->
    </div><!-- #primary -->

<?php
get_sidebar();
get_footer();

SO网友:Qaisar Feroz

这是正常的行为。ctaegory.php 模板是否用于显示类别的帖子(parent as well as child-categories), 但您使用它仅显示子类别。没有显示帖子,因为没有显示帖子的代码。

您可以通过在category.php 文件

// After your current code for displaying child categories
// Main loop
if( have_posts() ){
    while ( have_posts() ){
       the_post();
      //    Display post title, contents etc here

    }
 }
我希望这有帮助。

相关推荐

如何知道Get_Posts()是否失败?

因此,我看到get\\u posts()函数返回一个post数组。如果有帖子,它将返回一个帖子数组。如果没有帖子,它将返回一个空数组()。如果有帖子,但数据库查询失败(比如说,99.999%的次数返回正确,但这次由于某种原因失败),它将返回一个空数组。(重要提示:我不确定这一点,这是我在阅读此函数的工作原理时所理解的)。我的问题是:如果我使用这个函数,什么时候才能知道函数是否失败?(就像有些函数返回WP\\U错误一样。)