我被分配了一项任务,该任务遵循篮球运动员的一个场景。它包含一个自定义帖子类型“player”,该类型存在一个元字段调用“player\\u external\\u id”,假设所有玩家都有一个非常唯一的id,而不是WordPress id。
所有玩家将在第三方网站上有一个页面,其结构如下;http://example.com/channel/{player\\u external\\u id}”字样;
“player”自定义帖子中添加了一个新的元字段“player\\u tv\\u url”,为即将到来的赛季征召的所有新球员都有适当的值集。
他们需要更新任何丢失的“player\\u tv\\u url”帖子元数据,我被要求编写一个代码来完成这一任务。
以下是我提交的代码:
function check_post_update_meta ($post_id, $key, $value) {
$response = get_post_meta($post_id, $key, true);
if ($response == $value) {
return true;
} else {
$response = update_post_meta($post_id, $key, $value);
}
}
如何触发代码的执行?
update_post_meta($post_id, \'player_tv_url\', $value);
我收到反馈,说我的代码中缺少一些组件。我以为我走的是正确的道路。我不知道出了什么问题?我想知道我的代码中到底缺少了什么,以便修复它。
SO网友:Douglas - 3X Web
尝试这样做,您的代码可能返回一个空字符串或false,然后将其与另一个空字符串或false进行比较,从而返回true。
function check_post_update_meta ($post_id, $key, $value) {
// response can receive post meta array, or \'\' or false
$response = get_post_meta($post_id, $key, true);
// isset checks for data, so in case $response is empty if() will not evaluate true
if( isset($response) ){
if ($response == $value) {
return true;
} else {
$response = update_post_meta($post_id, $key, $value);
}
}
}