技术宅

当前位置:首页 > 网站教程 > WP教程

WP教程

WordPress自定义栏目的使用

时间:08-02 作者:
  这其中肯定涉及到把链接地址写入数据库,WordPress提供了一个管理后台,通过管理后台可以把数据写入数据库。打开后台,找到文章编辑页面,在右上方有个显示选项,展开后可以显示

  这其中肯定涉及到把链接地址写入数据库,WordPress提供了一个管理后台,通过管理后台可以把数据写入数据库。

打开后台,找到文章编辑页面,在右上方有个显示选项,展开后可以显示和隐藏模块。勾选自定义栏目

  在页面下方可以看到这个模块,在这里可以新增自定义的数据字段,并给它赋值。

  自定义栏目

输入新栏目

拿我的任务来举例,我点击购买按钮之后跳转到对应的商品淘宝店,所以商品淘宝店的地址就需要写入数据库,所以现在新增一个自定义字段,点击

  添加自定义栏目

添加自定义栏目

输入自定义名称和值,输入完成后点击

  添加自定义栏目

  添加完之后就是如下图所示

  添加自定义栏目成功

自定义栏目添加成功了,那么问题来了,我们如何取到自定义栏目的值并显示在页面上呢?

  在WordPress中有个get_post_meta()的函数,官方的解释是:

  This function returns the values of the custom fields with the specified key from the specified post.

  翻译过来大概的意思是:该函数用于取出用户设置的自定义字段的值。

 

用途

该函数的用处很多,很多主题用来设置文章相应图片的设置,这与将远程图像设置为缩略图有异曲同工之妙,当然自定义字段还可以用于存储许多我们觉得更有用的东西,例如统计信息,等等。

用法

<?php $meta_values = get_post_meta($post_id, $key, $single); ?>```

**参数解释**
> `$post_id`文章的ID(如果在循环中,你可以用 get_the_ID()来设置),
> `$key`自定义字段的名称(键值),
> `$single`是否以字符串形式返回,false会返回数组形式。

**缺省用法**

<?php $value = get_post_meta(76, 'key'); ?>```

实例

if (have_posts()) ://如果有文章 
while (have_posts()) : the_post(); //开启主循环 
$value = get_post_meta(get_the_ID(),'custom_meta',true);
 endwhile;  
endif;

上面介绍完get_post_meta()函数,现在我们就来实现我的这个任务。
在项目源代码中找到使用的主题的文件夹,我的文件夹位置为:htdocs/wp-content/themes/jitatheme/
再找到function.php文件并打开,在这里我们将封装成一个获取地址的函数,代码如下:

/***获取淘宝店铺商品的地址*/
function getTB_Url($postID){ 
  $key = 'direct_to_tb'; 
  $url = get_post_meta($postID, $key, true); 
  return $url;
}

然后找到我们要修改的页面,用一个<a>标签来实现点击跳转。我们在<a>标签的href属性中来调用刚才封装的函数,代码如下:

<a class="btn" href="<?php echo getTB_Url(get_the_ID()); ?>" target="_blank">点击购买</a>

最后在页面上点击测试一下,跳转正确,任务完毕。