我使用Toolset插件创建了两种自定义帖子类型:sponsor
和book
。
我已经在这两种帖子类型之间建立了一种关系(使用Toolset):发起人可以拥有一本或多本书籍(关系的标签为sponsor-book
)。
重要提示:一本书不能有赞助商作为父母。
我需要的是让所有赞助商和所有书籍都没有赞助商。
这就是我的工作(包括带赞助商的书,我不想这样做):
$args = array(
'post_type' => array('sponsor', 'book')
);
$posts = get_posts( $args );
如何排除有赞助商的图书?
答案 0 :(得分:0)
尝试一下。首先,我考虑了发起人和书帖类型的对象。通过获取两个帖子类型的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;