首页 >CMS教程 >WordPress >将自定义的元框添加到WordPress Admin界面

将自定义的元框添加到WordPress Admin界面

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌原创
2025-02-18 08:26:09653浏览

WordPress赋予用户直接在管理界面内的帖子,页面和自定义帖子类型创建自定义元框。 WordPress API还为默认的元框提供了广泛的自定义选项。该教程指导您通过创建,保存,验证和检索自定义元数据,并删除默认的元框。

>

密钥概念:

  • 自定义元框,通过允许在帖子,页面和自定义帖子类型中添加额外信息来扩展WordPress功能。 这些显示在WordPress仪表板中。
  • 涉及编码时,诸如高级自定义字段,元框和CMB2之类的插件大大简化了该过程。 主题文件修改对于在前端显示自定义元框数据是必要的。
  • > 自定义元盒功能强大,但有局限性。 他们无法更改WordPress管理接口或添加不支持的功能。 数据验证和消毒对安全至关重要。
  • >

了解自定义元框:>

自定义元框提供了一种添加WordPress默认选项以外的字段的方法。插件和主题利用它们收集结构化的用户输入。 它们也可以添加到仪表板中,以反映WordPress仪表板小部件的功能(本质上是元框本身)。 标准的元框包括编辑器,自定义字段,特色图像,类别和标签部分。

>自定义元框与自定义字段:

自定义字段存储键值数据对。 Meta框提供更多的通用输入类型,包括颜色拾取器,文件上传和下拉列表。

元数据解释了:

>元数据表示输入的值中的值。 WordPress将此数据存储为键值对(元密钥和元值),其中元密钥是字段名称,元值是输入的数据。>

创建一个元框:>

函数寄存器并显示自定义元框。 以下代码将自定义的元框添加到WordPress帖子:add_meta_box>

<code class="language-php">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");</code>
>

使用七个参数:id(唯一标识符),标题(显示标题),回调(函数显示内容),屏幕(帖子类型),context(position),优先级(上下文中的顺序)和回调参数。add_meta_box

Adding Custom Meta Boxes to the WordPress Admin Interface

>

>将字段添加到自定义元框:> >让我们添加一个文本输入,下拉和复选框:>

此代码包括对安全性的NONCE验证,并使用

来检索现有数据。
<code class="language-php">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}\"'>{$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" echo>>
    </div>
    <?php
}</code>

get_post_meta

>保存元数据:

挂钩保存数据:save_post

<code class="language-php">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");</code>
此代码可验证NONCE,用户权限和自动信号。 至关重要的是,它使用

来防止安全漏洞。sanitize_text_field>

>删除元盒:

函数删除了元框。 例如,要删除自定义字段元框:remove_meta_box

<code class="language-php">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}\"'>{$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" echo>>
    </div>
    <?php
}</code>
请记住,使用的钩子(例如,

do_meta_boxes)取决于上下文。 wp_dashboard_setup

结论:

WordPress的Meta Box API是扩展功能的强大工具。 了解其细微差别并确定安全性最佳实践是有效实施的关键。 提供的代码示例说明了核心过程,但请记住将它们适应您的特定需求并始终对用户输入进行消毒。

以上是将自定义的元框添加到WordPress Admin界面的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn