如何使用register_taxonomy_args WordPress过滤分类法args

时间:2016-01-24 15:29:41

标签: wordpress wordpress-theming custom-taxonomy wordpress-hook

我正在尝试使用 register_taxonomy_args 过滤器钩子来筛选选择的自定义分类法上的分类法args。但是,当这样做时,我收到了很多错误消息。

列举一些:

警告:在第278行的/Applications/MAMP/htdocs/broadbean/wp-content/themes/scratch/functions.php中缺少edit_bb_taxonomy_args()的参数2

警告:在第278行的/Applications/MAMP/htdocs/broadbean/wp-content/themes/scratch/functions.php中缺少edit_bb_taxonomy_args()的参数3

注意:未定义的变量:第280行的/Applications/MAMP/htdocs/broadbean/wp-content/themes/scratch/functions.php中的分类法

警告:array_merge():参数#2不是第379行/Applications/MAMP/htdocs/broadbean/wp-includes/taxonomy.php中的数组

注意:未定义的索引:在第398行的/Applications/MAMP/htdocs/broadbean/wp-includes/taxonomy.php中重写

我的过滤功能

<?php
function edit_bb_taxonomy_args( $args, $taxonomy, $object_type ) {

    $taxonomies = array( 'wpbb_job_type', 'wpbb_job_location', 'wpbb_job_industry', 'wpbb_job_skill' );

    if ( in_array( $taxonomy, $taxonomies ) ) {
        $args = array(
            'with_front' => false
        );
        return $args;
    }
}
add_filter('register_taxonomy_args', 'edit_bb_taxonomy_args' );
?>

我做错了什么?感谢。

1 个答案:

答案 0 :(得分:3)

不用担心我现在已经对它进行了分类。

如果您感兴趣的解决方案如下......

<?php
function my_edit_bb_taxonomy_args( $args, $taxonomy, $object_type ) {

    $taxonomies = array( 'wpbb_job_type', 'wpbb_job_location', 'wpbb_job_industry', 'wpbb_job_skill' );
    if ( in_array( $taxonomy, $taxonomies ) ) {
        /* alter the rewrite with front arg */
        $args[ 'rewrite' ][ 'with_front' ] = false;
    }
    return $args;
}
add_filter( 'register_taxonomy_args', 'my_edit_bb_taxonomy_args', 10, 3 );
?>