wordpress可以设置自定义字段,方便扩展功能,wordpress利用巧妙的数据库表设计达到这一目的,posts表存放文章,页面和附件等,与之对应的postmeta表用来存储自定义的字段,采用post_id,key,value这样的设计来存放自定义字段的值。
get_post_meta函数用法:
get_post_meta($post_id, $key, $single);
该函数有3个基本参数:
$post_id —— 所检索数据的文章的ID,使用 $post->ID 来获取文章的ID。
$key —— 要检索的自定义字段名称
$single —— 这是一个布尔值,如果设置为 true ,将直接以字符串的形式返回字段的值;一个自定义字段可以填写多个值,如果设置为 false,将返回一个数组 array 来显示这多个值。
此函数定义在wordpress的post.php中:
function get_post_meta($post_id, $key = '', $single = false) {
return get_metadata('post', $post_id, $key, $single);
}
来看一个使用了wp_cache_set,wp_cache_get和get_post_meta函数的示例:
<?php
$post_id = $post->ID;
$post_views = wp_cache_get($post_id,'views');
if($post_views === false){
$post_views = get_post_meta($post_id, "views",true);
if(!$post_views) $post_views = 0;
}
$post_views = $post_views + 1;
wp_cache_set($post_id,$post_views,'views');
if($post_views%10 == 0){
update_post_meta($post_id, 'views', $post_views);
}
echo $post_views;
?>