Reputation: 43
I am trying to add a new block inside the Orders meta box from Woocommerce. I know there are three possible hooks to add custom data to the existing blocks.
woocommerce_admin_order_data_after_order_details
woocommerce_admin_order_data_after_billing_address
woocommerce_admin_order_data_after_shipping_address
These hooks are executed inside an order_data_column
block and that's what I do not want to do. I would like to add a new custom order_data_column
with my custom data.
I tried it creating a new class which extends the WC_Meta_Box_Order_Data
and overriding the output
method but it did not work...
Upvotes: 2
Views: 754
Reputation: 253968
You can add a block to orders metabox using the following code (for example):
add_action( 'woocommerce_admin_order_data_after_shipping_address', 'additional_admin_order_data_block_after_shipping_address', 100 );
function additional_admin_order_data_block_after_shipping_address(){
echo '</div><div class="order_data_column">
<h3>' . esc_html__( 'Block title', 'woocommerce' ) . '</h3>';
// here goes your code and content
// Fake content output just for testing
echo '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.</p>';
}
Code goes in function.php file of your active child theme (active theme). Tested and works.
But you will need to change some styling CSS rules (which is another question).
Upvotes: 3