Php 在我的帐户订单列表中添加发送给客户的管理订单注释

Php 在我的帐户订单列表中添加发送给客户的管理订单注释,php,wordpress,woocommerce,orders,account,Php,Wordpress,Woocommerce,Orders,Account,根据回答代码,我尝试添加以下代码以在WooCommerce我的账户订单列表中创建一个新列,但未成功,我已将manage\u edit-shop\u order\u columns更改为WooCommerce\u我的账户\u我的订单\u columnshook-like: // Add custom column on admin orders list page add_filter( 'woocommerce_my_account_my_orders_columns', 'add_order_

根据回答代码,我尝试添加以下代码以在WooCommerce我的账户订单列表中创建一个新列,但未成功,我已将
manage\u edit-shop\u order\u columns
更改为
WooCommerce\u我的账户\u我的订单\u columns
hook-like:

// Add custom column on admin orders list page
add_filter( 'woocommerce_my_account_my_orders_columns', 'add_order_notes_column' );
function add_order_notes_column( $columns ) {
    $columns['order_notes'] = 'Order Notes';
    return $columns;
}

// CSS styles
add_action( 'admin_print_styles', 'add_order_notes_column_style' );
function add_order_notes_column_style() {
    $css = '.post-type-shop_order table.widefat.fixed { table-layout: auto; width: 100%; }';
    $css .= 'table.wp-list-table .column-order_notes { min-width: 280px; text-align: left; }';
    $css .= '.column-order_notes ul { margin: 0 0 0 18px; list-style-type: disc; }';
    // $css .= '.order_customer_note { color: #ee0000; }'; // red
    // $css .= '.order_private_note { color: #0000ee; }'; // blue
    wp_add_inline_style( 'woocommerce_admin_styles', $css );
}

// Admin orders list custom column displayed content
add_action( 'woocommerce_my_account_my_orders_columns', 'add_order_notes_content' );
function add_order_notes_content( $column ) {
    global $post, $the_order;

    if( 'order_notes' !== $column )
        return;

    $order = is_a($the_order, 'WC_Order') ? $the_order : wc_get_order( $post->ID );

    $notes = wc_get_order_notes( array(
        'order_id' => $order->get_id(),
        'order_by' => 'date_created',
        'order' => 'ASC',
    ) );

    if( ! empty($notes) ) {
        echo '<ul>';

        foreach( $notes as $note ) {
            if( $note->customer_note && 'system' !== $note->added_by ) {
                echo '<li class="order_customer_note">' . sprintf( __('%s by %s <br> %s:'),
                    date_i18n( 'm/d/y H:i', strtotime( $note->date_created ) ),
                    $note->added_by,
                    $note->content
                ) . '</li>';
            }
        }
        echo '</ul>';
    }
}
//在管理订单列表页面上添加自定义列
添加过滤器('woocommerce\u my\u account\u my\u orders\u columns','add\u order\u notes\u column');
函数add\u order\u notes\u column($columns){
$columns['order_notes']='order notes';
返回$columns;
}
//CSS样式
添加操作(“管理打印样式”、“添加订单注释”列样式);
函数add\u order\u notes\u column\u style(){
$css='.post-type-shop_order table.widefat.fixed{table layout:auto;width:100%;}';
$css.='table.wp-list-table.column-order_注释{最小宽度:280px;文本对齐:左;}';
$css.='.column-order_notes ul{margin:0 18px;列表样式类型:disc;}';
//$css.='.order_customer_note{color:#ee0000;}'//红色
//$css.='.order_private_note{color:#0000ee;}'//蓝色
wp_add_inline_样式('woocommerce_admin_样式',$css);
}
//管理员命令列表自定义列显示的内容
添加操作('woocommerce\u my\u account\u my\u orders\u columns'、'add\u order\u notes\u content');
函数add\u order\u notes\u content($column){
全球$post,$U订单;
if('order_notes'!==$column)
返回;
$order=is_a($the_order,'WC_order')?$the_order:WC_get_order($post->ID);
$notes=wc\u get\u order\u notes(数组(
'order\u id'=>$order->get\u id(),
“订单依据”=>“创建日期”,
“订单”=>“ASC”,
) );
如果(!空($notes)){
回声“
    ”; foreach($notes作为$note){ 如果($note->customer\u note&&'system'!==$note->added\u by){ echo'
  • '。sprintf(“%s by%s
    %s:”), 日期('m/d/y H:i',标准时间($note->date_created)), $note->added_by, $note->content )“
  • ”; } } 回声“
