WordPress自定义栏目及get_post_meta详解

WordPress自定义栏目及get_post_meta详解

1、开启自定义栏目模块:
进入后台后,点击右上角的显示选项,在自定义栏目前打勾就行了,可以在编辑文章的下方看到自定义栏目模块,包括名称、值方面。

2、开始使用自定义栏目设置你的参数:
填写自定义栏目中的名称,以及参数的值,比如我想加在文章中添加图片,显示缩略图,那么可以填写名称为thumb,值为图片的路径,保存,

3、在页面中调用这段自定义栏目的值:
在主题中需要显示缩略图的位置添加如下代码

  1. <?php echo get_post_meta($post->ID,"thumb",true);?>

使用 get_post_meta($post->ID,”$key”,$single)这个函数获取指定日志的指定 key 的自定义字段。

$post_id
(integer) (required) 要获取自定义字段的日志 ID。
Default: None
如果只设置了 $post_id 的值,返回该日志的所有自定义字段的关联数组。

$key
(string) (required) 要获取自定义字段的名称(key)。
Default: None

$single
(boolean) (optional) 如果设置为 true,返回单个值。如果 false 或者没设置,则返回自定义字段的数组。
Default: false
如果 $single 设置为 false 或者留空,返回指定 key 的所有值的一个数组。
如果 $single 设置为 true,返回指定 key 的第一个值(并且不是在一个数组中)。
如果没有东西可以返回的时候,返回空数组,除非 $single 设置为 true ,则返回空字符串。
还有一种特殊情况就是,自定义字段的值是序列化的数组,这样 $single 设置为 true,则返回未序列化的数组,而 $single 设置为 false 或者留空,则你会获取一个数组,其中的一个值是序列化之后的字符串,你需要使用 maybe_unserialize 函数将其解析成数组。

获取所有 key 的 meta:

  1. <?php $meta = get_post_meta( get_the_ID() ); ?>

获取单个 key 的 meta:

  1. <?php $key_1_values = get_post_meta(88, 'thumb'); ?>

在主循环中获取指定 key 的第一个值

  1. <?php
  2. $thumb_value = get_post_meta($post->ID, 'thumb', true);
  3. // check if the custom field has a value
  4. if($thumb_value != '') {
  5.   echo $thumb_value;
  6. }
  7. ?>

获取缩略图地址为自定义字段的值

  1. <?php if ( get_post_meta($post->ID, 'thumb', true) ) : ?>
  2.     <a href="<?php the_permalink() ?>" rel="bookmark">
  3.         <img class="thumb" src="<?php echo get_post_meta($post->ID, 'thumb', true) ?>" alt="<?php the_title(); ?>" />
  4.     </a>
  5. <?php endif; ?>

Leave a Comment

You must be logged in to post a comment.