为什么add_post_meta会创建重复的条目

时间:2011-02-08 15:08:37

标签: wordpress wordpress-plugin

我有一个小插件可以为帖子添加一个具有特定格式的自定义字段。它有点工作,但由于某些原因,当用户点击“更新帖子”按钮时,会在数据库中创建重复的条目。

负责保存元数据的部分在这里

function saveCustomLink($post){

    $linkLabel = $_POST['custom-link-label'];
    $linkText = $_POST['custom-link-text'];
    $linkUrl = $_POST['custom-link-url'];

    if($linkLabel != "" AND $linkText != ""):

        $newLink = ($linkUrl != "") ? "$linkLabel: <a href='$linkUrl' title='$linkText'>$linkText</a>" : $linkLabel . ": " . $linkText ;
        add_post_meta($post, "custom-meta-link", $newLink);

    endif;

}

add_action('save_post', 'saveCustomLink');

有一个complete code here

的pastebin

我正在使用最新版本的wordpress(3.0.5)。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

试试这个:

   if ($post->post_type=="post") { 
       if($linkLabel != "" AND $linkText != ""):                           
            $newLink = ($linkUrl != "") ? "$linkLabel: <a href='$linkUrl' title='$linkText'>$linkText</a>" : $linkLabel . ": " . $linkText ;
            add_post_meta($post, "custom-meta-link", $newLink);       
    endif;
   }

您必须检查您是否正在使用帖子(或页面)而不是修订版或附件(修订版是post_type = revision的帖子)