我想说最简单的方法就是使用get_terms_args
过滤并取消设置number
限制上下文是否正确(获取标记云的AJAX请求):
function wpse_64058_all_tags ( $args ) {
if ( defined( \'DOING_AJAX\' ) && DOING_AJAX && isset( $_POST[\'action\'] ) && $_POST[\'action\'] === \'get-tagcloud\' )
unset( $args[\'number\'] );
return $args;
}
add_filter( \'get_terms_args\', \'wpse_64058_all_tags\' );
注意:在编辑框中,链接仍将显示“从最常用的标记中选择”,即使我们现在正在显示所有标记。
编辑:正如@bonger所建议的,您可以从参考者中确定帖子类型:
if ( $qs = parse_url( wp_get_referer(), PHP_URL_QUERY ) ) {
parse_str( $qs, $args );
if ( ! empty( $args[\'post_type\'] ) )
$post_type = $args[\'post_type\'];
elseif ( ! empty( $args[\'post\'] ) )
$post_type = get_post_type( $args[\'post\'] );
else
$post_type = \'post\';
}