首页 文章

自定义分类法的ACF自定义帖子提要

提问于
浏览
1

我正在使用自定义帖子类型UI插件和ACF插件的wordpress . 尝试通过自定义自定义分类法构建包含多个自定义帖子类型源的“单个”模板 . 使用此代码,通过一些变化来弄清楚我做错了什么 .

连续得到2条这样的代码

<?php if( get_field('collectiona') ): 
    $argsc = array(
      'post_type' => 'products',
      'product-collections' => get_field('collectiona'),
    );
    $prods2 = new WP_Query( $argsc );
    if( $prods2->have_posts() ) {
      while( $prods2->have_posts() ) {
        $prods2->the_post();
        ?> 
       Whatever post code
      <?php
      }
    }
    else {
      echo '';
    }
  ?>
<?php endif; ?>

collectiona 是一个分类学领域 . 使用上面显示的代码片段,它只显示那里的所有“产品”帖子 . 我也尝试使用带分类标本的文本字段 . 它显示第一个Feed非常好,如果我没有使用第一个if语句( <?php if( get_field(‘collectiona’) ): ?> ),并且如果该语句存在 - 同样的事情发生 . 显示所有“产品” . 然而,即使第一次进料显示正常,第二次进料仍显示所有“产品” . 尽管分类标本说什么 .

我正在努力构建它,管理员可以选择下拉分类法 . 带有分类标本的文本字段就是一个例子 . 附:我使用术语对象完整的模板代码在这里jsfiddle.net/pudfbxhv . 我知道jsfiddle对wp模板没用,但这是一段相当大的代码

EDIT

这是更新的代码

<?php
            $taxterms = get_field("collectiona"); ?>                

                <?php
                $args = array(
                    'post_type' => 'products',
                    'tax_query' => array(
                        array(
                            'taxonomy' => 'product-collections',
                            'field' => 'id',
                            'terms' => $taxterm->term_id
                        )
                    )
                );

                $myquery = new WP_Query( $args );
                if($myquery->have_posts()) : ?>

                    <ul>
                        <?php while ( $myquery->have_posts() ) : $myquery->the_post(); ?>
                            <li> <a href="<?php the_permalink(); ?>"><img src="<?php the_field('prod_featured_image'); ?>" onmouseover="this.src='<?php the_field('prod_hover_featured_image'); ?>'" onmouseout="this.src='<?php the_field('prod_featured_image'); ?>'" /></a>
                                                             <h2><?php the_field('prod_subtitle'); ?></h2>
                                                             <p>$<?php the_field('prod_price'); ?></p>
                                                            </li>
                        <?php endwhile; ?>
                    </ul>
                <?php endif; ?>
                <?php wp_reset_query(); ?>

1 回答

  • 0

    嗯,这可能是一种变态,但它对我有用 .

    $termss = get_field('collectiona');
        $slll = $termss->slug;
        $args = array(
          'post_type' => 'products',
          'product-collections' => $slll,
        );
        $lineblocks = new WP_Query( $args );
        if( $lineblocks->have_posts() ) {
          while( $lineblocks->have_posts() ) {
            $lineblocks->the_post();
    

    此外,必须记住在每个数组后面放置以下代码

    <?php wp_reset_query(); ?>
    

相关问题