web-dev-qa-db-fra.com

Mise à jour du post-méta dans l'interface de commande woocommerce

Je veux que le custome puisse mettre à jour dans l'ordre les champs personnalisés (qui ont été insérés dans la page de paiement)

J'ai ce code dans la page order-details.php mais il montre seulement la valeur dans l'entrée mais il ne met pas à jour avec la nouvelle valeur

<?php
 global $post;


 if ( isset( $_POST['submit'] ) )
 {
 if( ! isset( $post ) ) {
 echo 'Error: Nichts ausgewählt';
 die();
 }
 else if( ! isset( $_POST['frontstrasse'] ) && ! empty( $_POST['frontstrasse'] ) ){
 echo 'Error: Strasse Not Set';
 die();
 }


 update_post_meta( $order->id, 'frontstrasse', sanitize_text_field( $_POST['Strasse'] ) );
 }


 $istrasse = get_post_meta($order->id, 'Strasse', true );


 echo print_r($istrasse);
 ?>
 <form method="post" action="">
 <input type='text' name='frontstrasse' value='<?php echo isset($istrasse) ? $istrasse : ''; ?>' />
 <input type='submit' value='save' />
 </form>
1
kreativcube

Ce code fonctionne pour moi. Désolé que le code n'est pas lisible.

<?php
     global $post;

     $post = $order_id;

       if ( isset( $_POST['submit'] ) )
         {
                 echo 'Update nicht';
         } else  if ( ! empty( $_POST['frontstrasse'] ) ) {
        update_post_meta( $order_id, 'Strasse', sanitize_text_field( $_POST['frontstrasse'] ) );
        update_post_meta( $order_id, 'Haus-Nr', sanitize_text_field( $_POST['fronthausnr'] ) );


}
$istrasse = get_post_meta($order->id, 'Strasse', true );
$ihausnr = get_post_meta($order->id, 'Haus-Nr', true );

  ?>

 <form method="post" action="">
<label>Strasse</label><input type='text' name='frontstrasse' value='<?php echo $istrasse ?>' />
<label>Haus-Nr</label><input type='text' name='fronthausnr' value='<?php echo  $ihausnr ?>' />
<input type='submit' value='save' name='frontsubmit' />
 </form>
0
kreativcube