如何使自定义分类复选框类似于“Categories”

时间:2017-02-23 作者:Taylor Foster

现在,我有一个自定义分类法,用于自定义帖子类型case_study. 除了创建新帖子和添加分类法时使用的是“标签”之外,一切都正常,我想知道帖子如何处理它们的类别(复选框)。我是否可以这样做,而不是添加这些“标签”

这是我注册这个分类法的代码

PhP

add_action( \'init\', \'create_case_study_tax\' );

$tax_args = array(
  \'hierarchical\'      => false,
  \'show_ui\'           => true,
  \'label\'             => __(\'Industry\'),
  \'show_admin_column\' => true,
  \'query_var\'         => true,
);

function create_case_study_tax() {
  register_taxonomy(\'industry\', \'case_study\', $tax_args);
} 

1 个回复
SO网友:Paul \'Sparrow Hawk\' Biron

刚刚设置好\'hierarchical\' => true 在args to中register_taxonomy() (即使您从未打算添加具有父子关系的术语),在创建/编辑自定义帖子类型时,您将获得与内置类别分类法相同的UI,用于从该自定义分类法分配术语。

如果您想在编辑中下拉术语。php屏幕(如WP Core为“category”自动添加),添加以下内容:

add_action (\'restrict_manage_posts\', \'add_custom_taxonomy_dropdowns\', 10, 2) ;

/**
 * add a dropdown/filter to the edit.php screen for our custom taxonomies
 *
 * @param $post_type string - the post type that is currently being displayed on edit.php screen
 * @param $which string - one of \'top\' or \'bottom\'
 */
function
add_custom_taxonomy_dropdowns ($post_type, $which = \'top\')
{
    if (\'case_study\' != $post_type) {
        return ;
        }

    $taxonomies = get_object_taxonomies ($post_type, \'object\') ;
    foreach ($taxonomies as $tax_obj) {
        if ($tax_obj->_builtin) {
            // let WP handle the builtin taxonomies
            continue ;
            }

        $args = array (
            \'show_option_all\' => $tax_obj->labels->all_items,
            \'taxonomy\'    => $tax_obj->name,
            \'name\'        => $tax_obj->name,
            \'value_field\' => \'slug\',
            \'orderby\'     => \'name\',
            \'selected\'    => isset ($_REQUEST[$tax_obj->name]) ? $_REQUEST[$tax_obj->name] : \'0\',
            \'hierarchical\'    => $tax_obj->hierarchical,
            \'show_count\'      => true,
            \'hide_empty\'      => true,
            \'fields\' => \'all\',
            ) ;

        wp_dropdown_categories ($args) ;
        }

    return ;
}

相关推荐

如何将自定义选项添加到wp_Dropdown_Categories?

我需要将自定义选项添加到wp_dropdown_categories. 现在,整个万维网世界还没有找到解决方案。。。因此,我在这里要求一个解决方案……因为我真的无法想象WordPress的开发人员没有考虑到这将永远不需要,对吗?