WordPress中给文章添加自定义字段及后台编辑功能区域

yipeiwu_com5年前PHP代码库

add_post_meta
add_post_meta 函数是 WordPress 中用来给文章或页面添加自定义字段值的一个函数,
其用法与在编写文章时在文章编写界面中利用自定义栏目面板为文章添加自定义字段值的效果是一样的。

add_post_meta函数描述
为文章添加自定义字段。
常见的使用有:文章浏览次数、喜欢按钮、seo插件等常用插件就是使用的自定义字段功能。

参数详解

add_post_meta($post_id, $meta_key, $meta_value,$unique);

$post_id
要添加自定义字段的文章或页面的ID值
$meta_key
自定义字段的键值(名字)
$meta_value
自定义字段的值
$unique
如果已经有相同名字的自定义字段,是否重复添加重名的自定义字段,true为不允许,false为允许
函数使用实例

//为ID为1的文章添加_postviews自定义字段,值为99
add_post_meta(1, "_postviews", "99");
var_dump(get_post_meta(1));echo"<br />";
//为ID为1的文章添加_postviews自定义字段,值为999,并允许重复自定义字段名称
add_post_meta(1, "_postviews", 999,false);
var_dump(get_post_meta(1));echo"<br />";

演示效果:

array(1) {
 ["_postviews"]=>
 array(1) {
  [0]=>
  string(2) "99"
 }
}

array(1) {
 ["_postviews"]=>
 array(2) {
  [0]=>
  string(2) "99"
  [1]=>
  string(3) "999"
 }
}


//不允许重复自定义字段的代码
add_post_meta(1, "_postviews", "996",true);
var_dump(get_post_meta(1));echo"<br />";
add_post_meta(1, "_postviews", "997",true);
var_dump(get_post_meta(1));echo"<br />";
array(1) {
 ["_postviews"]=>
 array(1) {
  [0]=>
  string(3) "996"
 }
}


array(1) {
 ["_postviews"]=>
 array(1) {
  [0]=>
  string(3) "996"
 }
}

add_meta_box
add_meta_box 是 WordPress 进阶使用的一个函数,能用到这个函数那说明你已经比一个普通的博主更了解这个世界瞩目的博客程序了,至少你在它身上已经花了不少功夫了。能用到它,说明你现在正在折腾一个你自己的主题、插件,甚至是在折腾 WordPress 后台了。
好像已经赘述的够多了,下面我们以一个进阶的角度去说明一下这个函数怎么用。

add_meta_box 函数说明
add_meta_box 函数是被用来在文章编辑等页面添加一个设置的区域的函数。

20151219173817018.jpg (299×335)

参数说明

<?php
 add_meta_box( $id, $title, $callback, $post_type, $context, $priority, $callback_args );
 ?>

$id HTML 代码中设置区域中id属性的值
$title 区域中的标题名称
$callback 添加的设置区域的显示函数(回调函数)
$post_type 在 post 还是 page 的编辑页面中显示
$context 设置区域的显示位置,主编辑区、边栏、其他
$priority 设置区域显示的优先级
$callback_args 回调函数接受的附加参数
使用实例

function add_xz_box (){//添加设置区域的函数
add_meta_box('xz_box_1', 'add_meta_box 测试', 'xz_box_1','post','side','high',array('str1','str2'));
};
//在'add_meta_boxes'挂载 add_xz_box 函数
add_action('add_meta_boxes','add_xz_box');
 
 
function xz_box_1($post,$boxargs){//显示设置区域的回调函数
 echo"add_meta_box 测试";
};

相关文章

php多线程实现方法及用法实例详解

下面我们来介绍具体php多线程实现程序代码,有需要了解的同学可参考。 当有人想要实现并发功能时,他们通常会想到用fork或者spawn threads,但是当他们发现php不支持多线程的...

php+ajax登录跳转登录实现思路

当我们的用户进行系统登录时,用户名和密码的验证都是后端验证的。而且,用户登录状态也是要后端设置的,查询数据库后,用户名和密码正确,则在session中存储一个uuid,每个页面需要根据登...

自制PHP框架之路由与控制器

自制PHP框架之路由与控制器

我们为什么要使用路由?原因1:一个更漂亮的URI 1.URI的改进 刚刚开始学PHP时,我们一定写过blog.php?id=1之类的URI,使用GET方式获取参数。这样的URI有...

腾讯微博提示missing parameter errorcode 102 错误的解决方法

本文实例讲述了腾讯微博提示missing parameter errorcode 102 错误的解决方法。分享给大家供大家参考。具体分析如下: 今天在调试腾讯微博接口时,出现一个错误,找...

php文件上传你必须知道的几点

php文件上传你必须知道的几点

本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、po...