”; } }
我希望这个专栏的内容是相同的,但我希望标题说“下载”

更新:以下是我希望专栏进入的屏幕截图:


您的代码中有许多错误…要将管理员在我的帐户订单中发送的客户订单注释显示为新列,请使用以下命令:

// Add custom column on admin orders list page
add_filter( 'woocommerce_my_account_my_orders_columns', 'add_myaccount_admin_order_notes_column' );
function add_myaccount_admin_order_notes_column( $columns ) {
    $column_actions = $columns['order-actions'];
    unset($columns['order-actions']);

    $columns['admin-notes'] = __('Admin Notes', 'woocommerce');
    $columns['order-actions'] = $column_actions;

    return $columns;
}

// CSS styles
add_action( 'wp_head', 'myaccount_admin_order_notes_inline_style', 100 );
function myaccount_admin_order_notes_inline_style() {
    if( is_account_page() && is_wc_endpoint_url('orders') ) :
    ?><style>ul.order-note-item {list-style:none; margin:0;} ul.order-note-item > li { margin:0 0 6px;}</style><?php
    endif;
}

// Admin orders list custom column displayed content
add_action( 'woocommerce_my_account_my_orders_column_admin-notes', 'add_myaccount_admin_order_notes_content' );
function add_myaccount_admin_order_notes_content( $order ) {
    $notes = wc_get_order_notes( array(
        'order_id' => $order->get_id(),
        'order_by' => 'date_created',
        'order' => 'ASC',
    ) );

    if( ! empty($notes) ) {
        $output = [];

        foreach( $notes as $note ) {
            if( $note->customer_note && 'system' !== $note->added_by ) {
                $output[] = sprintf( __('%s <br> %s'),
                    date_i18n( 'm/d/y H:i', strtotime( $note->date_created ) ),
                    $note->content
                );
            }
        }
        echo '<ul class="order-note-item"><li>'. implode('</li><li>', $output) .'</li></ul>';
    }
}
//在管理订单列表页面上添加自定义列
添加过滤器('woocommerce\u my\u account\u my\u orders\u columns'、'add\u myaccount\u admin\u order\u notes\u column');
函数add\u myaccount\u admin\u order\u notes\u column($columns){
$column_actions=$columns['order-actions'];
未设置($columns['order-actions']);
$columns['admin-notes']=u u('admin-notes','woocommerce');
$columns['order-actions']=$column\u actions;
返回$columns;
}
//CSS样式
添加操作('wp\u head','myaccount\u admin\u order\u notes\u inline\u style',100);
函数myaccount\u admin\u order\u notes\u inline\u style(){
如果(is_account_page()&&is_wc_endpoint_url('orders')):

?>ul.order-note-item{list style:none;margin:0;}ul.order-note-item>li{margin:0 0 0 6px;}你能给我一个屏幕截图吗?我试过了,但我不确定我是否做对了。我想在总计之后把它放在最后。我在我的列表上隐藏了操作。所以你想
订购说明
下载
我计划使用“给客户的说明”为他们提供URL。这将是一个下载他们文件的dropbox链接。除非有更好的方法来完成此操作?那么您想要
订购说明
给客户的说明
?感谢您提供了一个不会让我感到困惑的答案。效果非常好!