Custom Taxonomy Archive BUG

时间:2017-04-25 作者:user5176291

我希望这只是我疲惫的眼睛错过了什么,一双新的眼球可能会捕捉到我错过的东西。

我有一个自定义分类法,其中有一段“residential\\u project\\u types”,分配给一个自定义post类型的residential\\u项目。我想显示分类法中的所有术语,输出术语名称和链接。

它的工作方式。。。

它似乎为术语中包含的每个帖子显示一个术语,而不是为每个帖子显示一个术语。这当然是在创建副本。此外,HTML没有正确显示,导致元素奇怪的重叠。

我的直觉是有什么东西弄乱了循环。。。?但我还没弄明白。非常感谢所有帮助!

这里有一个指向破损/故障页面的链接:http://desarch.robertrhu.net/residential/

以下是我编写的代码:

<?php
    $terms = get_terms( array(
        \'taxonomy\'   => \'residential_project_types\',
        \'orderby\'    => \'count\',
        \'hide_empty\' => false,
        \'fields\'     => \'all\'
    ) );
?>

<?php
    foreach( $terms as $term ) {

    $args = array(
        \'post_type\' => \'residential_projects\',
        \'residential_project_types\' => $term->slug
    );

    $term_link = get_term_link( $term );

    $query = new WP_Query( $args );

    if ( $query->have_posts() ) :
        /* Start the Loop */
        while ( $query->have_posts() ) : $query->the_post(); ?>
        <a class="property-thumb-link"
           href="<?php echo $term_link; ?>">
            <div class="property-thumb column medium-6 small-12">

                <img src="<?php the_field(\'category_image\', $term); ?>"
                     alt="<?php the_field (\'category_image_alt\', $term); ?>" />

                <div class="property-thumb-title">
                    <h2>
                        <?php echo $term->name; ?>
                    </h2>
                </div>
            </div>
        </a>
     <?php wp_reset_postdata();
    endwhile;
 endif; }?>

1 个回复
最合适的回答,由SO网友:s t 整理而成

正如@mmm所提到的,你在术语上循环,在每个术语中,你在每个项目上循环-然而,我认为这是你想要做的:

$terms = get_terms( array(
    \'taxonomy\'   => \'residential_project_types\',
    \'orderby\'    => \'count\',
    \'hide_empty\' => true
) );

foreach( $terms as $term ) :
?>
    <a class="property-thumb-link"
       href="<?php echo get_term_link( $term ); ?>">
        <div class="property-thumb column medium-6 small-12">

            <img src="<?php the_field(\'category_image\', $term); ?>"
                 alt="<?php the_field (\'category_image_alt\', $term); ?>" />

            <div class="property-thumb-title">
                <h2>
                    <?php echo $term->name; ?>
                </h2>
            </div>
        </div>
    </a>
<?php
endforeach;