Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress-WooCommerce-Displaying;添加订单注释";桌面外窗体_Php_Wordpress_Woocommerce - Fatal编程技术网

Php Wordpress-WooCommerce-Displaying;添加订单注释";桌面外窗体

Php Wordpress-WooCommerce-Displaying;添加订单注释";桌面外窗体,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我正在建立一个在线商店,我有一个私人页面,管理员可以在其中扫描二维码,并显示分配给该二维码的订单的详细信息。管理员还可以在该页面上设置订单的状态。我也设法在那个页面上显示了订单注释。我还想添加一个表单(textarea+submit按钮)来向订单添加订单注释,因为我们的在线商店是关于服务的,我希望能够在订单部分兑现时添加注释,因此我们不必转到桌面->订单->订单并添加注释。谁能帮帮我吗?我需要一个代码来直接添加到我想要的地方,我的意思是,不是在functions.php中,这是一个页面自定义模板

我正在建立一个在线商店,我有一个私人页面,管理员可以在其中扫描二维码,并显示分配给该二维码的订单的详细信息。管理员还可以在该页面上设置订单的状态。我也设法在那个页面上显示了订单注释。我还想添加一个表单(textarea+submit按钮)来向订单添加订单注释,因为我们的在线商店是关于服务的,我希望能够在订单部分兑现时添加注释,因此我们不必转到桌面->订单->订单并添加注释。谁能帮帮我吗?我需要一个代码来直接添加到我想要的地方,我的意思是,不是在functions.php中,这是一个页面自定义模板(page scanqr.php)的代码。任何帮助都将不胜感激


编辑:我看到了这个,我想它可能会对我有所帮助,但我不知道如何应用它,所以它在按下提交按钮后运行,并将textarea文本作为新订单通知发送:

正如我所说,我想以某种方式应用这个函数。但我想在按下“提交”按钮后运行它,我想让它从文本区域中选择文本,并将其作为新的订单通知发送给wordpress

function add_redeeming_notes( $order_id ) {
 $order = new WC_Order( $order_id ); 

 // The text for the note
 $note = __("I WANT THIS TO PICK THE TEXT FROM THE TEXTAREA");

 // Add the note
 $order->add_order_note( $note );
编辑2:我还向您展示了允许我显示订单注释的代码,以防对您有所帮助

        <?php 
$order_notes = get_private_order_notes( $order_id );
foreach($order_notes as $note){
    $note_id = $note['note_id'];
    $note_date = $note['note_date'];
    $note_author = $note['note_author'];
    $note_content = $note['note_content'];

    // Outputting each note content for the order
    echo '<p>'.$note_date.' - '.$note_content.'</p>';
} ?>

以下是我上面评论中的一些psuedo代码:

if (isset($_POST['your_submit_action)) {
   update_post_meta($id_of_product, 'your_text_key', $_POST['your_text_field'];
}
就在那里可以储存它。要获得它,请执行以下操作:

$text = get_post_meta($id_of_product, 'your_text_key', TRUE);

希望有帮助

编辑:


WC将订单注释存储在“注释”表中。订单本身就是“shop_order”的post类型。根据需要,只需使用“comments”表中“comment\u post\u ID”字段中设置的订单ID,将shop\u订单注释插入comments表即可。完成和完成。

在自定义页面模板中添加以下代码片段。也可以替换模板表单结构中的以下代码-

<?php 
            if ( isset( $_POST['order_note_nonce_field'] ) && wp_verify_nonce( $_POST['order_note_nonce_field'], 'order_note_action' ) ) {
                $order_id = ( isset( $_POST['order_id'] ) && $_POST['order_id'] ) ? absint( $_POST['order_id'] ) : '';
                $order_note = ( isset( $_POST['order_note'] ) && $_POST['order_note'] ) ? sanitize_textarea_field( $_POST['order_note'] ) : '';
                $order = wc_get_order( $order_id );
                if( $order && $order_note ) {
                    // Add the note
                    $order->add_order_note( $order_note );
                }
            }
            ?>
            <form action="" method="post">
                <?php wp_nonce_field( 'order_note_action', 'order_note_nonce_field' ); ?>
                <input type="hidden" name="order_id" value="21" /> <!-- dont forgot to replace the value with your current order id -->
                <div class="form-field">
                    <textarea name="order_note"></textarea>
                </div>
                <div class="form-field">
                    <input type="submit" value="Add Note" />
                </div>
            </form>


我看到了这一点,我想它可能会对我有所帮助,但我不知道如何应用它,所以它会在按下提交按钮后运行,并将文本区域文本作为新的订单通知发送:在不知情的情况下,很难修补一个实时商店。尽管这个网站可以在很多方面提供帮助,但你的问题是离题的。请访问“你想在管理员中订购笔记吗?”@Reigel我不理解你的评论。我对我想要的东西非常明确。我有一个网上商店与WooCommerce,我想显示一个私人页面,只有管理员可以访问添加订单说明形式。我已经创建了该页面并放置了所有内容,唯一缺少的是添加订单注释表单。我甚至回复了一条代码注释,这可能会对我有所帮助,但我不知道如何使其适应我的情况。@Jinesh我想要一个“向订单添加注释”表单,在我的自定义页面中。该页面扫描二维码,并显示订单状态、数据和订单注释。我想要一张“向订单添加备注”表格,这样当他们将订单标记为部分兑换时,他们可以键入“重新兑换此服务,此其他服务仍可兑换”,以便下次扫描代码时,他们知道哪些服务可以重新兑换,哪些服务已经重新兑换。这是因为订单可以是多个服务。问题是我不知道这是否是我需要的。我希望能够在前端填写一份订单,并最终成为另一份订单,就像当您更改该订单的状态时,屏幕截图://也提前感谢您的帮助♥@EvaMarrez-看看这个页面:根据我上面的回答,“顺序”就是这里的帖子。“注释”是post_meta。我不知道WC是如何在post类型“shop_order”的“post_meta”中存储注释的,但我敢打赌它在该表中是一个JSON字符串。我知道这是post类型,因为如果你在admin中转到“Orders”页面,你可以在URL:/wp admin/edit.php?post_type=shop_order好的,我会尝试使用它,如果它有效,我会在这里发布代码,以便任何需要它的人都可以使用它。谢谢@埃瓦马雷斯:这肯定会奏效的。但是,您需要知道它存储在哪里;)。它不在“post_meta”中。WC将这些注释作为注释存储在“注释”表中: