首頁 > CMS教程 > &#&按 > 將自定義的元框添加到WordPress Admin界面

將自定義的元框添加到WordPress Admin界面

尊渡假赌尊渡假赌尊渡假赌
發布: 2025-02-18 08:26:09
原創
651 人瀏覽過

WordPress賦予用戶直接在管理界面內的帖子,頁面和自定義帖子類型創建自定義元框。 WordPress API還為默認的元框提供了廣泛的自定義選項。該教程指導您通過創建,保存,驗證和檢索自定義元數據,並刪除默認的元框。

>

密鑰概念:

  • 自定義元框,通過允許在帖子,頁面和自定義帖子類型中添加額外信息來擴展WordPress功能。 這些顯示在WordPress儀表板中。
  • 涉及編碼時,諸如高級自定義字段,元框和CMB2之類的插件大大簡化了該過程。 主題文件修改對於在前端顯示自定義元框數據是必要的。
  • > 自定義元盒功能強大,但有局限性。 他們無法更改WordPress管理接口或添加不支持的功能。 數據驗證和消毒對安全至關重要。
  • >

了解自定義元框:>

自定義元框提供了一種添加WordPress默認選項以外的字段的方法。插件和主題利用它們收集結構化的用戶輸入。 它們也可以添加到儀表板中,以反映WordPress儀表板小部件的功能(本質上是元框本身)。 標準的元框包括編輯器,自定義字段,特色圖像,類別和標籤部分。

>自定義元框與自定義字段:

自定義字段存儲鍵值數據對。 Meta框提供更多的通用輸入類型,包括顏色拾取器,文件上傳和下拉列表。

元數據解釋了:

>元數據表示輸入的值中的值。 WordPress將此數據存儲為鍵值對(元密鑰和元值),其中元密鑰是字段名稱,元值是輸入的數據。 >

創建一個元框:>

函數寄存器並顯示自定義元框。 以下代碼將自定義的元框添加到WordPress帖子: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");
登入後複製
登入後複製
>

使用七個參數:id(唯一標識符),標題(顯示標題),回調(函數顯示內容),屏幕(帖子類型),context(position),優先級(上下文中的順序)和回調參數。 add_meta_box

Adding Custom Meta Boxes to the WordPress Admin Interface

>

>將字段添加到自定義元框:> >讓我們添加一個文本輸入,下拉和復選框:>

此代碼包括對安全性的NONCE驗證,並使用

來檢索現有數據。
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
}
登入後複製
登入後複製

get_post_meta

>保存元數據:

掛鉤保存數據: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_boxes)取決於上下文。 wp_dashboard_setup

結論:

WordPress的Meta Box API是擴展功能的強大工具。 了解其細微差別並確定安全性最佳實踐是有效實施的關鍵。 提供的代碼示例說明了核心過程,但請記住將它們適應您的特定需求並始終對用戶輸入進行消毒。

以上是將自定義的元框添加到WordPress Admin界面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板