-3

我收到此错误:

致命错误:调用未定义函数 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
4

1 回答 1

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 全局变量。使用它时要小心,因为如果您假设循环自动继续,或者如果您需要循环,它可能会在此之后弄乱代码。

setup_postdata设置全局发布数据。帮助格式化自定义查询结果以使用模板标签。

希望这会帮助你。下次你问问题的时候也看看这个这个

于 2013-11-11T14:56:13.083 回答