我想将WooCommerce Admin Dashboard小部件中的默认状态从插件订单状态管理器更改为自定义状态。
第一步
所以我在WooCommerce的文档中找到了status_widget_order_rows
钩子代码并将其添加到我的functions.php中,我将所有默认状态替换为
我的自定义状态'needs changes' = wc-change
和'waiting for approval' = wc-waiting
。我救了它但没有发生任何事。
第二步
我想当我取下钩子并用我的自定义钩子替换它时,它会显示出来,但这并没有发生。
第三次承担
我想当我手动添加我的functions.php中的状态,然后挂钩它将显示的状态,但那也没有。
function custom_remove_status_widget_order_rows() {
remove_action('WC_Admin_Dashboard', 'status_widget_order_rows' );
add_action('WC_Admin_Dashboard', 'custom_status_widget_order_rows', 10, 2);}
function custom_status_widget_order_rows() {
if ( ! current_user_can( 'edit_shop_orders' ) ) {
return;
}
$change_count = 0;
$waiting_count = 0;
foreach ( wc_get_order_types( 'order-count' ) as $type ) {
$counts = (array) wp_count_posts( $type );
$change_count += isset( $counts['wc-change'] ) ? $counts['wc-change'] : 0;
$waiting_count += isset( $counts['wc-waiting'] ) ? $counts['wc-waiting'] : 0;
}
?>
<li class="waiting-orders">
<a href="<?php echo admin_url( 'edit.php?post_status=wc-waiting&post_type=shop_order' ); ?>">
<?php
/* translators: %s: order count */
printf(
_n( '<strong>%s order</strong> waiting to be approved', '<strong>%s orders</strong> awaiting waiting', $waiting_count, 'woocommerce' ),
$waiting_count
);
?>
</a>
</li>
<li class="change-orders">
<a href="<?php echo admin_url( 'edit.php?post_status=wc-change&post_type=shop_order' ); ?>">
<?php
/* translators: %s: order count */
printf(
_n( '<strong>%s order</strong> needs changes', '<strong>%s orders</strong> are changed', $change_count, 'woocommerce' ),
$rejected_count
);
?>
</a>
</li>
<?php
}?>
上次
不知何故,我需要首先加载插件中的状态,然后覆盖默认的woocommerce类,然后添加行。
以下是该插件的链接 - &gt; docs.woocommerce.com/document/woocommerce-order-status-manager /
但我是初学者php,所以我希望有人可以帮助我吗?
提前致谢
答案 0 :(得分:0)
WC_Admin_Dashboard不是一个钩子。
您应该使用woocommerce_after_dashboard_status_widget。