web-dev-qa-db-ja.com

カスタム分類アーカイブBUG

私の疲れた目に何かが欠けていて、新鮮な一組の眼球が私の欠けているものを捕らえるかもしれないと私は願っています。

私はcustom_projectsのカスタム投稿タイプに割り当てられた 'residence_project_types'のスラッグを持つカスタム分類法を持っています。分類からすべての用語を表示して、用語名とリンクを出力します。

その種類の仕事...

それぞれに対して単一の用語を表示するのではなく、その用語に含まれるすべての投稿に対して用語を表示しているように見えます。これはもちろん重複しています。さらに、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
user5176291

@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;
2
s t