wordpress自定义字段(3):怎样添加自定义字段面版?

ordpress自定义字段的功能时非常强大的,在wordpress主题制作过程中,我们可以用wordpress自定义字段来干很多的事情,比如:调用文章图片、添加关键词面版、添加商品信息模块……等等,总之,wordpress自定义字段可以帮助主题开发者做很多的事情了。嗯,本章通过“如何创建wordpress自定义字段面版”这个简单案例来讲解自定义字段在wordpress主题制作过程中的使用。

首先在主题文件夹下创建一个metabox.php文件,然后,在主题的functions.php文件中引用metabox.php文件,即include这个文件。然后就是给meatbox.php文件添加代码了,本案例以在后台文章发表页面添加“关键词和描述”自定义字段面版。

1、创建一个二维数组,代码如下:

$new_meta_boxes =
array(
"description" => array(
"name" => "description",
"std" => "这里填默认的网页描述",
"title" => "网页描述:"),

"keywords" => array(
"name" => "keywords",
"std" => "这里填默认的网页关键字",
"title" => "关键字:")
);

数组的第一个元素就是description字段的信息,即文章描述,包括标题、字段名、描述信息。第二个元素是keywords字段,即关键字。

2、创建显示函数显示描述和关键字面版,代码如下:

function new_meta_boxes() {
global $post, $new_meta_boxes;

foreach($new_meta_boxes as $meta_box) {
$meta_box_value = get_post_meta($post->ID, $meta_box[\'name\'].\'_value\', true);

if($meta_box_value == "")
$meta_box_value = $meta_box[\'std\'];

echo\'\';

// 自定义字段标题
echo\'

\'.$meta_box[\'title\'].\'

\';

// 自定义字段输入框
echo \'
\';
}
}

这个函数用来显示自定义面板的内容,将作为add_meta_box函数才callback参数调用。

3、创建面版,代码如下:

function create_meta_box() {
global $theme_name;

if ( function_exists(\'add_meta_box\') ) {
add_meta_box( \'new-meta-boxes\', \'自定义模块\', \'new_meta_boxes\', \'post\', \'normal\', \'high\' );
}
}

4、 保存面版更新数据,代码如下:

function save_postdata( $post_id ) {
global $post, $new_meta_boxes;

foreach($new_meta_boxes as $meta_box) {
if ( !wp_verify_nonce( $_POST[$meta_box[\'name\'].\'_noncename\'], plugin_basename(__FILE__) )) {
return $post_id;
}

if ( \'page\' == $_POST[\'post_type\'] ) {
if ( !current_user_can( \'edit_page\', $post_id ))
return $post_id;
}
else {
if ( !current_user_can( \'edit_post\', $post_id ))
return $post_id;
}

$data = $_POST[$meta_box[\'name\'].\'_value\'];

if(get_post_meta($post_id, $meta_box[\'name\'].\'_value\') == "")
add_post_meta($post_id, $meta_box[\'name\'].\'_value\', $data, true);
elseif($data != get_post_meta($post_id, $meta_box[\'name\'].\'_value\', true))
update_post_meta($post_id, $meta_box[\'name\'].\'_value\', $data);
elseif($data == "")
delete_post_meta($post_id, $meta_box[\'name\'].\'_value\', get_post_meta($post_id, $meta_box[\'name\'].\'_value\', true));
}
}

上面的代码,在前面创建面版后,通过add_post_meta()函数向数据库增加面版信息。这段代码还通过update_post_meta()更新和delet_post_meta()来删除相关信息。

5、添加触发动作。使用动作勾子来调用create_post_meta()函数和save_postdata()函数,代码如下:

add_action(\'admin_menu\', \'create_meta_box\');
add_action(\'save_post\', \'save_postdata\');

好了,到这里,wordpress自定义字段面版就添加成功了,效果如下图:

wordpress自定义字段(3):怎样添加自定义字段面版?

这样,我们在发表文章的时候,就可以添加关键字和文章描述。如果想让前台的代码中能展示这个文章描述和关键字,以利于SEO,我们还要在主题的header.php文件中调用这2个参数。这时,可以通过get_post_meta()函数来调用。代码如下:

$description = get_post_meta($post->ID, "description_value", true);
$keywords = get_post_meta($post->ID, "keywords_value", true);

好了,wordpress如何添加自定义字段面版就介绍到这里,后续我们继续扩展wordpress自定义字段的功能。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处:https://www.cwhello.com/13851.html

(0)
上一篇 2019年10月12日 16:42
下一篇 2019年10月23日 12:57

相关推荐

  • 凭什么大佬一个月能赚10万 反反复复又开始找项目了。

    我相信进入互联网的人,都在寻找各种各样的项目。 因为我们总能被标题给吸引,这卖项目总得有吸引人的地方是吧! 标题不够吸引,那就数据来凑! 【一】 我们来搜索一下: 看这个推荐的词语就有点吸引人呀。 一天赚10...

    2021年11月26日
    0210
  • 怎样在百度里面做外链。

    网站外部链接在网站排名以及计算网站权重占比较大的比例,而这里要谈的是如何通过bd来做我们的高质量外部链接。百度旗下的产品有很多诸如:空间,知道,图片,文库,百科,贴吧等在这几个方面在经过长期筛选我们认为...

    2022年3月12日
    0170
  • 利润出在韭菜身上 人人都可操作0成本短视频暴利项目。

    现代社会进入互联网时代,信息时代,这是时代潮流,也是发展趋势。 新手小白想要在互联网创业,大多数都是从兼职开始做起! 一个正常普通人每天正常上班、睡觉,除去16个小时,还有8小时,再除去吃饭上厕所的时间,...

    2021年11月26日
    0170
  • 页面标题在搜索引擎排名算法中的重要作用

    HTML 页面标题 在大多数搜索引擎结果中都是可点击文本的第一行。页面标题在搜索引擎排名算法中的作用非常重要,因此它在 SEO 过程中也是最重要的。 1. 要尽量简短大多数搜索引擎在搜索结果列表中显示的标题只有大概 ...

    4天前
    0120
  • 我的php学习第一天之HTML篇

    B/S网络模式(结构) B/S,browser/Server浏览器/服务器结构。在这种模式下,客户端不需要安装任何的软件(除了浏览器软件),所有的其它的功能都集中到了服务器上。客户端基本上零维护。 HTML简介 HTML,HyperText ...

    2019年3月19日
    01397
  • 三种行为里,藏着一个人的分寸感

    “一个有分寸感的人,也会是一个有修养的人。做事有准,进退有度,为人有则。” 分寸感,就是人和人之间那安全的距离。 苏格拉底提出了一个著名的“三重过滤”原则。故事是这样的: 有一天,他跟一位老朋友相遇。 老朋友...

    2017年10月31日
    0340
  • 线上本地流量获取的几个玩法 在线上社群中寻找到你的客户。

    本文和大家聊聊线上本地流量的玩法。 线上和线下本质差不多,物以类聚,人以群分。所以在社群中可以寻找到你的客户。 当地有很多社群,很多网络文章也是这样告诉你,但是没人告诉你如何找到这些社群,又如何添加进去...

    2021年11月22日
    0230
  • php基础语法-作用域

    什么是作用域 作用域是指变量的作用域,变量在哪里可用,在哪里不可用。 在php中,作用域主要有两个: 1)全局作用域 2)局部作用域 代码示例: 作用域是通过函数function划分的,function之外的是全局,function之...

    2017年9月26日
    0260

发表评论

您的电子邮箱地址不会被公开。

您看到的还是重蔚自留地。只是我们升级啦!