我使用WordPress自定义张贴类型UI插件和ACF插件。 尝试通过自定义自定义分类法构建包含多个自定义帖子类型的“单个”模板。使用这些代码,通过一些变化来弄清楚我做错了什么。ACF通过自定义分类法自定义张贴源
得到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
是一个分类字段。使用上面显示的这段代码,它只显示了那里的所有“产品”帖子。我也尝试过使用分类学slu text的文本字段。它显示第一个馈送完全正确,如果我不使用第一个if语句(<?php if(get_field(‘collectiona’)): ?>
),并且该语句存在 - 同样的事情发生。显示所有“产品”。然而,即使第一饲料表现良好,第二饲料仍然显示出所有“产品”。尽管什么分类学slu says说。
我试图建立它的方式,管理员可以选择一个下拉分类。带有分类slu Text的文本字段就是一个例子。 p.s. 我使用术语对象 完整的模板代码在这里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(); ?>
后是什么的var_dump'值(get_field( 'collectiona'));' –
布尔(假),但价值在帖子编辑器中被选中 – archibib
然后,你并没有在单个页面上使用这个函数,你正在使用它的背景下,这就是为什么你没有价值。或者您在单个模板上的某处使用'query_posts',**将**传递错误信息 –