2017-08-04 1 views
2

Ich habe this instructions gefolgt, um einen benutzerdefinierten Auftragsstatus für meine WooCommerce-Aufträge hinzuzufügen.Hinzufügen einer benutzerdefinierten Aktionsschaltfläche in WooCommerce Admin-Auftragsliste

ich nicht einen Weg finden, kann Sie eine benutzerdefinierte Aktion Schaltfläche, die den Status der Bestellung zu meinem benutzerdefinierten Status aus der Admin-Bestellliste Seite wie dieser Screenshot ändert zu erstellen:

This image shows where I want it to be.

ich diesen Brauch möchte Aktionstaste, die für die Aufträge angezeigt wird, die den Status "Verarbeitung" haben.

Ich konnte keine Antwort in WooCommerce-Dokumentation finden.

Gibt es einen Haken zum Anwenden dieser Tasten? Wie kann ich es in die function.php hinzufügen?

Danke

Antwort

5

Aktualisierte Version in einer Antwort unten für WooCommerce 3.3+

fortzusetzen, haben Sie einen benutzerdefinierten Auftragsstatus erstellt 'WC-parcial' (mit den Anweisungen Code versehen in Ihre Frage) und Sie müssen eine zugehörige Aktionsschaltfläche zu Bestellungen Admin-Liste hinzufügen.

Sie benötigen eine benutzerdefinierte Funktion in woocommerce_admin_order_actions Filterhaken verhakt verwenden

// Add your custom order status action button (for orders with "processing" status) 
add_filter('woocommerce_admin_order_actions', 'add_custom_order_status_actions_button', 100, 2); 
function add_custom_order_status_actions_button($actions, $order) { 
    // Display the button for all orders that have a 'processing' status 
    if ($order->has_status(array('processing'))) { 

     // Get Order ID (compatibility all WC versions) 
     $order_id = method_exists($order, 'get_id') ? $order->get_id() : $order->id; 
     // Set the action button 
     $actions['parcial'] = array(
      'url'  => wp_nonce_url(admin_url('admin-ajax.php?action=woocommerce_mark_order_status&status=parcial&order_id=' . $order_id), 'woocommerce-mark-order-status'), 
      'name'  => __('Envio parcial', 'woocommerce'), 
      'action' => "view parcial", // keep "view" class for a clean button CSS 
     ); 
    } 
    return $actions; 
} 

// Set Here the WooCommerce icon for your action button 
add_action('admin_head', 'add_custom_order_status_actions_button_css'); 
function add_custom_order_status_actions_button_css() { 
    echo '<style>.view.parcial::after { font-family: woocommerce; content: "\e005" !important; }</style>'; 
} 

-Code geht in function.php Datei Ihrer aktiven Kind Thema (oder Thema) oder auch in jedem Plugin-Datei.

Dieser Code wurde getestet und funktioniert. Sie werden das erhalten:

enter image description here

+0

Es funktioniert. Danke vielmals! –

0

Aktualisierte Version für WooCommerce 3.3+

fortzusetzen, Sie haben eine benutzerdefinierte Auftragsstatus 'WC-parcial' erstellt (mit den Anweisungen Code versehen in Ihrer Frage) und Sie müssen eine zugehörige Aktionsschaltfläche zu den Bestellungen Admin-Liste hinzufügen.

Der neue Code:

// Add your custom order status action button (for orders with "processing" status) 
add_filter('woocommerce_admin_order_actions', 'add_custom_order_status_actions_button', 100, 2); 
function add_custom_order_status_actions_button($actions, $order) { 
    // Display the button for all orders that have a 'processing' status 
    if ($order->has_status(array('processing'))) { 

     // The key slug defined for your action button 
     $action_slug = 'parcial'; 

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

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

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

-Code geht in function.php Datei Ihrer aktiven Kind Thema (oder Thema).

geprüft und Arbeiten

enter image description here

Verwandte Themen