使用挂钩更改分类 "hierarchical" 设置

Changing taxonomy "hierarchical" setting with hook

我正在使用存储库中的免费房地产 Wordpress 插件,但支持是付费的。

无论如何,插件的 "City" 分类法不是分层的。我需要将其设为 HIERARCHICAL,这样我就可以在其下创建具有分层城市的县。如您所知,由于已知原因(更新覆盖),无法修改插件的文件。

我正在寻找类似这样的东西部署在 functions.php:

function change_post_object_label( $taxonomy_args ) {
    $taxonomy_args->hierarchical = true;
}
add_action( 'taxonomy_hook', 'change_taxonomy_args' );

它存在吗?如何在不更改 php 文件的情况下将给定分类法的层次结构设置为 "true"?

如果您使用的是 WordPress 4.4 或更高版本,您可以使用 register_taxonomy_args 过滤器。

将此添加到您的 functions.php,并且不要忘记使用实际的分类 slug。

function filter_register_taxonomy_args( $args, $taxonomy ) {

    if ( $taxonomy === 'taxonomy_slug_here' ) {

        $args['hierarchical'] = true;
    }
    return $args;
}
add_filter( 'register_taxonomy_args', 'filter_register_taxonomy_args', 10, 2 );