我有两种自定义帖子类型:Movies
和Directors
导演拥有很多电影 董事可以是内部员工或自由职业者。
我使用Advanced Custom Fields在Director Post Type上创建一个广播组,您可以将其设置为In-House或Freelance。
我还使用ACF在“电影发布类型”中创建一个选择导演的选择框,然后获得发布对象。
如何进行查询,以便我只获得导演为内部员工的电影?
编辑:我将提供一个使用纯SQL的示例:
SELECT movies.name, directors.name
FROM movies JOIN directors ON directors.id = movies.director_id
WHERE directors.type LIKE '%In-House%'
除了执行原始SQL之外,还有更好的方法在Wordpress中查询吗?
答案 0 :(得分:0)
在电影循环中,您需要以下内容:
<?php
$inhouse = get_posts(array(
'numberposts' => -1,
'post_type' => 'DIRECTOR_POST_TYPE_NAME',
'meta_key' => 'SELECT_FIELD_NAME',
'meta_value' => 'IN_HOUSE_FIELD_VALUE'
)
));
?>
<?php if( $inhouse ): ?>
<ul>
<?php foreach( $inhouse as $ihdirector ): ?>
<li>
<a href="<?php echo get_permalink( $doctor->ID ); ?>">
<?php echo get_the_title( $ihdirector->ID ); ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>