ホームページ  >  記事  >  CMS チュートリアル  >  WordPressプラグインに記事カテゴリ管理機能を追加する方法

WordPressプラグインに記事カテゴリ管理機能を追加する方法

WBOY
WBOYオリジナル
2023-09-05 08:43:42914ブラウズ

WordPressプラグインに記事カテゴリ管理機能を追加する方法

WordPress プラグインに記事カテゴリ管理機能を追加する方法

WordPress は現在最も広く使用されているコンテンツ管理システムの 1 つであり、豊富な機能を提供しています。機能を拡張するプラグイン。プラグイン開発者の場合、記事カテゴリ管理機能をプラグインに追加する必要が生じる場合があります。この記事では、WordPressプラグインに記事カテゴリ管理機能を追加する方法と、参考となるコード例を紹介します。

  1. カテゴリの作成
    まず、プラグイン用の新しい記事カテゴリを作成する必要があります。これは、register_taxonomy() 関数を使用して実現できます。以下はサンプル コードです。
// 在插件的主活动文件中添加以下代码
function custom_plugin_taxonomy() {
    $labels = array(
        'name' => _x( '插件分类', 'taxonomy general name', 'textdomain' ),
        'singular_name' => _x( '插件分类', 'taxonomy singular name', 'textdomain' ),
        'search_items' =>  __( '搜索分类', 'textdomain' ),
        'all_items' => __( '所有分类', 'textdomain' ),
        'parent_item' => __( '父级分类', 'textdomain' ),
        'parent_item_colon' => __( '父级分类:', 'textdomain' ),
        'edit_item' => __( '编辑分类', 'textdomain' ),
        'update_item' => __( '更新分类', 'textdomain' ),
        'add_new_item' => __( '添加新分类', 'textdomain' ),
        'new_item_name' => __( '新分类名称', 'textdomain' ),
        'menu_name' => __( '分类', 'textdomain' ),
    );

    $args = array(
        'hierarchical' => true,
        'labels' => $labels,
        'show_ui' => true,
        'show_admin_column' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'plugin_category' ),
    );

    register_taxonomy( 'plugin_category', array( 'post' ), $args );
}
add_action( 'init', 'custom_plugin_taxonomy', 0 );

上記のコードでは、 register_taxonomy() 関数を使用して、 plugin_category という名前の新しい記事カテゴリを作成します。このカテゴリには、名前、検索テキスト、編集操作などの基本的なプロパティがいくつかあります。

  1. プラグインのカテゴリ管理を有効にする
    次に、ユーザーが記事編集ページでカテゴリを選択および管理できるように、プラグインにインターフェイスを追加する必要があります。これを実現するには、フック関数 add_meta_box() を使用します。以下はサンプル コードです:
// 在插件的主活动文件中添加以下代码
function custom_plugin_taxonomy_meta_box() {
    add_meta_box(
        'plugin_category',
        __( '插件分类', 'textdomain' ),
        'custom_plugin_taxonomy_meta_box_callback',
        'post',
        'side',
        'default'
    );
}
add_action( 'add_meta_boxes', 'custom_plugin_taxonomy_meta_box' );

function custom_plugin_taxonomy_meta_box_callback( $post ) {
    wp_nonce_field( 'custom_plugin_taxonomy_meta_box', 'custom_plugin_taxonomy_meta_box_nonce' );

    $terms = get_terms( array(
        'taxonomy' => 'plugin_category',
        'hide_empty' => false,
    ) );

    if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
        echo '<select name="plugin_category">';
        foreach ( $terms as $term ) {
            echo '<option value="' . $term->term_id . '">' . $term->name . '</option>';
        }
        echo '</select>';
    }
}

上記のコードでは、add_meta_box() 関数を使用して、カテゴリ選択ボックスを表示するための新しいメタ ボックスを追加します。 custom_plugin_taxonomy_meta_box_callback() 関数では、get_terms() 関数を使用して、利用可能なすべてのカテゴリを取得し、ユーザーが選択できるドロップダウン メニューを出力します。

  1. カテゴリの保存と更新
    最後に、選択したカテゴリを保存および更新するコードを追加する必要があります。フック関数 save_post を使用してこのタスクを処理できます。以下はサンプル コードです:
// 在插件的主活动文件中添加以下代码
function custom_plugin_taxonomy_save_meta_box_data( $post_id ) {
    if ( ! isset( $_POST['plugin_category'] ) ) {
        return;
    }

    if ( ! wp_verify_nonce( $_POST['custom_plugin_taxonomy_meta_box_nonce'], 'custom_plugin_taxonomy_meta_box' ) ) {
        return;
    }

    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
        return;
    }

    if ( ! current_user_can( 'edit_post', $post_id ) ) {
        return;
    }

    $term_id = intval( $_POST['plugin_category'] );
    wp_set_post_terms( $post_id, array( $term_id ), 'plugin_category' );
}
add_action( 'save_post', 'custom_plugin_taxonomy_save_meta_box_data' );

上記のコードでは、カテゴリ選択ボックスが選択されているかどうかを確認し、wp_verify_nonce() 関数を使用して送信されたフォーム データを検証します。次に、wp_set_post_terms() 関数を使用して、選択したカテゴリを現在の記事に保存します。

以上の手順で、WordPress プラグインに記事カテゴリ管理機能が追加されました。ユーザーは記事編集ページでカテゴリを選択および管理できるようになり、コンテンツ管理エクスペリエンスが向上しました。

概要
この記事では、WordPress プラグインに記事カテゴリ管理機能を追加する方法を紹介し、関連するコード例を示します。これを追加するには、register_taxonomy() 関数を使用してタクソノミーを作成し、add_meta_box() 関数を使用してインターフェイスを追加し、save_post フック関数を使用して保存します。機能は独自のプラグインにすぐに統合されます。この記事があなたのお役に立てば幸いです。そして、あなたがもっと強力な WordPress プラグインを作成できるようになることを願っています。

以上がWordPressプラグインに記事カテゴリ管理機能を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。