ホームページ > CMS チュートリアル > &#&プレス > WordPress管理インターフェイスにカスタムメタボックスを追加します

WordPress管理インターフェイスにカスタムメタボックスを追加します

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-02-18 08:26:09
オリジナル
644 人が閲覧しました

WordPressは、ユーザーが、管理インターフェイス内で投稿、ページ、カスタム投稿タイプのカスタムメタボックスを作成できるようにします。 WordPress APIは、デフォルトのメタボックスの広範なカスタマイズオプションも提供しています。このチュートリアルは、デフォルトのメタボックスの削除とともに、カスタムメタデータの作成、保存、検証、取得を紹介します。

重要な概念:

    カスタムメタボックスは、投稿、ページ、カスタム投稿タイプに追加の情報を追加できるようにすることにより、WordPress機能を拡張します。 これらは、WordPressダッシュボードに表示されます
  • コーディングが関与している間、高度なカスタムフィールド、メタボックス、CMB2などのプラグインはプロセスを大幅に簡素化します。 フロントエンドにカスタムメタボックスデータを表示するには、テーマファイルの変更が必要です。
  • カスタムメタボックスは強力ですが、制限があります。 WordPress管理インターフェイスを変更したり、サポートされていない機能を追加したりすることはできません。 データの検証と消毒は、セキュリティにとって重要です
  • カスタムメタボックスの理解:

カスタムメタボックスは、WordPressのデフォルトオプションを超えてフィールドを追加する方法を提供します。プラグインとテーマはそれらを利用して、構造化されたユーザー入力を収集します。 また、WordPressダッシュボードウィジェット(本質的にメタボックス自体)の機能をミラーリングして、ダッシュボードに追加することもできます。 標準のメタボックスには、エディター、カスタムフィールド、特集画像、カテゴリ、タグセクションが含まれます。 カスタムメタボックスvs.カスタムフィールド:

カスタムフィールドは、キー価値のペアのペアを保存します。 メタボックスは、カラーピッカー、ファイルアップロード、ドロップダウンなど、より多用途の入力タイプを提供します。

メタデータの説明:

メタデータは、カスタムメタボックスフィールドに入力された値を表します。 WordPressは、このデータをキー値のペア(メタキーとメタ値)として保存します。メタキーはフィールド名で、メタ値は入力されたデータです。

メタボックスの作成:

関数はカスタムメタボックスを登録および表示します。 次のコードでは、WordPressの投稿にカスタムメタボックスを追加します:

7つの引数を使用します:ID(一意の識別子)、タイトル(表示されたタイトル)、コールバック(コンテンツを表示する機能)、画面(ポストタイプ)、コンテキスト(位置)、優先度(コンテキスト内の順序)、コールバック引数。

add_meta_box

function custom_meta_box_markup() {
    // Content will be added here later
}

function add_custom_meta_box() {
    add_meta_box("demo-meta-box", "Custom Meta Box", "custom_meta_box_markup", "post", "side", "high", null);
}

add_action("add_meta_boxes", "add_custom_meta_box");
ログイン後にコピー
ログイン後にコピー

カスタムメタボックスにフィールドを追加する:add_meta_box

テキスト入力、ドロップダウン、およびチェックボックスを追加しましょう Adding Custom Meta Boxes to the WordPress Admin Interface

このコードには、セキュリティのためのNonCe検証が含まれており、既存のデータを取得するために

を使用します。

メタデータの保存:

save_postフックはデータを保存します:

function custom_meta_box_markup() {
    // Content will be added here later
}

function add_custom_meta_box() {
    add_meta_box("demo-meta-box", "Custom Meta Box", "custom_meta_box_markup", "post", "side", "high", null);
}

add_action("add_meta_boxes", "add_custom_meta_box");
ログイン後にコピー
ログイン後にコピー
このコードは、NONCE、ユーザー許可、および自動販売を検証します。 重要なことに、セキュリティの脆弱性を防ぐために

を使用します sanitize_text_field

メタボックスの削除:

関数はメタボックスを削除します。 たとえば、カスタムフィールドメタボックスを削除するには:

remove_meta_box

使用されているフック(例:
function custom_meta_box_markup($object) {
    wp_nonce_field(basename(__FILE__), "meta-box-nonce");
    ?>
    <div>
        <label for="meta-box-text">Text:</label>
        <input name="meta-box-text" type="text" value="<?php echo esc_attr(get_post_meta($object->ID, "meta-box-text", true)); ?>">
        <br><br>
        <label for="meta-box-dropdown">Dropdown:</label>
        <select name="meta-box-dropdown">
            <?php
            $option_values = array(1, 2, 3);
            foreach ($option_values as $value) {
                $selected = ($value == get_post_meta($object->ID, "meta-box-dropdown", true)) ? 'selected' : '';
                echo "<option value=\"{$value}\" {$selected}>{$value}</option>";
            }
            ?>
        </select>
        <br><br>
        <label for="meta-box-checkbox">Check Box:</label>
        <?php
        $checkbox_value = get_post_meta($object->ID, "meta-box-checkbox", true);
        $checked = ($checkbox_value == "true") ? 'checked' : '';
        ?>
        <input name="meta-box-checkbox" type="checkbox" value="true" <?php echo $checked; ?>>
    </div>
    <?php
}
ログイン後にコピー
または

)はコンテキストに依存していることを忘れないでください。 do_meta_boxeswp_dashboard_setup結論:

WordPressのメタボックスAPIは、機能を拡張するための強力なツールです。 そのニュアンスを理解し、セキュリティのベストプラクティスの優先順位付けは、効果的な実装の鍵です。 提供されたコードの例はコアプロセスを示していますが、特定のニーズに適応し、常にユーザー入力を消毒することを忘れないでください。

以上がWordPress管理インターフェイスにカスタムメタボックスを追加しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート