WordPress开发中的get_post_custom()函数使用解析

yipeiwu_com6年前PHP代码库

同get_post_meta()一样,用于返回文章的自定义字段值得一个函数,只不过get_post_custom()函数使用起来更简单,如果在循环中使用你甚至不需要设置任何参数。

其实get_post_custom()函数的基础实现与get_post_meta()大同小异~

get_post_custom()使用

get_post_custom($postid);

只接受一个参数
$postid文章id;

实例演示

 if (have_posts()) :
 
 while (have_posts()) : the_post(); 
  var_dump(get_post_custom());
 
 endwhile; 
 
 endif;

输出的结果如下:(如果如下字段有设置的话)

array(4) {
[“_edit_last”]=>
array(1) {
[0]=>
string(1) “1”
}
[“_edit_lock”]=>
array(1) {
[0]=>
string(12) “1342451729:1”
}
[“_thumbnail_id”]=>
array(1) {
[0]=>
string(3) “228”
}
[“xzmeta”]=>
array(2) {
[0]=>
string(3) “xz1”
[1]=>
string(3) “xz2”
}
}

get_post_custom_values和get_post_custom_keys

因为自定义字段分为,键值(keys) 和 自定义字段值(values),有些时候我们需要单独获取这两个值,所以 WordPress 中就派生出了get_post_custom_values和get_post_custom_keys两个函数,至于意义嘛,我还真没有发现出有多大意义,除了在批量删除自定义字段的时候有一定用除外,我还真没想出什么地方能用到,也许在一个浩瀚的 CMS主题中会有着非常剧组轻重的意义。

之前写到了get_post_custom函数和get_post_meta函数,私下里想着,反正自定义字段的相关函数也不多,所以就顺手整理了一下,索性把自定义字段相关的函数都写一下,当然不包括函数的一些基础实现代码。
get_post_custom_values用于获取当前文章的指定自定义字段的值,并以数组形式返回。

 while (have_posts()) : the_post(); 
  var_dump(get_post_custom_values(‘xzmeta'));
 endwhile; 
 
 endif;

大致会返回如下结果

(如果自定义字段有设置)

array(2) {
[0]=>
string(3) “xz1”
[1]=>
string(3) “xz2”
}

get_post_custom_keys用于获取当前文章所有的自定义字段的键值。

 if (have_posts()) :
 while (have_posts()) : the_post(); 
  var_dump(get_post_custom_keys());
 endwhile; 
 endif;

大致会获得 以下结果:
(如果自定义字段有设置)

array(4) {
[0]=>
string(10) “_edit_last”
[1]=>
string(10) “_edit_lock”
[2]=>
string(13) “_thumbnail_id”
[3]=>
string(6) “xzmeta”
}

相关文章

php中使用DOM类读取XML文件的实现代码

php中使用DOM类读取XML文件的实现代码

主要功能:php中使用DOM类读取XML文件 设计知识点: 1、XML节点循环读取 2、用iconv()函数实现编码转换,防止中文乱码 holiday.xml文件如下 复制代码 代码如下...

php读取html并截取字符串的简单代码

复制代码 代码如下:<?php $title='【宜配屋www.yipeiwu.com】'; $hello='jb51.net!'; $file=file_get_contents...

PHP5多态性与动态绑定介绍

什么是多态性? 多态性是继数据抽象和继承后,面向对象语言的第三个特征。从字面上理解,多态的意思是“多种形态”,简单来说,多态是具有表现多种形态的能力的特征,在OO中是指“语言具有根据对象...

WIN8.1下搭建PHP5.6环境

WIN8.1下搭建PHP5.6环境

  第一次接触php是在2014-5月份左右,当时是自己的主攻方向是C#,对php比较排斥, 其中很多一部分原因,就是PHP的断点调试一直无法配置成功,用echo打印日志的方式排错,使得...

php ZipArchive实现多文件打包下载实例

实例代码: public function downLoad($dataUrl,$saveName) { $datalist = [ ROOT_PATH.'/...