我做了一个自定义短代码来从当前类别页面获取帖子列表(帖子是网站项目的自定义帖子类型):
- 主类,10 项(我在这个页面上)
- 子类,25 项
我只需要显示 10 个主要类别项目而不是子类别项目。
如何编辑我的函数?
// GET THE CURR£NT CATEGORY SLUG
$categories = get_the_terms($post->ID, 'pj-categs');
foreach( $categories as $category ) {
$categorySlug = $category->slug;
echo $categorySlug;
}
// EXTRACT THE POSTS
$the_query = new WP_Query(array(
'pj-categs' => $categorySlug,
'posts_per_page' => 12,
'post__not_in' => [get_the_ID()]
));
回答1
有一个简单的解决方案可以避免显示子类别 .get_the_terms() 返回 WP_Term 对象。这个对象有一个父属性。首先,检查 $category->parent == 0 如果你发现 true 然后 store 变量中的数据。