wordpress插件创建get_post_meta

时间:2012-11-21 02:18:14

标签: wordpress wordpress-plugin

我正在构建我的第一个插件,我正在使用以下链接作为参考。 http://www.sitepoint.com/create-a-voting-plugin-for-wordpress/

我正试图取消代码的以下部分:

function voteme_addvote()
{
    $results = '';
    global $wpdb;
    $post_ID = $_POST['postid'];
    $votemecount = get_post_meta($post_ID, '_votemecount', true) != '' ? get_post_meta($post_ID, '_votemecount', true) : '0';
    $votemecountNew = $votemecount + 1;
    update_post_meta($post_ID, '_votemecount', $votemecountNew);
    $results.='<div class="votescore" >'.$votemecountNew.'</div>';
    // Return the String
    die($results);
}

我运行代码并且它可以工作,但我只是不理解以下内容:

  • 什么是“get_post_meta”呢?
  • 它是否创建了一个自定义元字段,与add_post_meta?相同,如果它没有为什么没有add_post_meta?
  • 我检查了数据库,看起来它正在创建一个自定义元字段...所以按顺序,get_post_meta和add_post_meta之间有什么区别?

非常感谢您帮助我理解这一点。

1 个答案:

答案 0 :(得分:1)

第一次运行代码时,get_post_meta返回'',因此$ votemecount设置为0.以下update_post_meta创建新的meta字段,如下所示。不显示以_开头的值(隐藏的元字段)。

函数update_post_meta()更新指定帖子的现有元键(自定义字段)的值。

这可以用来代替add_post_meta()函数。这个函数要做的第一件事就是确保$ post_id上已存在$ meta_key。如果没有,则调用add_post_meta($ post_id,$ meta_key,$ meta_value),并返回其结果。