web-dev-qa-db-ja.com

Woocommerce注文フロントエンドの投稿メタを更新

私は顧客がカスタムチェックを順番に更新できるようにします(チェックアウトページに挿入された人)。

このコードはorder-details.phpページにありますが、入力の値のみが表示されますが、新しい値では更新されません。

<?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

このコードは私には役に立ちます。コードが読みにくくてすみません。

<?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