调用未定义的函数update_post_meta()

时间:2013-11-11 14:06:10

标签: php wordpress forms

我收到此错误:

  

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

1 个答案:

答案 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设置全局发布数据。帮助格式化自定义查询结果以使用模板标记。

希望这会帮助你。下次您提出问题时,请查看thisthis