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

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

Feb 18, 2025 am 08:26 AM

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

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何开始WordPress博客:初学者的分步指南 如何开始WordPress博客:初学者的分步指南 Apr 17, 2025 am 08:25 AM

博客是人们在网上表达观点、意见和见解的理想平台。许多新手渴望建立自己的网站,却因担心技术障碍或成本问题而犹豫不决。然而,随着平台不断发展以满足初学者的能力和需求,现在开始变得比以往任何时候都更容易。 本文将逐步指导您如何建立一个WordPress博客,从主题选择到使用插件提升安全性和性能,助您轻松创建自己的网站。 选择博客主题和方向 在购买域名或注册主机之前,最好先确定您计划涵盖的主题。个人网站可以围绕旅行、烹饪、产品评论、音乐或任何激发您兴趣的爱好展开。专注于您真正感兴趣的领域可以鼓励持续写作

如何在 WordPress 中获取登录用户信息以获得个性化结果 如何在 WordPress 中获取登录用户信息以获得个性化结果 Apr 19, 2025 pm 11:57 PM

最近,我们向您展示了如何通过允许用户将自己喜欢的帖子保存在个性化库中来为用户创建个性化体验。您可以通过在某些地方(即欢迎屏幕)使用他们的名字,将个性化结果提升到另一个水平。幸运的是,WordPress使获取登录用户的信息变得非常容易。在本文中,我们将向您展示如何检索与当前登录用户相关的信息。我们将利用get_currentuserinfo(); 功能。这可以在主题中的任何地方使用(页眉、页脚、侧边栏、页面模板等)。为了使其工作,用户必须登录。因此我们需要使用

如何在父分类的存档页面上显示子分类 如何在父分类的存档页面上显示子分类 Apr 19, 2025 pm 11:54 PM

您想了解如何在父分类存档页面上显示子分类吗?在自定义分类存档页面时,您可能需要执行此操作,以使其对访问者更有用。在本文中,我们将向您展示如何在父分类存档页面上轻松显示子分类。为什么在父分类存档页面上显示子分类?通过在父分类存档页面上显示所有子分类,您可以使其不那么通用,对访问者更有用。例如,如果您运行一个关于书籍的WordPress博客,并且有一个名为“主题”的分类法,那么您可以添加“小说”、“非小说”等子分类法,以便您的读者可以

wordpress文章列表怎么调 wordpress文章列表怎么调 Apr 20, 2025 am 10:48 AM

有四种方法可以调整 WordPress 文章列表:使用主题选项、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代码(在 functions.php 文件中添加设置)或直接修改 WordPress 数据库。

对于初学者来说,WordPress容易吗? 对于初学者来说,WordPress容易吗? Apr 03, 2025 am 12:02 AM

WordPress对初学者来说容易上手。1.登录后台后,用户界面直观,简洁的仪表板提供所有必要功能链接。2.基本操作包括创建和编辑内容,所见即所得的编辑器简化了内容创建。3.初学者可以通过插件和主题扩展网站功能,学习曲线存在但可以通过实践掌握。

如何在 WordPress 中按帖子过期日期对帖子进行排序 如何在 WordPress 中按帖子过期日期对帖子进行排序 Apr 19, 2025 pm 11:48 PM

过去,我们分享过如何使用PostExpirator插件使WordPress中的帖子过期。好吧,在创建活动列表网站时,我们发现这个插件非常有用。我们可以轻松删除过期的活动列表。其次,多亏了这个插件,按帖子过期日期对帖子进行排序也非常容易。在本文中,我们将向您展示如何在WordPress中按帖子过期日期对帖子进行排序。更新了代码以反映插件中更改自定义字段名称的更改。感谢Tajim在评论中让我们知道。在我们的特定项目中,我们将事件作为自定义帖子类型。现在

如何在 WordPress 中显示查询数量和页面加载时间 如何在 WordPress 中显示查询数量和页面加载时间 Apr 19, 2025 pm 11:51 PM

我们的一位用户询问其他网站如何在页脚中显示查询数量和页面加载时间。您经常会在网站的页脚中看到这一点,它可能会显示类似以下内容:“1.248秒内64个查询”。在本文中,我们将向您展示如何在WordPress中显示查询数量和页面加载时间。只需将以下代码粘贴到主题文件中您喜欢的任何位置(例如footer.php)。queriesin

我可以在3天内学习WordPress吗? 我可以在3天内学习WordPress吗? Apr 09, 2025 am 12:16 AM

能在三天内学会WordPress。1.掌握基础知识,如主题、插件等。2.理解核心功能,包括安装和工作原理。3.通过示例学习基本和高级用法。4.了解调试技巧和性能优化建议。

See all articles