将自定义订单状态的特定操作按钮图标添加到 Woocommerce 管理订单

问题描述 投票:0回答:2

我添加了几个新状态,它们都工作正常,但我不知道如何将它们作为按钮添加到预览中/预览中(“眼睛”)。

也找不到它的钩子。有什么想法吗?

php wordpress woocommerce icons orders
2个回答
2
投票

首先在以下代码中,我首先根据自定义状态向管理订单列表添加一个按钮:

add_filter( 'woocommerce_admin_order_actions', 'add_custom_order_status_actions_button_example', 100, 2 );
function add_custom_order_status_actions_button_example( $actions, $order ) {
    // Your custom status (without "wc-")
    $action_slug = 'custom';

    // Set the action button
    $actions[$action_slug] = array(
        'url'       => wp_nonce_url( admin_url( 'admin-ajax.php?action=woocommerce_mark_order_status&status='.$action_slug.'&order_id=' . $order->get_id() ), 'woocommerce-mark-order-status' ),
        'name'      => __( 'Custom', 'woocommerce' ),
        'action'    => $action_slug,
    );

    return $actions;
}

然后,现在下面的代码我为订单按钮分配了一个图标“眼睛”:

// Set Here the WooCommerce icon for your action button
add_action( 'admin_head', 'add_custom_order_actions_button_css' );
function add_custom_order_actions_button_css() {
    // The key slug defined for your action button
    $action_slug = "custom";

    echo '<style>.wc-action-button-'.$action_slug.'::after { font-family: woocommerce !important; content: "\e010" !important; }</style>';
}

图标来自包含的Woocommerce图标库

代码位于活动子主题(活动主题)的 function.php 文件中。已测试并有效。

enter image description here


或者您可以使用附带的 WordPress dashicons 图标库

使用此 CSS 规则:

font-family: dashicons !important; content: "\f177" !important;

enter image description here


0
投票

5年过去了,但我希望有人能帮助我: 如果我只想在订单未完成的情况下看到新的操作图标,该怎么办? 我应该在显示操作按钮之前过滤它吗? 有人可以向我推荐代码片段吗? 谢谢 卡尔曼 H.

© www.soinside.com 2019 - 2024. All rights reserved.