WooCommerce 8.6.1 中如何恢复丢失的订单管理列并优化你的网站
2024-03-25 04:49:25
WooCommerce 8.6.1 中恢复丢失的订单管理列
引言
WooCommerce 8.6.1 及以上版本的管理订单页面,默认情况下将不再显示“配送方式”和“付款方式”列。本文将提供详细的分步指南,指导你如何恢复这些缺失的列,并提供一些额外的优化建议。
问题
在 WooCommerce 8.6.1 更新后,即使启用或禁用高性能订单存储 (HPOS),之前用来添加“配送方式”和“付款方式”列的代码将无法正常工作。这是因为 WooCommerce 引入了新的过滤器和动作来管理订单列表的列和内容。
解决方案
更新代码
以下更新后的代码与 WooCommerce 8.6.1 完全兼容,可以恢复丢失的列:
// 将配送方式和付款方式列添加到订单页面
add_filter( 'woocommerce_admin_order_list_columns', 'add_custom_columns_to_admin_orders', 20);
function add_custom_columns_to_admin_orders( $columns ) {
$new_columns = array();
foreach ( $columns as $column_name => $column_info ) {
$new_columns[ $column_name ] = $column_info;
if ( 'order_status' === $column_name ) {
$new_columns['order_shipping'] = __( 'Tarnemeetod', 'my-textdomain' );
$new_columns['order_payment'] = __( 'Maksemeetod', 'my-textdomain' );
}
}
return $new_columns;
}
add_action( 'woocommerce_admin_order_data_after_order_details', 'custom_columns_content_in_admin_orders' );
function custom_columns_content_in_admin_orders( $order ) {
echo '<p><strong>' . __( 'Tarnemeetod:', 'my-textdomain' ) . '</strong> ' . $order->get_shipping_method() . '</p>';
echo '<p><strong>' . __( 'Maksemeetod:', 'my-textdomain' ) . '</strong> ' . $order->get_payment_method_title() . '</p>';
}
// 使支付方式可搜索
add_filter( 'woocommerce_shop_order_search_fields', 'makse_otsing' );
function makse_otsing( $meta_keys ){
$meta_keys[] = '_payment_method_title';
return $meta_keys;
}
// 使配送方式可搜索
add_filter( 'woocommerce_shop_order_search_fields', 'tarne_otsing' );
function tarne_otsing( $meta_keys ){
$meta_keys[] = '_shipping_method';
return $meta_keys;
}
更新代码的优点
- 使用新的
woocommerce_admin_order_list_columns
过滤器和woocommerce_admin_order_data_after_order_details
动作。 - 改善列显示,以便在订单详细信息之后以易于阅读的格式显示自定义列。
- 使支付方式和配送方式可搜索,便于对订单进行快速筛选。
其他优化建议
- 确保使用最新的 WooCommerce 版本,因为更新版本可能包含修复问题和增强功能。
- 定期检查你的插件和主题的兼容性,并根据需要进行更新。
- 禁用不必要的插件,因为它们可能会导致冲突或性能问题。
- 使用缓存插件来提高网站的速度和响应能力。
常见问题解答
问:为什么这些列在 WooCommerce 8.6.1 中消失了?
答:WooCommerce 引入了新的过滤器和动作来管理订单列表,这导致了以前用来添加这些列的代码不再有效。
问:更新后的代码与 HPOS 兼容吗?
答:是的,更新后的代码与 HPOS 兼容,无论 HPOS 是否启用。
问:如何使支付方式和配送方式可搜索?
答:你可以使用 woocommerce_shop_order_search_fields
过滤器将付款方式和配送方式添加到可搜索的元字段中。
问:为什么使用新的过滤器和动作很重要?
答:使用新的过滤器和动作可以确保你的代码与未来的 WooCommerce 版本兼容,并利用新的特性和增强功能。
问:为什么应该优化 WooCommerce?
答:优化 WooCommerce 可以提高网站的性能、速度和整体用户体验。
结论
通过更新代码并遵循本文中提供的其他建议,你可以恢复 WooCommerce 8.6.1 中丢失的管理订单列,并进一步优化你的 WooCommerce 网站。这将使你能够更有效地管理订单,并为客户提供更好的购物体验。