我通过加载操作将过滤器应用于主WP查询(pre_get_posts
) 对于我的网站中的所有管理页面。它只是将编辑(列表页面)限制为仅显示当前登录的特定用户创建的记录。
问题是这样会阻止ACF功能正常工作。我有一个由另一个操作调用的函数,该操作通过acf/init加载。此函数用于查询中继器字段get_field()
. 返回的值get_field()
不是所需的数组,而是整数。如果我删除下面的此筛选代码,则不会出现问题。
// The filter code that shows only the current authors posts
add_action(‘pre_get_posts’, ‘query_set_only_author’);
function query_set_only_author( $wp_query ) {
if( is_admin() && get_current_user_role()==”required_role” ) {
if ( basename($_SERVER[‘PHP_SELF’])==”edit.php”){
$wp_query->set( ‘author’, $current_user->ID );
}
}
}
所以我的问题是,似乎get\\u字段也应用了我的常规编辑页面过滤器,那么如何使其不使用过滤查询呢?