wordpress Gutenberg编辑器支持自定义分类法的方法

1. 前言

WordPress 5.0 发布了全新的 Gutenberg 编辑器,它的出现让 WordPress 用户无需任何编码技能就能轻松创建自己的网站。在这篇文章中,我们将会介绍如何在 Gutenberg 编辑器中支持自定义分类法。

2. 什么是自定义分类法?

自定义分类法(Custom Taxonomy)是 WordPress 中的一种功能,它可以让你创建自定义的分类和标签。默认情况下,WordPress 只提供了文章和页面的分类和标签功能,但是通过自定义分类法,我们可以拓展 WordPress 的分类和标签功能。

3. 大体步骤

要在 Gutenberg 编辑器中支持自定义分类法,我们需要按照以下步骤来操作:

1. 创建自定义分类法;
2. 在文章编辑页面中显示自定义分类法;
3. 在文章编辑页面中添加自定义分类法。

接下来我们将详细讲解以上步骤。

4. 创建自定义分类法

要创建自定义分类法,我们需要在 WordPress 主题的 functions.php 文件中添加以下代码:

function custom_taxonomy() {

    $labels = array(
        'name' => _x( 'Custom Taxonomy', 'taxonomy general name' ),
        'singular_name' => _x( 'Custom Taxonomy', 'taxonomy singular name' ),
        'search_items' =>  __( 'Search Custom Taxonomies' ),
        'popular_items' => __( 'Popular Custom Taxonomies' ),
        'all_items' => __( 'All Custom Taxonomies' ),
        'parent_item' => null,
        'parent_item_colon' => null,
        'edit_item' => __( 'Edit Custom Taxonomy' ),
        'update_item' => __( 'Update Custom Taxonomy' ),
        'add_new_item' => __( 'Add New Custom Taxonomy' ),
        'new_item_name' => __( 'New Custom Taxonomy Name' ),
        'separate_items_with_commas' => __( 'Separate custom taxonomy with commas' ),
        'add_or_remove_items' => __( 'Add or remove custom taxonomy' ),
        'choose_from_most_used' => __( 'Choose from the most used custom taxonomy' ),
        'menu_name' => __( 'Custom Taxonomy' ),
    );

    register_taxonomy( 'custom_taxonomy', 'post', array(
        'labels' => $labels,
        'public' => true,
        'show_in_nav_menus' => true,
        'show_ui' => true,
        'show_tagcloud' => true,
        'hierarchical' => true,
        'rewrite' => array(
            'slug' => 'custom_taxonomy',
            'with_front' => false
        ),
        'query_var' => true
    ));
}
add_action( 'init', 'custom_taxonomy', 0 );

在上述代码中,我们需要将 "Custom Taxonomy" 和 "custom_taxonomy" 替换成自己的自定义分类法名称,注册分类法的默认范围是文章('post'),你也可以使用其他的自定义文章类型作为范围。

当这段代码加入到 functions.php 文件中后,就已经创建好一个自定义分类法,你可以到 WordPress 后台中查看是否已经创建成功。

5. 在文章编辑页面中显示自定义分类法

要在文章编辑页面中显示自定义分类法,我们需要添加以下代码:

function custom_taxonomy_metabox() {
    add_meta_box(
        'custom_taxonomy_metabox',
        'Custom Taxonomy',
        'custom_taxonomy_metabox_callback',
        'post',
        'normal',
        'high'
    );
}
add_action( 'add_meta_boxes', 'custom_taxonomy_metabox' );

function custom_taxonomy_metabox_callback() {
    global $post;
    $taxonomy = 'custom_taxonomy';
    $tax_terms = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );

    if ( empty( $tax_terms ) ) $tax_terms = array(0);

    $args = array(
        'hide_empty' => false,
        'hierarchical' => true,
        'selected' => $tax_terms
    );
    wp_dropdown_categories( $args );
}

这段代码将会在 WordPress 文章编辑页面添加自定义分类法选项。

6. 在文章编辑页面中添加自定义分类法

最后,要在文章编辑页面中添加自定义分类法,我们需要添加以下代码:

function save_custom_taxonomy( $post_id ) {
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;

    if ( $parent_id = wp_is_post_revision( $post_id ) ) {
        $post_id = $parent_id;
    }

    $taxonomy = 'custom_taxonomy';
    if ( isset( $_POST[$taxonomy] ) ) {
        $terms = $_POST[$taxonomy];
        wp_set_object_terms( $post_id, $terms, $taxonomy );
    }
}
add_action( 'save_post', 'save_custom_taxonomy' );

以上代码将会把选中的分类法保存到文章中。

7. 结论

完成以上步骤后,你就已经成功在 Gutenberg 编辑器中支持自定义分类法了。现在,你可以在文章编辑页面中看到添加的自定义分类法选项,也可以给文章添加自己定义的分类或者标签。

晓白博客网版权所有,原文地址https://www.xbnb.cn/5406
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容