2011-02-08 11 views
0

ポストに特定のフォーマットのカスタムフィールドを追加するための少しのプラグインがあります。それはうまく機能していますが、何らかの理由で、ユーザーが「更新ポスト」ボタンをクリックしたときにDBに重複したエントリが作成されます。add_post_metaが重複したエントリを作成するのはなぜですか?

メタデータを保存するための責任の部分は、私はWordPressの最新バージョン(3.0.5)を使用していcomplete code here

のペーストビンがありますここ

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'); 

です。助けてくれて大変感謝しています。

答えて

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 =リビジョンのポストです)

関連する問題