每一篇文章都自带的有分类、作者、时间等自定义栏目。于此同时wordpress还提供了可以自定义栏目的这一方便的功能。
##### 这里用源代码下载作为练习。首先在文章编辑页面有一个“自定义栏目”,在里面添加一个下载的内容,包括名称:“download”和值:“一个下载链接”。然后就是需要掌握的方法。
get_post_meta(one,two,three);
作用:获取文章自定义栏目。这个方法可以传递三个参数,第一个获取自定义字段的文章的ID如$post->ID
,第二个字段就是上面自定义的栏目的名称,第三个字段控制返回的类型,若是ture则返回的是字符串类型,若是false则返回的是数组。
<div class="post-download">
文件下载:
<?php
$download = get_post_meta($post->ID,'download',true);
echo $download;
?>
</div>
global $post;
作用:全局变量POST,他是wordpress中内置的一个全局变量,就是一个类,它显示的就是当前ID为30的所有信息。可以通过它来获取信息。
- 这里一个名称可以对应多个值,即一个’download’可以对应很多个链接。这里就需要把
get_post_meta(one,two,three);
方法的第三个参数改为false,这样它返回的就是数组,然后显示的方法就要改为(循环输出数组):
<div class="post-download">
文件下载:
<?php
$download = get_post_meta($post->ID,'download',true);
for($i = 0;$i <= count($download);$i++){
echo $download."<br/>";
}
?>
</div>
add_post_meta($post_id,$meta_key,$meta_value,$unique);
作用:添加一个自定义栏目。其中:
- $post_id:需要添加自定义字段的文章或页面ID值
- $meta_key:自定义字段的键值(名字)
- $meta_value:自定义字段的值
- $unique:如果已经有相同的自定义字段,是否重复添加重名的自定义字段,true为不允许,false为允许。
<?php
$download = get_post_meta($post->ID,'download',true);
if(!$download){
add_post_meta($post->ID,'downloads','text',true);
}
?>
- 创建隐藏的自定义字段,可以限制用户在后台的编辑。同样使用
add_post_meta($post_id,$meta_key,$meta_value,$unique);
这个方法,唯一变化的就是在$meta_key前面需要加上一个下划线“_”。比如弄一个点赞的显示(这里不添加记录功能)。
<?php
add_post_meta($post->ID,'_zan',12);
?>
<span>点赞:<?php echo get_post_meta($post->ID,'_zan',ture); ?></span>
update_post_meta($post_id,$meta_key,$meta_value,$prev_value)
作用:更新自定义栏目。其中:
- $post_id:要更新(添加)自定义字段的文章或页面的ID值。
- $meta_key:自定义字段的键值(名字)。
- $meta_value:自定义字段的值。
- $prev_value:批量替换时用的参数。
这里实现了每次访问文章“赞”就加1。
php
ID,'_zan',true);
update_post_meta($post->ID,'_zan',$zan + 1);
?>
delete_post_meta($post_id,$meta_key,$meta_value)
作用:删除自定义栏目。第三个参数可以删除多余的值。