WordPressは、ユーザーが、管理インターフェイス内で投稿、ページ、カスタム投稿タイプのカスタムメタボックスを作成できるようにします。 WordPress APIは、デフォルトのメタボックスの広範なカスタマイズオプションも提供しています。このチュートリアルは、デフォルトのメタボックスの削除とともに、カスタムメタデータの作成、保存、検証、取得を紹介します。
重要な概念:
カスタムメタボックスは、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
テキスト入力、ドロップダウン、およびチェックボックスを追加しましょう
を使用します。
メタデータの保存:
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");
を使用します
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_boxes
wp_dashboard_setup
結論:
WordPressのメタボックスAPIは、機能を拡張するための強力なツールです。 そのニュアンスを理解し、セキュリティのベストプラクティスの優先順位付けは、効果的な実装の鍵です。 提供されたコードの例はコアプロセスを示していますが、特定のニーズに適応し、常にユーザー入力を消毒することを忘れないでください。
以上がWordPress管理インターフェイスにカスタムメタボックスを追加しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。