Php 在我的帐户订单列表中添加发送给客户的管理订单注释
根据回答代码,我尝试添加以下代码以在WooCommerce我的账户订单列表中创建一个新列,但未成功,我已将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_
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链接。除非有更好的方法来完成此操作?那么您想要订购说明到给客户的说明
?感谢您提供了一个不会让我感到困惑的答案。效果非常好!