web-dev-qa-db-ja.com

カスタムフィールドのupdate_post_metaがフォーム送信時に機能しない

_my_descriptionというカスタムフィールドがあります。

アイデアは、フォームが送信されたときに、フォームからのデータもこのフィールドに入れられるというものです。

これが私のコードです

add_action( 'gform_post_submission_10', 'set_post_content', 10, 2 );
function set_post_content( $entry, $form ) {

    $post = get_post( $entry['post_id'] );

    $post-> _my_description = $entry[1] . ', ' . $entry[11] . ', ' . $entry[14] . ', ' . $entry[13] . ', ' . $entry[12] . ', ' . $entry[16] . ', ' . $entry[15] . $entry[19];

    update_post_meta( $post );
}

Wp_update_postを指定してpost_contentに移動してもうまくいきますが、カスタムフィールドに移動しようとしてもうまくいきません。フィールドはこのプラグインを使って作成されました http://justcustomfields.com/ /誰もがこれがうまくいかない理由を見てください?

誰かが将来コードを必要としているのであれば、ここにあります。

add_action( 'gform_post_submission_10', 'set_post_content', 10, 2 );
function set_post_content( $entry, $form ) {

    $post = get_post( $entry['post_id'] );


update_post_meta( $post->ID, '_my_description', $entry[1] . ', ' . $entry[11] . ', ' . $entry[14] . ', ' . $entry[13] . ', ' . $entry[12] . ', ' . $entry[16] . ', ' . $entry[15] . $entry[19] ); 
}
1
Chazlie

update_post_meta() の関数シグネチャは次のようになります。

update_post_meta( int $post_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' )

だから代わりに

update_post_meta( $post );

あなたが使用する必要があります

update_post_meta( $post->ID, 'my_post_meta_key', $content_you_want_to_add );

私はあなたがポストメタにこの記述を追加したいと思うことだけを仮定することができます。そのためには

update_post_meta( $post->ID, '_my_post_description', $entry[1] . ', ' ...
2
swissspidy