具有关系的用户自定义 Wordpress 过滤器仪表板 post
Wordpress Filter dashboard custom post by user with relations
我有自定义 post 类型 umowy
,其中一个与用户有关系。关系是由 acf 通过编辑用户添加的。我想要的是?我想在仪表板自定义 post 类型 umowy
中列出与登录用户有关系的所有 post。我有这样的代码。并且它显示 post 仅用于用户登录,其中一个是作者。有人对此有想法吗?
add_action('pre_get_posts', 'filter_posts_list');
function filter_posts_list($query)
{
//$pagenow holds the name of the current page being viewed
global $pagenow, $typenow;
//$current_user uses the get_currentuserinfo() method to get the currently logged in user's data
global $current_user;
get_currentuserinfo();
//Shouldn't happen for the admin, but for any role with the edit_posts capability and only on the posts list page, that is edit.php
if(!current_user_can('administrator') && current_user_can('edit_posts') && ('edit.php' == $pagenow) && $typenow == 'umowy')
{
//global $query's set() method for setting the author as the current user's id
$query->set('author', $current_user->ID);
}
}
我找到了答案:
if(!current_user_can('administrator') && !current_user_can('obsluga') && ('edit.php' == $pagenow) && $typenow == 'umowy'){
$key = 'użytkownik_sklep';
$single = true;
$shopIds = get_user_meta($current_user->data->ID, $key, $single);
$meta_query = array(
array(
'key' => 'umowa_do_sklepu',
'value' => $shopIds[0],
'compare' => 'LIKE'
)
);
$query->set( 'meta_key', 'umowa_do_sklepu' );
$query->set( 'meta_query', $meta_query );
}
我有自定义 post 类型 umowy
,其中一个与用户有关系。关系是由 acf 通过编辑用户添加的。我想要的是?我想在仪表板自定义 post 类型 umowy
中列出与登录用户有关系的所有 post。我有这样的代码。并且它显示 post 仅用于用户登录,其中一个是作者。有人对此有想法吗?
add_action('pre_get_posts', 'filter_posts_list');
function filter_posts_list($query)
{
//$pagenow holds the name of the current page being viewed
global $pagenow, $typenow;
//$current_user uses the get_currentuserinfo() method to get the currently logged in user's data
global $current_user;
get_currentuserinfo();
//Shouldn't happen for the admin, but for any role with the edit_posts capability and only on the posts list page, that is edit.php
if(!current_user_can('administrator') && current_user_can('edit_posts') && ('edit.php' == $pagenow) && $typenow == 'umowy')
{
//global $query's set() method for setting the author as the current user's id
$query->set('author', $current_user->ID);
}
}
我找到了答案:
if(!current_user_can('administrator') && !current_user_can('obsluga') && ('edit.php' == $pagenow) && $typenow == 'umowy'){
$key = 'użytkownik_sklep';
$single = true;
$shopIds = get_user_meta($current_user->data->ID, $key, $single);
$meta_query = array(
array(
'key' => 'umowa_do_sklepu',
'value' => $shopIds[0],
'compare' => 'LIKE'
)
);
$query->set( 'meta_key', 'umowa_do_sklepu' );
$query->set( 'meta_query', $meta_query );
}