首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

向wordpress的Post“Publish”框添加自定义复选框

要在WordPress的发布框中添加自定义复选框,您需要进行一些定制开发。以下是实现这一功能的基础概念和相关步骤:

基础概念

  1. WordPress Hooks: WordPress提供了一种机制,允许开发者在不修改核心文件的情况下,通过钩子(Hooks)来扩展或修改功能。
  2. Custom Fields: 自定义字段允许您为帖子、页面或其他WordPress内容类型添加额外的元数据。
  3. PHP and WordPress Functions: 使用PHP语言和WordPress提供的函数来编写自定义代码。

实现步骤

以下是添加自定义复选框到WordPress发布框的步骤:

1. 添加自定义字段到发布表单

使用add_meta_box()函数添加一个新的元框(Meta Box),并在其中放置您的自定义复选框。

代码语言:txt
复制
function add_custom_publish_checkbox() {
    add_meta_box(
        'custom_publish_checkbox',
        'Custom Checkbox',
        'render_custom_publish_checkbox',
        'post',
        'side',
        'high'
    );
}
add_action('add_meta_boxes', 'add_custom_publish_checkbox');

function render_custom_publish_checkbox($post) {
    wp_nonce_field(basename(__FILE__), 'custom_publish_checkbox_nonce');
    $value = get_post_meta($post->ID, '_custom_checkbox_value', true);
    echo '<label for="custom_checkbox">';
    echo '<input type="checkbox" id="custom_checkbox" name="custom_checkbox" value="1" ' . checked(1, $value, false) . '/>';
    echo ' Enable Feature';
    echo '</label>';
}

2. 保存自定义字段的值

当帖子被保存时,您需要捕获并保存复选框的值。

代码语言:txt
复制
function save_custom_publish_checkbox($post_id) {
    if (!isset($_POST['custom_publish_checkbox_nonce'])) {
        return;
    }
    if (!wp_verify_nonce($_POST['custom_publish_checkbox_nonce'], basename(__FILE__))) {
        return;
    }
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return;
    }
    if (!current_user_can('edit_post', $post_id)) {
        return;
    }
    if (isset($_POST['custom_checkbox'])) {
        update_post_meta($post_id, '_custom_checkbox_value', 1);
    } else {
        delete_post_meta($post_id, '_custom_checkbox_value');
    }
}
add_action('save_post', 'save_custom_publish_checkbox');

3. 使用自定义字段的值

您可以在模板文件或其他需要的地方检索并使用这个自定义字段的值。

代码语言:txt
复制
$custom_checkbox_value = get_post_meta(get_the_ID(), '_custom_checkbox_value', true);
if ($custom_checkbox_value == 1) {
    // 复选框被选中,执行相应操作
}

应用场景

  • 功能开关: 允许作者在发布文章时启用或禁用某些功能。
  • 内容分类: 为帖子添加额外的分类标签,用于内部处理或显示。
  • 权限控制: 根据复选框的状态来控制内容的可见性或其他权限设置。

注意事项

  • 确保您的代码遵循WordPress的安全最佳实践,例如使用wp_nonce_field来防止CSRF攻击。
  • 在保存数据时检查当前用户是否有权限编辑帖子。
  • 在实际部署前,应在开发环境中充分测试您的代码。

通过以上步骤,您可以在WordPress的发布框中成功添加并管理自定义复选框。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WordPress 技巧:如何添加自定义 Post Formats

