我想在ACF关系字段中排除一些页面。
我的域名是products
下面的代码不包括id为9、10或11的页面。
add_filter(\'acf/fields/relationship/query/name=products\', \'exclude_id\', 10, 3);
function exclude_id ( $args, $field, $post ) {
$args[\'post__not_in\'] = array( $post, 9, 10, 11 );
return $args;
}
相反,我想排除不是由某个用户创建的页面。
我已呼叫用户collaborator
并希望排除所有没有的页面collaborator
设置为作者。
我宁愿按作者姓名而不是作者id排除页面,如
author_name(\'collaborator\');
这可能吗?
最合适的回答,由SO网友:Eduardo Sánchez Hidalgo Urías 整理而成
如果您想排除所有未将“collaborator”设置为作者的页面,那么您想排除网站中的所有其他页面,并包括该作者的所有页面,可能减去该作者手工挑选的一些页面,那么我认为您可以使用以下方法:
add_filter(\'acf/fields/relationship/query/name=products\', \'exclude_id\', 10, 3);
function exclude_id ( $args, $post ) { //$field input vriable wasn\'t neccessary in this function
$args[\'post__not_in\'] = array( $post, 9, 10, 11 );
$args[\'author_name\'] = \'collaborator\'; // Queries only the collbaroator\'s posts
return $args;
}