我设法用全新的眼光来解决这个问题,但我认为如果其他人将来发现自己也有类似的问题,这对他们会很有用。如果答案需要整理,请随时提出修改建议。
为了解决这个问题,我不得不编辑几行代码,但这里又是完整的代码块。
首先,我必须添加一个额外的变量,通过在post输出的下面内部添加,将当前产品分类术语存储在另一个变量中。
$currentslug = $currentproduct->slug
然后我开始换电话
if ( $currentproduct->name = \'bottle\' ) {
在此注释中添加双“=”(表示
$currentslug
和
\'bottle\'
表示变量
$currentslug
将在每次运行循环时进行检查和重置,而不是检查
$currentproduct->name
在飞行中。如果我误解了这一点,请有人纠正我,但我假设
$currentproduct->name
不起作用,因为它没有存储在任何地方,以便稍后在循环中使用?
<?php if ($currentslug == \'bottle\') {
这使我能够识别要进入的隔离当前分类术语,并添加一个额外的调用,以从相关元字段中提取正确的附件缩略图。
我是通过
<?php
if (!empty($bottle)) {
$attachment_id = $bottle[id];
} else {
$attachment_id = NULL;
}
$bottlethumb = wp_get_attachment_image( $attachment_id, \'medium\' );
echo $bottlethumb
?>
最后是工作代码(我还需要添加一些位,但最初的问题已经解决)。
<?php $beertax_terms = get_terms( \'beer_tax\' ); ?>
<?php foreach($beertax_terms as $beertax_term) { ?>
<?php $currentproduct = $beertax_term ?>
<div class="beerproducts">
<h3><?php echo ($beertax_term->name) ?></h3>
<?php $beerbrewer_terms = get_terms( \'beer_brewery\' ); ?>
<?php foreach($beerbrewer_terms as $beerbrewer_term) { ?>
<div class="beerbrewery">
<h4><?php echo ($beerbrewer_term->name) ?></h4>
<?php $beerargs = array (
\'post_type\' => \'beer\',
\'orderby\' => \'name\',
\'order\' => \'ASC\',
\'tax_query\' => array(
\'relation\' => \'AND\',
array(
\'taxonomy\' => \'beer_tax\',
\'field\' => \'slug\',
\'terms\' => ($beertax_term->slug),
),
array(
\'taxonomy\' => \'beer_brewery\',
\'field\' => \'slug\',
\'terms\' => ($beerbrewer_term->slug),
),
),
); ?>
<?php $the_query = new WP_Query( $beerargs ); ?>
<?php if ($the_query->have_posts()) { ?>
<?php while ($the_query->have_posts()) { ?>
<?php $the_query->the_post(); ?>
<?php $cask = get_post_meta($post->ID, \'beer_caskthumb\', true); ?>
<?php $keg = get_post_meta($post->ID, \'beer_kegthumb\', true); ?>
<?php $bottle = get_post_meta($post->ID, \'beer_bottlethumb\', true); ?>
<?php $currentslug = $currentproduct->slug ?>
<a href="<?php the_permalink();?>" rel="bookmark">
<div class="beer">
<?php if ($currentslug == \'bottle\') { ?>
<!--bottle-->
<?php if (!empty($bottle)) {
$attachment_id = $bottle[id];
} else {
$attachment_id = NULL;
}
$bottlethumb = wp_get_attachment_image( $attachment_id, \'medium\' );
echo $bottlethumb ?>
<?php } if ($currentslug == \'cask\') { ?>
<!--cask-->
<?php if (!empty($bottle)) {
$attachment_id = $cask[id];
} else {
$attachment_id = NULL;
}
$caskthumb = wp_get_attachment_image( $attachment_id, \'medium\' );
echo $caskthumb ?>
<?php } if ($currentslug == \'keg\') { ?>
<!--keg-->
<?php if (!empty($keg)) {
$attachment_id = $keg[id];
} else {
$attachment_id = NULL;
}
$kegthumb = wp_get_attachment_image( $attachment_id, \'medium\' );
echo $kegthumb ?>
<?php } ?>
</div>
</a>
<?php } ?>
<?php wp_reset_query(); wp_reset_postdata();?>
<? } ?>
<?php wp_reset_postdata(); ?>
<!--close beerbrewer-->
</div>
<?php } ?>
<?php wp_reset_query(); ?>
<!--close beerproducts-->
</div>
<?php } ?>