wordpress - WordPress 按帖子类型过滤关系
问题描述
我有两个使用 Toolset 插件创建的自定义帖子类型:sponsor
和book
.
我在这两种帖子类型之间创建了一个关系(使用工具集):赞助商可能有 1 本书或更多本书(关系的 slug 是sponsor-book
)。
重要提示:一本书不能有赞助商作为父母。
我需要的是获得所有赞助商和所有没有赞助商的书籍。
这就是我所做的(包括赞助商的书籍,我不想):
$args = array(
'post_type' => array('sponsor', 'book')
);
$posts = get_posts( $args );
如何排除有赞助商的书籍?
解决方案
尝试这个。首先我取了赞助商和书帖类型的对象。通过获取两种帖子类型的 ID,我检查它们是否有工具集父级,将它们插入过滤后的数组中。然后打印这些过滤数组的帖子标题。
$args = array(
'post_type' => array('sponsor', 'book')
);
$both_posts = get_posts( $args );
$arr = array();
$num= 0;
if( $both_posts ):
foreach( $both_posts as $k => $both_post ):
$posts_without_sponsor_id = toolset_get_related_post(
$both_post->ID,
'sponsor-book', //slug of relationship
'parent'
);
if( !$posts_without_sponsor_id ):
$arr['filteredposts'][$num] = $event->ID;
$num++;
endif;
endforeach;
endif;
// Filtered IDs
if($arr['filteredposts']):
foreach( $arr['filteredposts'] as $filtered ):
echo $filtered->post_title;
endforeach;
endif;
推荐阅读
- python - Python 测试断言
- wordpress - 在 .htaccess 中使用 RedirectMatch 301 时出现“重定向过多”
- r - 如何从 R 中的 coxph 模型摘要中总结单变量结果 - 多级协变量?
- javascript - 更改执行顺序:Javascript
- flutter - 为什么在我的 DataColumns 中的文本之后会出现 RichText 小部件
- sql - SSMS 18 的列名无效问题
- html - 使用 Bulma 制作的视图布局未按预期显示在手机上
- laravel - Laravel 8 在插入数据库期间显示数组到字符串的转换
- python - “pip install models”失败,错误代码 1“No module named 'base'
- c++ - 隐式重载比较运算符