我正在尝试显示每个自定义分类法的最新帖子。 CPT用于”
成员服务”
, 而分类法则用于”
服务”
。
目前, 我在网上尝试将两个脚本(获取自定义分类法和在自定义分类法下获取帖子)组合在一起。
我不确定我要去哪里。
<
!-- Add in list of member services -->
<
?php // Get the taxonomy's terms
$terms = get_terms(
array(
'taxonomy'=>
'services', 'hide_empty' =>
false, )
);
// Check if any term exists
if ( ! empty( $terms ) &
&
is_array( $terms ) ) {
// Run a loop and print them all
foreach ( $terms as $term ) { ?>
<
a href="http://www.srcmini.com/<
?php echo esc_url( get_term_link( $term ) ) ?>">
<
?php echo $term->
name;
?>
<
/a>
<
?php
$post_args = array(
'numberposts' =>
5, 'post_type' =>
'services', 'services' =>
$term->
term_id, );
$posts = get_posts($post_args);
foreach($posts as $post) {
?>
<
a href="http://www.srcmini.com/<
?php the_permalink();
?>">
<
?php the_title();
?>
<
/a>
<
?php
}
}
}
?>
现实世界的逻辑:在首页上显示根据自定义分类法提供的最新会员服务(CPT)-“ 产品” , “ 价格” 等。
当前:显示自定义分类法的列表, 因此get_terms似乎有效。
#1是的, 你的get_terms有效, 但你的get_posts不起作用, 因为你已在post_type中传递了分类名称。我已经对你的代码进行了一些更改。也许这对你有用
<
?php
$post_args = array(
'posts_per_page' =>
5, 'post_type' =>
'member-services', 'orderby' =>
'date', 'sort_order' =>
'desc', 'tax_query' =>
array(
array(
'taxonomy' =>
'services', 'field' =>
'id', 'terms' =>
$term->
term_id, 'include_children' =>
false
)
)
);
$posts = get_posts($post_args);
?>
#2你必须在get_posts()函数中编写tax_query。
只需更换
‘ 服务’ => $ term-> term_id,
与
【显示CPT每个分类的最新帖子】‘ tax_query’ => 数组(array(‘ taxonomy’ => ’ services’ , ‘ field’ => ’ id’ , ‘ terms’ => $ term-> term_id))
推荐阅读
- Divi全屏滑块错误
- 自定义WordPress样式表未加载
- CSS视口单位显示问题
- div被选中,并且单击它时会出现边框
- 显示WordPress博客文章类别
- CSS不会在WordPress中链接到我的page.php模板,其他一切都正常
- CSS摆脱WordPress Twenty Nineteen主题中的空白()
- 用WP短代码显示来自mySQL的数据字段
- 在每个WordPress页面中显示不同的标题文本