Post Formats 是 WordPress 3.1 时添加的新功能,默认的有10种类型,但是我们在开发中这些类型常常不能满足需求,如何添加自定义的新类型呢?...可惜的是,WordPress 目前并不允许添加新类型,也就是说我们无法调用官方 API 来创建,这里给出一种巧妙的方式,变相得实现了新类型的添加。...首先,在 function.php 文件中,我们添加下列代码,这样就显示出默认的 Post Formats: add_theme_support( 'post-formats', array( 'status...', 'link', "quote" ) ); 然后我们在添加修改名称的代码: function rename_post_formats( $safe_text ) { if ( $safe_text...' ); 我们可以看到默认的 Post Formats 变成了我们修改后的类型。

44620

wordpress添加post_type自定义文章类型

wordpress很强大,能当博客也能进行二次开发出很完善的内容管理系统满足企业运营需求,比如可以添加products产品模型、汽车模型等,如何实现呢?...添加post_type自定义文章类型就可以了   post_type自定义文章类型实例:产品模型,在当前主题的function.php文件中添加如下代码 // Register Custom Post...以下是相关注释 # 在 'init' 钩子上注册自定义文章类型. add_action('init', 'my_register_post_types'); /** * 注册插件需要的文章类型 *...'custom-fields', // 显示自定义字段元数据盒子 'revisions', // 显示版本元数据盒子,如果设置了该参数,WordPress 将在数据库中保存文章版本...、错误等信息中的字段,我们需要过滤 // 'post_updated_messages' 钩子来自定义这些消息。

1.5K10
  • 如何设置 WordPress 文章待审核邮件通知

    如果你有一个多作者博客,那么你可能会发现知道作家何时提交文章供评论是有帮助的。 在本教程中,我们将向您展示如何获得在WordPress中等待审核的文章的电子邮件通知。...PublishPress是多作者WordPress博客的最佳插件。当WordPress更改文章状态时,它会发送电子邮件通知,同时添加大量其他功能。...当内容发布并在帖子中添加编辑评论时,这些电子邮件会发送给网站管理员。 要创建新的自定义通知,您需要单击”Add New”按钮。继续在标题部分键入”文章待审核”。...接下来,您需要让PublishPress 知道您要发送通知的内容类型。因此,单击Post type复选框,从下拉菜单中选择”Posts”。...该文章由[psppno_post display_name]撰写。 文章URL是[psppno_post permalink] 最后一步是单击“Publish”按钮。这将保存和激活通知工作流程。

    1.7K30

    如何在你的 wordpress 网站中添加搜索框

    前端刷题(面经大全)网站:点击跳转到网站 博主前些天发现了一个巨牛巨好用的刷题网站,忍不住分享一下给大家,点击跳转到网站 如果你的主题不提供在你的 WordPress 网站中包含搜索框的功能,请按照以下步骤了解如何做到这一点...转到添加新插件部分并搜索 Ivory Search (by Ivory Search)。 单击立即安装,然后激活它们。 一个新的象牙搜索选项卡出现在左侧的仪表板上。...同样,你还可以探索 Customize、AJAX 和 Options 部分来自定义你的搜索栏。...当你在 Ivory Search 表单中工作时,将鼠标悬停到 Settings 选项(在 Ivory Search 下仪表板的左侧面板上),以设置搜索框的位置。这可以在页眉或页脚或水平菜单等中。...菜单搜索部分中可用的选项是特定于主题的。 在“Settings”部分,你可以设置搜索框的外观。

    4K31

    Meta Box:一个被名字耽误的强大的WordPress自定义字段插件

    When a user edits a post, the edit screen is composed of several default boxes: Editor, Publish, Categories...根据官网的介绍,meta box是WordPress后台编辑界面上的一些功能框,比如编辑器、发布按钮、目录/Tag选择框等等都叫做meta box。...插件和主题可以通过使用add_meta_box()函数可以在 WordPress 后台的编辑区加入自定义meta box。...在之前的文章中也有介绍过这个插件的使用案例:在Genesis主题中手动添加WordPress相关文章。类似的插件还有 Carbon Fields 等等。...复选框列表 颜色 自定义HTML 日期 日期时间 分割线 Fieldset文字 文件 高级文件 文件输入框 文件上传 标题 隐藏元素 图像 高级图像 图像选择器 图像上传 键值对 地图 数字 嵌入对象

    4.2K20

    Multiple Post Thumbnails:给你的 WordPress 博客添加多个日志缩略图

    在使用 WordPress 个客户开发项目的时候,经常会碰到需要设置多个日志缩略图的需求,当然我们可以通过自定义字段实现,但是这样使用起来不是非常方便,没有默认的设置特色图片那么好用,这时候,我一般使用...Multiple Post Thumbnails 介绍 Multiple Post Thumbnails 是一个面向 WordPress 开发者的一个插件,它定义了一套在后台增加多个缩略图的机制,以及在前端调用新增缩略图的方法...,并且它定义的后台空间支持最新的 WordPress 3.5 图片上传方式,使用起来和默认的特色图片基本一致。...如果你想给当前日志添加第二章缩略图,在当前主题的 functions.php 中添加如下代码: if (class_exists('MultiPostThumbnails')) { new...' => 'post' ) ); } 当然你可以通过将 post_type 设置为 page,给静态页面设置第二章缩略图,也给自定义日志类型设置。

    33910

    WordPress后台仪表盘“概览”小工具添加其他文章类型数据

    WordPress 的自定义文章类型是非常好的一个功能,允许我们根据需求创建和文章等类似的文章类型,每种文章类型都有自己的管理菜单和功能。...如果你的网站拥有自定义文章类型,你肯定希望可以向文章、页面和评论一样,在仪表盘的【概览】小工具显示其他文章类型的数据,如下图所示: 这就是WordPress大学今天要分享的教程:如何在WordPress...后台仪表盘“概览”小工具添加其他文章类型数据。...用到的代码如下: function wpdaxue_add_custom_post_counts() { // 根据你的需要修改下面array()里面的文章类型别名即可 $post_types...你只需要根据自己的实际情况,修改第四行代码的 array() 数组的文章类型别名,然后添加到当前主题的 functions.php 即可。

    43520

    丰富排版页面——为你的wordpress主题添加短代码形式美化框

    原理大概是通过wordpress本身的短代码功能,事先在主题用css样式定义一些美化框,在编辑文章时写入短代码修饰,正式发表后再前台就可以看到效果。...使用插件与直接代码增加的效果几乎是一样的(即安装插件对WordPress 速度上影响不大)。...详细可以见《S-shortcodes:WordPress短代码形式美化框插件下载》 应该说,这些是挺好看的,多多少少可以丰富一下单调的文章页面。...为你的wordpress主题添加短代码形式美化框教程如下: 一、打开你的主题的function.php文件,在最后一个 ?...二、下载以下素材文件(点击下载),解压后放入主题的imagine文件夹中;也可以自己自定义,自己自定义则修改下面“三”中的代码的相对应路径地址。

    2.2K60

    WordPress 添加投稿功能

    WordPress网站开放投稿功能,接受读者的投稿。但WordPress本身并不提供投稿功能,只拥有强大的扩展能力,我们可以自己添加这个投稿功能。...此页面即自定义的前台注册页面,将该页面的链接放到网站任何位置,供用户点击注册即可,示例为米扑博客:http://blog.mimvp.com 好了,投稿的基本功能已经添加完毕,至于表单样式不好看,表单缺少你想要的项目等问题...’, 2、如果你想让用户在投稿的同时,将投稿者注册成你本站的投稿者,并将文章的作者归到这个投稿者的名下,你可以参考上面的投稿代码tougao.php 3、如果你的博客文章都有自定义栏目,并且想在用户投稿的同时添加自定义栏目...,参考上面的投稿代码tougao.php 4、如果你觉得本文提供的文章编辑框太过单调,需要一个富文本编辑,你可以看看这篇文章(包含图片上传功能):WordPress投稿功能添加富文本编辑器 5、如果你使用了一些富文本编辑器...禁止WordPress自动加br标签的方法 每当WordPress添加html代码时候WordPress都会进行格式检查自动在后面加入br标签或p标签导致代码出现错误,打开WordPress程序中的 wp-includes

    1.6K40

    使用函数register_post_type()给你的WordPress添加一个说说心情动态页面

    几不利于收录也不美观,所以这里我们搭建一个专门发动态的页面,用register_post_type( ) 函数创建一个新的帖子类型。...官方函数说明:https://developer.wordpress.org/reference/functions/register_post_type/ 正文 首先将下面的代码接放入主题的 functions.php...('shuoshuo', $args); } add_action('init', 'shuoshuo_custom_init'); 然后添加我们的动态页面模板文件,将下面代码复制另存为一个新的php文件...php query_posts("post_type=shuoshuo & post_status=publish & posts_per_page=-1");...php get_footer(); 最后我们去wordpress后台添加一个新的页面到菜单,模板设置里面可以看到多了一个说说/微语,然后发布也多了一个说说菜单。

    66250

    如何使用 CAPTCHA 保护您的 WordPress 网站

    他们能: 使网站网络崩溃 分发恶意软件 伤害搜索引擎优化 较低的流量 威胁要索取赎金 向博客的评论部分发送垃圾邮件 窃取个人信息 WordPress CAPTCHA 让黑客和垃圾邮件机器人远离,尤其是在暴力攻击方面...你还应该考虑 WPForms,如果您想在现成的 WordPress 提供的之外对您的网站进行品牌化或个性化,它可以让您创建自定义登录和注册表单。...在 reCAPTCHA 类型下,选择第二个选项 reCAPTCHA v2,然后选择“我不是机器人”复选框。 您还需要填写标签和域部分,然后选中服务条款框。 完成后单击提交。...将它们复制并粘贴到 WordPress 插件设置页面上的相应框中。 在启用表单旁边,选择您想要 WordPress CAPTCHA 测试的位置。...在页面下方,您可以进行更多调整,例如自定义错误消息、选择浅色或深色主题以及为登录用户隐藏 CAPTCHA。 而已! 检查您的网站以确保 CAPTCHA 框位于它们应有的位置。

    3.6K00

    WordPress 判断文章更新,避免重复推送

    方法①、当网站未禁用修订功能时,可通过修订判断来终止插件推送: WordPress 的修订功能默认是打开的,那么我们就可以用下面这个语句来判断是否是更新动作。...::genSchemaByPostId($postid, $xpost); if ('publish' !...这时候,我们可以借助 WordPress 的自定义栏目功能来解决这个问题。...原理很简单:文章首次发布时,会向百度推送数据,并且在对应文章中新增一个自定义栏目:Baidusubmit=1 更新文章的时候,插件先判断自定义栏目,如果 Baidusubmit=1,则不再推送,从而解决了重复推送问题...=1,则返回 if(get_post_meta($postid,'Baidusubmit',true) == 1) return; //若推送到百度,则新增自定义栏目 add_post_meta($postid

    65530

    D妹手把手带你撸WordPress实战项目!谁说妹子不适合敲代码?

    60分钟,到期后应用会被后台自动销毁 第三步:点击正式开通按钮,会进入正式开通流程,如下: 如果没有角色服务授权,需要依次点击权限边上的小勾复选框,然后点击下一步 第四步:下来会进入资源确认与费用提示的流程...,如下: 可以看到开通wordpress需要使用cynosdb和cfs这两个附加收费资源,并且费用也已用红色字体标注,确认后,需要勾上费用提示左边的复选框,然后点击下一步即可。...第一步:首先登陆wordpress后台,在开源应用中心后台找到的管理员账号密码,然后访问wordpress后台登陆 第二步:进入后台后,点击左侧栏的post→add new按钮,如下图: 第三步:此时可以看到文章编辑界面...,简单写一篇测试文章吧 第四步:此时文章写好之后,点击右上角的publish按钮,就可以发布文章啦。...发布成功后,我们去首页查看刚才发布的文章,如下: 第五步:当然可以在文章中添加图片等其他元素,可以多尝试一下,总之发布文章就这么简单。

    50220

    让你的WP跑得更快 - WordPress优化指南

    程序优化 插件与主题的使用 WordPress拥有优秀的的兼容性与生态,因此网络上存在大量的主题与插件供我们选择,我们在选择插件时应该遵循几个原则: 只选有用的插件:用处不大的插件只会拖慢博客的运行速度...在 wp-config.php文件后添加下列内容 //WordPress自定义优化项。...//WordPress主题 functions.php 优化项 //引入方式:在主题functions.php后添加 //移除不必要的信息,如WordPress版本 remove_action('wp_head...adjacent_posts_rel_link_wp_head', 10, 0); remove_action('wp_head', 'locale_stylesheet'); remove_action('publish_future_post...','check_and_publish_future_post',10, 1); remove_action('wp_head', 'noindex', 1); remove_action('wp_head

    38920

    让你的WP跑得更快 - WordPress优化指南

    程序优化 插件与主题的使用 WordPress拥有优秀的的兼容性与生态,因此网络上存在大量的主题与插件供我们选择,我们在选择插件时应该遵循几个原则: 只选有用的插件:用处不大的插件只会拖慢博客的运行速度...在 wp-config.php文件后添加下列内容 //WordPress自定义优化项。...//WordPress主题 functions.php 优化项 //引入方式:在主题functions.php后添加 //移除不必要的信息,如WordPress版本 remove_action('wp_head...adjacent_posts_rel_link_wp_head', 10, 0); remove_action('wp_head', 'locale_stylesheet'); remove_action('publish_future_post...','check_and_publish_future_post',10, 1); remove_action('wp_head', 'noindex', 1); remove_action('wp_head

    66020

    BaiduSubmit:度娘WordPress结构化数据插件(改进版)

    ②、关闭 WordPress 实时推送 除了这个插件会实时推送数据,WordPress 其实还自带了一个更新通知功能: ? 直接将百度的 PING 服务删除即可,其他的删不删应该都没关系。...这时候,我们可以借助 WordPress 的自定义栏目功能来解决这个问题。...原理很简单:文章首次发布时,会向百度推送数据,并且在对应文章中新增一个自定义栏目:Baidusubmit=1 更新文章的时候,插件先判断自定义栏目,如果 Baidusubmit=1,则不再推送,从而解决了重复推送问题...=1,则返回 if(get_post_meta($postid,'Baidusubmit',true) == 1) return; //若推送到百度,则新增自定义栏目 add_post_meta($postid...发布文章之后,文章编辑界面的自定义栏目中将出现如下键值: ? 后续,如果想让插件再次向百度推送文章,只需要将这个值改为 0 或其他数值即可。

    1.3K50

    同步 WordPress 博客日志到新浪微博

    前面我介绍新浪微博开放 API,以及使用新浪 API 的 OAuth 协议创建新浪连接插件,可以使用新浪微博的帐号登录 WordPress 博客,今天介绍下如何同步 WordPress 博客日志到新浪微博...,同步日志到新浪微博非常简单,我前面介绍了同步到嘀咕,雷猴等微博客,同步到新浪微博的方法基本也一致,分为两步: 首先我们创建更新状态到新浪微博的函数,这里我用到了 WordPress 自带的 WP_Http...然后 WordPress 日志发布之后的 hook 是 publish_post,我们可以在这个 action 执行的时候执行上面的函数,从而同步 WordPress 博客日志到新浪微博但是任何一次在...WordPress 后台点击更新日志都会触发这个 action,所以我们要用自定义字段记录是否已经把日志同步到了新浪微博: add_action('publish_post', 'publish_post..._2_sina_t', 0); function publish_post_2_sina_t($post_ID){     $sina_t = get_post_meta($post_ID, 'sina_t

    32110
    领券