我正在使用自定义帖子类型的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
是一个分类法字段。使用上面显示的代码片段,它只显示那里的所有“产品”帖子。我也尝试使用带分类标本的文本字段。如果我没有使用第一个if语句(<?php if( get_field(‘collectiona’) ): ?>
),并且如果该语句存在 - 它会发生同样的事情,它显示第一个Feed非常好。显示所有“产品”。然而,即使第一次进料显示正常,第二次进料仍显示所有“产品”。尽管分类标本说什么。
我正在努力构建它,管理员可以选择下拉分类法。带有分类标本的文本字段就是一个例子。 附: 我使用术语对象 完整的模板代码在这里jsfiddle.net/pudfbxhv。我知道jsfiddle对于wp模板没用,但这是一段相当大的代码
修改
这是更新的代码
<?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(); ?>
答案 0 :(得分: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(); ?>