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

在Wordpress中使用CMB2添加带有自定义回调函数的自定义Meta Box?

在WordPress中使用CMB2添加带有自定义回调函数的自定义Meta Box,可以通过以下步骤实现:

  1. 首先,确保已经安装并激活了CMB2插件。可以从WordPress插件市场中搜索并安装CMB2插件。
  2. 在主题的functions.php文件中,添加以下代码来创建一个自定义Meta Box:
代码语言:php
复制
function custom_meta_box_callback($post) {
    // 自定义回调函数的内容
}

function add_custom_meta_box() {
    add_meta_box(
        'custom_meta_box',
        '自定义Meta Box',
        'custom_meta_box_callback',
        'post',
        'normal',
        'default'
    );
}
add_action('add_meta_boxes', 'add_custom_meta_box');

在上述代码中,custom_meta_box_callback函数是自定义回调函数,你可以在其中添加自定义的HTML和逻辑。

  1. 在自定义回调函数中,可以使用CMB2提供的API来添加字段。例如,可以使用add_field函数添加一个文本字段:
代码语言:php
复制
function custom_meta_box_callback($post) {
    $cmb = new_cmb2_box(array(
        'id' => 'custom_meta_box',
        'title' => '自定义Meta Box',
        'object_types' => array('post'),
        'context' => 'normal',
        'priority' => 'default',
    ));

    $cmb->add_field(array(
        'name' => '自定义字段',
        'id' => 'custom_field',
        'type' => 'text',
    ));
}

在上述代码中,add_field函数用于添加一个文本字段,你可以根据需要添加其他类型的字段。

  1. 最后,保存并更新文章时,可以使用CMB2提供的API来获取和保存自定义字段的值。例如,可以使用get_post_meta函数获取字段的值:
代码语言:php
复制
function save_custom_meta_box_data($post_id) {
    if (isset($_POST['custom_field'])) {
        $custom_field_value = sanitize_text_field($_POST['custom_field']);
        update_post_meta($post_id, 'custom_field', $custom_field_value);
    }
}
add_action('save_post', 'save_custom_meta_box_data');

在上述代码中,save_custom_meta_box_data函数用于保存自定义字段的值。

通过以上步骤,你可以在WordPress中使用CMB2添加带有自定义回调函数的自定义Meta Box。请注意,CMB2还提供了许多其他功能和选项,你可以根据需要进行进一步的定制和扩展。

腾讯云相关产品和产品介绍链接地址:

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

相关·内容

自定义了几个 WordPress 中用于数据判断函数

我们进行 WordPress 开发时候,获取数据时候,需要对数据清理,这时候可能需要数组去掉 null 值,空值等,保留下非 null 值和非空值等操作,为了方便这些操作,我定了几个用于数据判断函数...判断数据非 null 判断数据非空,我们可以直接使用 isset 来判断,所以很多人和我一样,想着过滤掉数组中非空字符也直接使用 isset 作为函数: $data = array_filter(...is_null($item); }); 程序中有非常多这样数组需要过滤掉 null 值处理,每次都适用闭包函数方式感觉有点不优雅,所以我定义了一个函数 is_exists。...随便说一下这个函数名我想了很久,很早之前就想写这个函数作为函数使用了,但是一直没有好名字,然后看到 file_exists,function_exists 和 method_exists,突然来了灵感...$data = array_filter($data, 'is_exists'); 判断字符串是否为空 PHP 里面空值是可以使用 empty 来判断,但是有一点特别注意一下,这个函数会把字符串

40030

wordpress自定义类型文章新增自定义字段方法-文曦博客

wordpress强大之处在于有很强自定义性,使得插件、主题开发变得及其便利。就拿我们今天要说自定义文章添加自定义字段来说,就很便捷。         ...自定义Meta Box需要用到add_meta_box函数,其新增信息会保存到数据库wp_postmeta表。         ...',//函数         'product',//所添加文章类型         'side',         'low'     );} 2、创建函数product_director_meta_box...配置参数里面指定了函数product_director_meta_box,需要在这个函数里面创建表单: function product_director_meta_box($post) {     ...' );//保存文章时,执行函数function product_director_save_meta_box($post_id){//函数,显示表单,用于新建和编辑显示表单     // 安全检查

