我在尝试显示前端某些类别的帖子时遇到了一些问题。我创建了一个自定义字段,其关键字是' related_categories'我有不同的类别,例如“军队”,“海军”,“空军”和“空军”等。等。
创建新的自定义帖子时,我会在' related_categories'内输入不同类别的slu ..自定义字段,例如' navy' airforce',这是我在模板文件中用来回显“tax_query”中的自定义字段值的代码。阵列。
<?php global $post;
$related = array ( get_post_meta($post->ID, 'related_categories', true) );
$the_query = new WP_Query( array( 'post_type' => 'medals', 'posts_per_page' => 3, 'tax_query' => array( array( 'taxonomy' => 'medal-categories', 'field' => 'slug', 'terms' => $related, ), ), ) );
while ( $the_query->have_posts() ) : $the_query->the_post();
//loop starts after this
现在我面临的问题是,如果我只输入一个slug in&#39; related_categories&#39;自定义字段,例如&#39;海军&#39;然后来自海军的帖子&#39;类别成功显示,但如果我在&#39; related_categories&#39;内输入多个slug。自定义字段,例如&#39;海军&#39;军队&#39;然后这些帖子没有出现。
我尝试在互联网上搜索解决方案,但无法找到任何解决方案,因此我们将不胜感激。谢谢。
答案 0 :(得分:1)
请使用此插件。我希望你们所有人的问题都能解决:https://wordpress.org/plugins/advanced-custom-fields/
在此您可以轻松指定哪些字段需要显示在哪个类别和页面中。
答案 1 :(得分:0)
终于找到了解决方案!而不是使用:
$related = array ( get_post_meta($post->ID, 'related_categories', true) );
我被建议使用:
$related = explode(',', trim( get_post_meta($post->ID, 'related_categories', true) ) );
以及以下格式在自定义字段中添加类别slugs:
navy, army, air-force..
这是最终代码的样子:
<?php global $post;
$related = explode(',', trim( get_post_meta($post->ID, 'related_categories', true) ) );
$the_query = new WP_Query( array( 'post_type' => 'medals', 'posts_per_page' => 3, 'tax_query' => array( array( 'taxonomy' => 'medal-categories', 'field' => 'slug', 'terms' => $related, ), ), ) );
while ( $the_query->have_posts() ) : $the_query->the_post();
//loop starts after this