我正在尝试使用add_post_meta和get_post_meta在wordpress中进行简单测试, 但无法正常工作。我正在尝试以下代码:
function test_post_meta($postID) {
$count_key = 'test';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
add_post_meta($postID, $count_key, '1');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
var_dump($count);
$count = get_post_meta($postID, $count_key, true);
var_dump($count);
update_post_meta($postID, $count_key, $count);
}
结果是:
bool(false)bool(false)
我希望从我的函数的每次调用中获得1-1、2-2等等。我究竟做错了什么?
#1
数据库中根本没有保存任何内容吗?你是否尝试过使用除测试以外的其他值?还要确保$ postID值是实际给出的并且是现有的帖子。
你还可以检查update_post_meta的结果, 查看WordPress文档以获取预期的结果。
我对代码进行了一些优化:
function test_post_meta($postID) {
$count_key = 'test';
$count = (int)get_post_meta($postID, $count_key, true) ?: 1;
$count++;
update_post_meta($postID, $count_key, $count);
var_dump($count);
var_dump(get_post_meta($postID, $count_key, true));
}
评论前必须登录!
注册