我正在使用自定义帖子类型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 回答
嗯,这可能是一种变态,但它对我有用 .
此外,必须记住在每个数组后面放置以下代码