2016-05-25 11 views
1

私はカスタムフォームからコメントを保存するために、次のコードを持っているが、POST経由:カスタムフィールドをコメントに保存する方法は?

if (!empty($_POST)) { 
    $time = current_time('mysql'); 

    $data = array(
     'comment_post_ID' => $_POST['comment_post_id'], 
     'comment_author' => $_POST['author'], 
     'comment_author_email' => $_POST['email'], 
     'comment_content' => $_POST['comment_content'], 
     'comment_type' => '', 
     'comment_parent' => $_POST['comment_parent'], 
     'comment_author_IP' => $_POST['author_IP'], 
     'comment_date' => $time, 
     'comment_approved' => 0 
    ); 

    wp_insert_comment($data); 
} 

すべてが正常に動作しているが、どのように私は$dataにカスタムフィールドを追加するには?私のカスタムフィールドは既に作成されており、私は次のものを使用しています:

update_comment_meta($_POST['comment_post_id'], 'author_avatar', $_POST['author_avatar']); 

カスタムフィールドにオーサリングアバターを登録するには:しかし、コメントが保存されると、フィールドは空白に見えます。

wp_insert_commentはカスタムフィールドを受け入れますか?助言がありますか?

+0

私は、任意の手段によってWPの専門家ではないですが、それはそれは受け入れると言うだけのオプションを受け入れるようにハードコードだと、特定の機能のドキュメントで検索します。あなたは簡単に機能を複製し、あなたが望むようにあなたの仕事をすることができます。 – Rasclatt

+0

これは私に行く正しい方法のように見えます。 update_comment_metaはブール値を返します。この関数を実行すると返されるのは何ですか?投稿値が空ではないと確信していますか? – Fencer04

+0

@Rasclattしかし、私はそれが 'update_comment_meta'が作成された理由だと思います。この関数は、コメントメタエントリの更新を許可し、メタエントリの作成にも使用されます。ここの問題は、カスタムフィールドを含めてこの '$ data'を保存できないということです。 –

答えて

関連する問題