因此,标记云似乎是由AJAX请求生成的常规标记云。此框似乎是通过AJAX生成标记云的唯一位置,因此我们可以使用这些知识来使用get_terms
filter可过滤在该AJAX请求中执行的任何术语查询。
function wpse_277075_filter_tag_cloud( $terms, $taxonomies, $args, $term_query ) {
if ( is_admin() && isset( $_POST[\'action\'] ) && $_POST[\'action\'] === \'get-tagcloud\' ) {
$args[\'meta_query\'] = array(
array(
\'key\' => \'author\',
\'value\' => get_current_user_id(),
)
);
$terms = $term_query->query( $args );
return $terms;
}
return $terms;
}
add_filter( \'get_terms\', \'wpse_277075_filter_tag_cloud\', 10, 4 );
内部
get_terms
筛选器回调,我已检查
$_POST[\'action\']
变量,因为这将告诉我们是否在AJAX请求中。然后我们重新执行标记查询,但这次使用
meta_query
过滤结果。
Note: 此代码假定作者是通过meta_key
属于author
设置为用户ID。