WooCommerce前端编辑自定义字段

时间:2015-12-06 作者:kreativcube

我在签出页面中添加了4个自定义字段(在functions.php中)

现在,我在Order页面中显示值

get_post_meta( $order->id, \'My Field\', true )
如果订单状态为“正在处理”,我需要客户可以编辑订单页面(前端)上的值。

我不知道谁能做这个。

我尝试使用acf插件(ACF Plugin)

用于在签出页面上使用此选项。但我发现没有什么,acf的支持与这个话题无关。

下一种方法是,我尝试将自定义字段值加载为acf输入插件的“default\\u value”。但它不起作用。

function my_acf_load_field( $field ) {

 //$acfstrasse = get_field(\'field_name\', $post_id);
 $acfstrasse = get_post_meta( $order->id, \'Strasse\', true );

 $field[\'default_value\'] = $acfstrasse;
 return $field;

}
add_filter(\'acf/load_field/name=field_name\', \'my_acf_load_field\');
我希望您知道客户可以在订单页面(前端)上编辑自定义字段值的方法

谢谢

对不起,我的英语不好。(德语是我的语言)

2 个回复
最合适的回答,由SO网友:kreativcube 整理而成

我找到了解决办法。

我已在订单详细信息中使用此代码。php页面

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

SO网友:figl

您不必编辑order-details.php 第页woocommerce_order_details_after_order_table 行动将取得同样的结果。

add_action( \'woocommerce_order_details_after_order_table\',
            \'namespace\\custom_field_display_cust_order_meta\', 10, 1 );

function custom_field_display_cust_order_meta( $order ) {
  echo \'<form [whatever]>\';
  /* translators: whatever */
  echo \'<p>\' . sprintf( __( \'<strong>Property 1:</strong> %1$s (%2$s)\' ),                                                                                                                                  
                        \'<input [whatever]>\'
                        . get_post_meta( $order->get_order_number(),
                                         \'property 1.1\', true )
                        . \'</input>\',
                        \'<input [whatever]>\'
                        . get_post_meta( $order->get_order_number(),
                                         \'property 1.2\', true )
                        . \'</input>\' )
       . \'</p>\';
  echo \'[whatever]\';
  echo \'</form>\';
}

相关推荐

Front-End Post Submission

我正在尝试添加一个表单,用户可以从前端提交帖子。我正在学习本教程:http://wpshout。com/wordpress从前端提交帖子/我正在做的是添加this code 到我的一个页面模板。表单显示正常,但当我单击“提交”按钮时,它会显示“Page not found error“”许多评论者说这不起作用。谁能给我指出正确的方向吗?代码是否不完整?有缺陷吗?我做错什么了吗?谢谢Towfiq I。