Custom Order Action in WooCommerce Custom Order Action in WooCommerce wordpress wordpress

Custom Order Action in WooCommerce


There are two parts to solve with this objective.

The first part is to get a custom Order Action in the metabox of the individual Orders Page. I was trying to accomplish the same thing, but didn't find anything definitive on it, so I created a tutorial here:

http://neversettle.it/add-custom-order-action-woocommerce/

The second part is to add a custom order action in the Bulk Actions drop-down of the main Orders page. Skyverge has an excellent tutorial on that here:

http://www.skyverge.com/blog/add-custom-bulk-action/

The only specific thing you will need to take note of is to use the correct post_type. For WooCommerce orders you will need to use this in place of the first example on that tutorial:

add_action('admin_footer-edit.php', 'custom_bulk_admin_footer');function custom_bulk_admin_footer() {    global $post_type;    if($post_type == 'shop_order') {    ?>    <script type="text/javascript">        jQuery(document).ready(function() {            jQuery('<option>').val('export').text('<?php _e('Export')?>').appendTo("select[name='action']");            jQuery('<option>').val('export').text('<?php _e('Export')?>').appendTo("select[name='action2']");        });    </script>    <?php    }}

Notice the shop_order replaces the post for the condition checking which post_type to add the bulk actions to.

But fundamentally, @brasofilo is correct - for the most part WooCommerce uses standard WordPress structures, post_type mechanisms, and taxonomies. The process is the same for adding a bulk action to the Orders page as it is to the Posts page.

However, you are correct about the custom Order Actions on the individual Orders page - that is WooCommerce only and you'll need to reference the first tutorial on how to solve that part.