我正在尝试在wp admin中解决以下场景:
当特工登录时,他应该只能看到与他有关系的演员。(第页:wp admin/edit.php?post\\u type=actor)在参与者的帖子(post\\u type actor)中,我有一个关系字段(名为:your\\u agent),其中显示所有代理(post\\u type人才代理)。
代理帖子的ID是示例1。代理人应该只看到选择其职位的演员。(ID为1的帖子)
关系中所选帖子的ID等于代理帖子的ID时。拥有该职位的人才代理(当前登录代理)应该看到该演员。
这是我目前掌握的代码:
function current_user_related_posts($query)
{
if( is_user_logged_in() ) { // check if there is a logged in user
$user = wp_get_current_user(); // getting & setting the current user
$roles = ( array ) $user->roles; // obtaining the role
return $roles; // return the role for the current user
} else {
return array(); // if there is no logged in user return empty array
}
$args = array(
\'post_type\' => \'actor\',
\'post_status\' => \'publish\',
\'meta_query\' => array(
\'relation\' => \'AND\',
array(
\'key\' => \'talent-agents_id\',
\'value\' => $post_id,
\'compare\' => \'=\'
),
array(
\'key\' => \'your_agent\',
\'value\' => $post_id,
\'compare\' => \'=\'
)
),
\'fields\' => \'id, your_agent\'
);
$query = new WP_Query( $args );
if( current_user_can(\'install-plugins\') ) {
$query->the_post(\'actor\');
}
return $query;
}
我使用高级自定义字段PRO创建字段。
这就是演员帖子上的关系字段的样子。