我收到此错误:
致命错误:调用未定义的函数update_post_meta()
我的代码如下。任何人都可以帮助我吗?
<?php if(isset($_POST['submit']))
{
$metavalue = $_POST['usertext'];
$postid = $_POST['postid'];
$metakey = 'my_key';
update_post_meta( $postid, $metakey, $metavalue );
} ?>
<div class="wrap">
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="postid" value="<?php echo $_GET['value'] ?>" >
<input type="hidden" name="123" value="123" >
<input type="text" name="usertext">
<br/>
<input type="submit" name="submit" value="Update">
</form>
</div>
<?php
答案 0 :(得分:1)
我猜这是某种主题。您需要为global $post
变量分配一个帖子。
尝试
//your stuff until here
$metakey = 'my_key';
$current_post = get_post($_POST['postid']);
if($current_post){
global $post = $current_post
setup_postdata($post);
update_post_meta( //continue
//more continueing
} else {
//throw some error
}
get_post根据某种变量获取帖子,或者如果你什么都不给它,则返回false。
global $post
是保存当前帖子的WP全局变量。小心使用它,因为如果你假设循环自动继续,或者你需要the loop,它可能会弄乱代码。
setup_postdata设置全局发布数据。帮助格式化自定义查询结果以使用模板标记。