在我的自定义帖子类型中,我希望允许“管理员”从另一个自定义帖子类型分类中提取相关帖子。管理员应该能够将分类法放在自定义字段中,这将从他们选择的分类法中查询帖子。
自定义字段是“featured\\u product\\u tag”-在该字段中,将从“products”帖子类型中提取分类法。为什么这样不行?提前感谢您的帮助。
$foo = get_post_meta( $post->ID, \'featured_product_tag\', true );
与正确的分类法相呼应,但它并不是从这个分类法中提取的。
<?php
$foo = get_post_meta( $post->ID, \'featured_product_tag\', true );
$args = array(
\'post_type\'=> \'products\',
\'taxonomy\' => $foo,
\'order\' => \'rand\',
\'showposts\' => \'4\'
);
$the_query = new WP_Query( $args );
if($the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();
?>
<?php
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), \'thumbnail\' );
$url = $thumb[\'0\'];
?>
<a href="<?php echo get_permalink( $post->ID ); ?>">
<div class="related-featured">
<img src="<?=$url?>" style="max-height: 180px;" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" />
<span class="small-text-p"><i>from</i> <?php echo get_post_meta(get_the_id(), \'price_low\', \'true\'); ?></small>
</div></a>
<?php endwhile; else: ?>
<?php endif; wp_reset_postdata(); ?>
<?php endif; ?>
最合适的回答,由SO网友:CodeMascot 整理而成
无法基于运行查询taxonomy 只有您还需要提供与自定义post类型post关联的分类术语。更改您的$args
如下所示-
$args = array(
\'post_type\'=> \'products\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'cosmetics\', // your taxonomy
\'field\' => \'term_id\',
\'terms\' => get_term_by(\'name\', $foo, \'cosmetics\')->term_id, // your taxonomy term id or array of id\'s
)
),
\'order\' => \'rand\',
\'showposts\' => \'4\'
);
有关的更多信息
WP_Query()
请提供参数
read this.