发现了一款超级好用的创建Meta Box的脚本,也可以说是一款插件,因为作者将脚本升级为插件,便于维护和升级。该脚本采用面向对象的方法编写,可以很好的避免函数名称冲突,功能强大,可以轻松创建所有表单输入元素,还包括date picker、color picker等,让你的Meta Box不输给主题的theme options。
目录
Meta Box 简介
该脚本非常灵活,你可以将它集成到自己的主题里,也可以直接下载WordPress插件版,插件版只需稍微修改即可塞进任何主题。
功能丰富
- 支持input、checkbox、radio、select、textarea
- 支持所见即所得编辑器(wp_editor)
- 支持文件上传(upload box)
- 支持图片上传以及WordPress默认的媒体上传功能
- 支持Date Picker
- 支持Color Picker
Meta Box使用方法
安装并激活插件,将插件目录下的demo/demo.php文件拷贝到主题目录,注意只是拷贝demo.php文件
在主题的functions.php中写如下代码即可生效
include 'demo.php';
效果如下图所示,点击查看大图
打开demo.php,里面有详细的使用说明,只要你懂得php数组,就可以使用。
$prefix = 'YOUR_PREFIX_'; //定义前缀 global $meta_boxes; $meta_boxes = array(); //$meta_boxes存储用户自定义的meta box // 第一个meta box,要创建更多meta box,按照这段代码再写上几遍就可以 $meta_boxes[] = array( // Meta Box id,必须是唯一的 Optional since 4.1.5 'id' => 'personal', // Meta box 标题 - Will appear at the drag and drop handle bar. Required. 'title' => 'Personal Information', // post类型,定义meta box在哪些编辑(post、page、custom post type)界面显示 'pages' => array( 'post', 'slider' ), // Meta box 出现的位置 'context' => 'normal', // Meta box的优先级 'priority' => 'high', // Meta box中包含多少个表单元素,这里定义 'fields' => array( // TEXT array( // Field name - Will be used as label 'name' => 'Full name', // Field ID, i.e. the meta key 'id' => $prefix . 'fname', // Field description (optional) 'desc' => 'Format: First Last', // CLONES: Add to make the field cloneable (i.e. have multiple value) 'clone' => true, 'type' => 'text', //类型定义要使用哪种表单元素 // Default value (optional) 'std' => 'Anh Tran' ), // DATE array( 'name' => 'Day of Birth', 'id' => "{$prefix}dob", 'type' => 'date', // Date format, default yy-mm-dd. Optional. See: http://goo.gl/po8vf 'format' => 'd MM, yy' ) );
获取Meta box的值
$meta = get_post_meta( get_the_ID(), 'meta_key', true ); echo $meta; // If you want to show
meta_key是Meta field的ID,例如
$prefix = 'rw_'; ... array( 'name' => 'Full name', 'id' => $prefix . 'fname', 'type' => 'text', )
meta_key是rw_fname
我用谷歌搜,发现有个采集站采了你的文章排在你前头..唉
是啊,好像有个叫推酷的,不经站长允许就采集别人文章,排名还靠前,有的站长还找过。幸好我不指望博客有啥收入,不然哭都找不到地方。
说实话我没搞明白这个能应用到哪里!
这是给开发人员用的。。。