1K30
  • React useEffect中使用事件监听函数state不更新问题

    很多React开发者都遇到过useEffect中使用事件监听函数获取到旧state值问题,也都知道如何去解决。...按钮 eventListener事件函数打印state值add // 点击add按钮 设置新state值showCount // 点击showCount按钮 打印state值addEventListenerShowCount...// 再次点击addEventListenerShowCount按钮 eventListener事件函数打印state值控制台打印结果如下图片手动实现简易useEffect,事件监听函数也会有获取不到...React函数也是一样情况,某一个对象监听事件函数,这个对象相当于全局作用域变量(或者与函数同一层作用域链),函数获取到state值,为第一次运行时内存state值。...而组件函数普通函数,每次运行组件函数,普通函数与state作用域链为同一层,所以会拿到最新state值。

    10.8K60

    WordPress 自定义文章类型(Post Type)终极指南

    这样 WordPress 初始化时候,就会执行这个函数注册一个自定义 Post Type,因为调用 register_post_type() 时候,必须要在 admin_menu action 之前...那么就需要添加自定义 Meta BoxMeta Box 可以文章发表页面添加自定义表单,编写文章时候可以填写额外信息然后在前端调用出来。...'side', 'low' ); } 然后配置参数里面指定了函数 movie_director_meta_box,我们需要在这个函数里面创建表单: function movie_director_meta_box...把这些代码添加进 functions.php 文件之后,你 Meta Box 就可以正常工作了。如果你需要更多表单,按照这个模式自定义表单结构,然后添加保存函数即可。...首页列表显示自定义 Post Type 内容 虽然我们自定义好了 Post Type 同时也编写了一些内容,但是首页列表里面并没有显示出来。

    2.9K20

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

    插件和主题可以通过使用add_meta_box()函数可以 WordPress 后台编辑区加入自定义meta box。...虽然说可以通过主题直接使用add_meta_box函数,但是更多情况下还是插件使用,比如注明WordPress超级自定义字段插件:Advanced Custom Fields 。...之前文章也有介绍过这个插件使用案例:Genesis主题中手动添加WordPress相关文章。类似的插件还有 Carbon Fields 等等。...如果想要在主题中显示出设置自定义字段,使用函数用法如下: $value = rwmb_meta( $field_id ); echo $value; 通过短码获取 除了使用函数方式之外,Meta...Box还提供了一个短码rwmb_meta可以方便日志调用自定义字段。

    4K20

    WordPress添加自定义字段栏目面板

    wordpress博客自定义栏目使用非常泛,没有使用自定义栏目的博友可以看看《WordPress 自定义字段 自定义使用方法》。...主题制作往往会使用WP自定义字段实现一些功能,特别是wordpress淘宝客模板使用,产品价格、链接都可以通过自定义栏目使用。...下面通过主题functions.php文件添加代码实现该功能。....'" />'; } 三、创建自定义字段模块 下面代码将在文章编辑页添加自定义字段模块,这其中这用了WordPress添加模块函数add_meta_box: function create_meta_box...('admin_menu', 'create_meta_box'); add_action('save_post', 'save_postdata'); 最后主题模板添加创建自定义字段即可.

    93920

    WPJAM 配置器:无需一行代码就能配置文章类型,自定义字段,自定义分类,分类选项和全局选项

    不过上面这些功能都需要你会写代码,比如使用 register_post_type 这些自定义函数等,而且参数很多,使用起来还是有一定难度。...文章选项 文章选项创建有点不一样,首先要创建 meta box: 输入 meta box 标题,ID,以及适用文章类型,就可以一个文章 meta box 了: 然后点击「添加字段」就可以给对应...最后创建文章选项,在编辑页面,自动生成 meta box,如下所示: 自定义分类 使用配置创建自定义分类和创建自定义文章类型相似: 可以设置名称,分类,层次结构,支持分类模式,和显示设置即可:...分类选项 WordPress 分类,标签或者自定义分类编辑页面没有 meta box,所以创建分类选项时候,直接添加字段就好: 输入字段名,适用分类模式,字段一样使用 shortcode 方式设置...,同样具体可以参考:WPJAM 配置器字段使用说明 如上最后自定义分类编辑页面生成表单如下所示: 全局选项 全局使用一些设置,我们叫做全局选项,存储 options : 选择全局选项名称和选项

    1.1K30

    WordPress二次开发之自定义文章类型

    wordpress默认这样一种文章类型===文章,我们可以对齐进行二次开发添加属于自己文章类型,如作品、案例等 通过 register_post_type 方法注册文章类型 更多参照 基本文章类型...(); 控制台激活插件 ,此时一个基本文章类型完成 添加元数据框 钩子函数添加 //添加元数据框 add_action('add_meta_boxes',array($this,'add_meta_boxes_my_book...')); add_meta_boxes_my_book //添加元数据框 public function add_meta_boxes_my_book(){ add_meta_box(...'my_book_admin_meta_box',//ID '作品链接', //标题 array($this,'display_my_book_meta_box...'), //处理函数 'my_book', //显示在哪个文章类型 当前文章类型 'side'//显示位置 ); } display_my_book_meta_box

    59220

    一个函数就搞定 WordPress 分类选项开发

    第四讲:一个函数就搞定 WordPress 分类选项开发 WordPress 分类选项是 WordPress 后台分类新增和编辑页面,给分类添加一些字段选项来实现功能,比如分类 SEO 标题,关键字和描述等...使用 WPJAM BASIC 创建分类选项 我们继续使用一个函数就搞定 WordPress 设置页面开发里面创建「WPJAM SEO」插件来演示怎么创建分类选项页面,今天我们会创建分类 SEO 选项...和文章选项不同,分类新增和编辑页面没有 meta_box ,字段是直接展示,所以上面代码就是分类列表和编辑页新增三个字段,分别是「SEO标题」,「SEO描述」和「SEO关键字」,我截图一下新增页面的字段...: 然后分类列表页右侧分类列表也可以进行设置操作: 点击上面「SEO设置」按钮也可以进行同样设置: 页面上使用分类选项 创建了选项之后,那么我们就要把他们用起来,WordPress 提供了获取分类自定义字段函数...: get_term_meta($term_id, $met_key, $single); // 获取分类自定义字段 首先把分类/标签/自定义分类页将页面标题改成上面定义「SEO标题」: add_filter

    40820

    jQuery基础

    jQuery冲突问题 使用jQuery时, $ 是访问jQuery标志,但是如果有其他方法与jQuery $冲突时,可以释放$使用权 ,还可以自定义一个符号来代替 $使用。...第二个参数:每遍历到一个元素后执行函数 函数参数: 第一个参数:遍历到元素 第二个参数...静态方法和map静态方法区别 1.each静态方法默认返回值就是,遍历谁就返回谁 map静态方法默认返回值是一个空数组 2.each静态方法不支持函数对遍历数组进行处理...map静态方法可以函数通过return对比那里数组进行处理然后生成一个新数组返回 ### 其他静态方法 1.$.isWindow():判断传入对象是否是window...如果通过核心函数找到元素不知一个,那么添加事件时候,jQuery 会遍历所有找到元素,给所有找到元素添加事件 */

    1.7K20

    一个函数就搞定 WordPress 文章选项开发

    第二讲:一个函数就搞定 WordPress 文章选项开发 WordPress 文章选项是 WordPress 后台文章编辑页面,给文章添加一些字段选项来实现功能,比如文章 SEO 标题,关键字和描述等...WordPress 文章选项开发有点烦 如果我们使⽤ WordPress 原⽣代码⽂章编辑页⾯创建文章选项的话,需要两步: 使用 add_meta_boxes 函数创建文章选项表单: function...使用 WPJAM BASIC 创建文章选项 我们继续使用一个函数就搞定 WordPress 设置页面开发里面创建「WPJAM SEO」插件来演示怎么创建文章选项,今天我们会演示创建文章 SEO 选项...WordPress 设置页面开发已经做了详细介绍,这里就不再赘述了。...设置」按钮也可以进行同样设置: 页面上使用文章选项 创建了选项之后,那么我们就要把他们用起来,WordPress 提供了获取自定义字段函数: get_post_meta($post_id, $met_key

    38230

    WordPress 全局变量 $pagenow 详解

    WordPress 中有非常多全局变量,$pagenow 是经常用到一个,特别是在后台开发时候,通过它,我们可以定位所在位置。...$pagenow 定义 pagenow 是 wp-include/vars.php 定义,查看他源代码,pagenow 定义简单分成两种情况: 如果是前台页面,除了自定义页面(比如feed页面...如何使用 $pagenow 知道了全局变量 pagenow 时候,我们就可以撰写后台插件时候灵活使用它进行判断,比如下面的代码就是使用 pagenow 来判断只有文章编辑页面才添加 Meta...Box: add_action( 'add_meta_boxes', 'wpjam_post_options_meta_box', 10, 2 ); function wpjam_post_options_meta_box...= 'post-new.php') return; // 具体添加日志编辑页面 Meta Box 代码 } ----

    46140

    WordPress 技巧: WordPress 后台隐藏自定义字段

    如果你想在写博客时候保持日志编辑页面尽量简洁,你可以通过下面的代码把 WordPress 自定义字段隐藏起来。...在你主题 functions.php 文件添加以下代码: add_action('admin_init','customize_meta_boxes'); function customize_meta_boxes...() { remove_meta_box('postcustom','post','normal'); } 当然 WordPress 自定义字段还是非常不错,很多插件都会用到,但是对于一般用户来说...,如果整个项目做好了,用到自定义字段就是那么几个,我们做项目的时候使用户更加容易使用和理解,一般把WordPress 自定义字段隐藏起来,然后把需要用到字段使用一个表单显示出来,如以前做阳诺太阳能项目

    57920

    使用 Flutter 制作地图应用

    本文主要介绍使用 Flutter 制作地图应用 本文中,我将向您展示如何使用 Flutter 向您应用程序添加映射功能。...依赖关系 创建一个新 Flutter 项目,然后添加一些我们将要使用依赖项。打开您pubspec.yaml文件并在依赖项添加这些行。...输入完成时候,这个时候我们可以拿到输入内容做一些操作。 与键盘事件配合,必要时候回收键盘。 TextField提供了三个方法 onChanged 此方法是输入有变化时候就会。...参数是当前已经输入内容 onSubmitted 此方法是我们输入完成后,点击键盘上回车时候。...不会带有参数 需要注意是onEditingComplete方法没有携带参数。如果我们需要在onEditingComplete方法获取到当前输入值。

    2.7K00

    JavaScript 异步编程

    Untitled 0.png Promise异步方案 常见异步方案就是通过函数来实现,导致地狱问题,CommonJS社区提出了Promise方案并在ES6采用了。...对象 //then 仍然会导致地狱 尽量保证异步任务扁平化 //也可以then方法返回一个promise对象 ajax('....方法会返回一个全新Promise对象 后面的then方法就是在为上一个then返回Promise注册 前面then方法函数返回值会作为后面then方法参数 如果返回是Promise...catch方法作为错误,不推荐使用then方法第二个参数作为错误,原因如下: 当我们收到正确又返回一个Promise对象但是执行过程中出现了错误,而这时无法收到错误。...reject:rejected 4. then方法内部做事情就是判断状态 如果状态成功调用成功函数 如果状态失败就回失败函数 5. then成功或失败都有一个参数分别表示成功值和失败原因

    1.2K10

    TSINGSEE青犀视频H.265流媒体EasyWasmPlayer.Js如何实现自定义高度和宽度?

    当然该播放器在编译,对于不同屏幕大小或者浏览器播放界面,播放器屏占比也是不同,因此需要对EasyWasmPlayer.Js播放器自定义高度和宽度,来实现自定义播放器大小。...其步骤如下: 1.新建父级播放器容器并赋予容器自定义宽高: 2.新建播放器实例添加 height: true 属性,让播放器跟随父级宽高: new WasmPlayer(null, “newplay”...DOCTYPE html>                   播放                   // 播放器函数...,播放器界面如下: image.png TSINGSEE青犀视频自主研发播放器目前正在多个平台上得到了有效使用,并且支持集成。

    1.4K30

    WordPress 教程: WordPress 如何设置定时作业

    $hook:事件调用 hook,需要预先通过 add_action 关联定时作业函数。 $args:传给函数参数数组。...查看 wp_get_schedules() 函数源代码,频率内部是使用秒数来定义,然后我们可以通过 cron_schedule 这个 filter 去自定义频率: add_filter('cron_schedules...定时作业 hook 和函数 从上面可知,WordPress 定时作业对应就是一个 hook,然后通过 hook 关联具体函数,比如我们要定义一个每天都要执行作业,我们把这个作业 hook...定义为:wpjam_daily_function_hook,具体函数为:wpjam_daily_function。... WPJAM Basic 定时作业管理后台加入: 这里非常好理解,就不再想讲,只是后通过界面添加方式,暂时不支持参数,即 $args 参数。

    2.3K20
    领券