web-dev-qa-db-fra.com

update_post_meta pour un champ personnalisé ne fonctionnant pas lors de la soumission du formulaire

J'ai un champ personnalisé appelé _mon_description

L'idée est lorsqu'un formulaire est soumis, les données du formulaire sont également placées dans ce champ.

Voici mon code

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

Si je l’ai, allez au post_content avec wp_update_post cela fonctionnera bien, mais essayer de l’obtenir pour aller dans un champ personnalisé ne fonctionnera pas. Les champs ont été créés avec ce plugin http://justcustomfields.com/ Quelqu'un voit pourquoi cela ne fonctionne pas s'il vous plaît?

Correction Merci Si quelqu'un a besoin du code à l'avenir ici, il est

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

La signature de fonction pour update_post_meta() se présente comme suit:

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

Donc au lieu de

update_post_meta( $post );

vous devez utiliser

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

Je ne peux que supposer que vous souhaitez ajouter cette description à la publication méta. Pour cela, vous utiliseriez

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