WP二开

wordpress写文章的时候添加自定义字段

银戒 · 6月11日 · 2019年 · · 341次已读

引言

这篇教程讲的是如何在文章后台添加一个自定义字段输入框,并且前台获取这个值,用处很多,如图:

开始

关于CMB2

要实现这功能的方式很多,有直接自己写代码的,也有装插件的,CMB2就是一个这样的插件,不过这篇教程讲的不是让你如何使用这个插件而是要说怎么集成这个插件,

第一步:下载链接

第二步:部署

在主题根目录下创建一个文件夹,我这里创建的是meta,如:

将上面下载的插件全部移到这个目录下,如:

在主题的函数文件中(functions.php)引入,代码如下:

require_once 'meta/init.php';

继续在文件夹下面创建配置文件,如:

写入代码,如:

<?php

/**
 * @Author: sliverRing
 * @Date:   2019-05-09 01:18:57
 * @Last Modified by:   sliverRing
 * @Last Modified time: 2019-06-06 01:57:12
 * @Blog :https://www.inacorner.top/
 * @Doc :
 */
add_action( 'cmb2_admin_init', 'post_cmb_sample_metaboxes' );
function post_cmb_sample_metaboxes() {
	$prefix = 'poem_post';//前缀
	$post_cmb = new_cmb2_box( array(
		'id'            => $prefix.'set_box',//id必须唯一
		'title'         => __( '文章设置选项'),
		'object_types'  => array( 'post'),//在什么文章类型下显示
		'context'       => 'normal',
		'priority'      => 'high',
		'show_names'    => true,
		'closed'     => false
	) );
	$post_cmb->add_field( array(
		'name'       => __( '来源'),//显示名称
		'desc'       => __( '文章来源'),//描述
		'id'         => $prefix . 'source',//id唯一
		'type'       => 'text',//类型,有很多,这里是用的文本框
		'show_on_cb' => 'cmb2_hide_if_no_cats',
		'sanitization_cb' => 'my_custom_sanitization',
		'on_front'        => false,
		'repeatable'      => true,
	) );
	$post_cmb->add_field( array(
		'name'       => __( '版权'),
		'desc'       => __( '版权说明'),
		'id'         => $prefix . '_copyright',
		'type'       => 'text',
		'show_on_cb' => 'cmb2_hide_if_no_cats',
		'sanitization_cb' => 'my_custom_sanitization',
		'on_front'        => false,
		'repeatable'      => true,
	) );
}

再在主题的函数文件中引入配置文件,代码:

require_once 'meta/config.php';

最后,上传,你会在写文章的时候看到如下界面:

总结

好了,到此就完了,这里只是大概的说下怎么用,也可以说是告诉大家有这么一个神器,可以减少很多工作量,更多使用细则大家可以看官网!

高质量技术QQ交流群,在这里,你的所有问题都会有答案:824144151(因为群里的人提倡和呼吁高调做人,低调行事,所以群名叫做中级质量技术交流群)

0 条回应