[resolved] Custom function in child theme (3 posts)

  1. kyunomi
    Posted 2 years ago #


    I was trying to create a custom function in a child theme that i created.

    add_action('woocommerce_order_details_after_order_table', 'My_additional_shipping_info');
    function My_additional_shipping_info() {
    	if ( $totals = $order->get_order_item_totals() ) {
    		if ($totals['shipping']['value']=="Self-Pickup @ Raffles Place MRT") {
    			echo 'Self-Pickup: ';
    		} else {
    			echo 'Delivery: ';
    	if ( $delivery_time = get_post_meta( $order->id, '_delivery_time', true ) ) {
    		echo "{$delivery_time}"; }

    However, after i wrote it, the following error will occur
    Fatal error: Call to a member function get_order_item_totals() on a non-object in /home/.../wp-content/themes/theme-child/functions.php

    I guess it has something to do with me trying to call upon a function from wordpress without linking to it. but i dont know how to do it as i am still learning.

    Is the $totals and $order defined within woocommerce?

    Appreciate for any assistance! Thanks!


  2. vark
    Posted 2 years ago #

    Lots of problems with the code... Let's start with fixing the following:

    add_action('woocommerce_order_details_after_order_table', 'My_additional_shipping_info', 10, 1);
    function My_additional_shipping_info($order) {

    Take a look at where in woo the action is executed, you'll see that the hook sends down $order_id as the passed argument. You can use that to some benefit in your code. If you want to time your msg to occur before woo's thankyou, you can change "10, 1" to be "-1, 1"

  3. kyunomi
    Posted 2 years ago #

    it worked! Thanks alot!

Topic Closed

This topic has been closed to new replies.

About this Plugin

  • WooCommerce
  • Frequently Asked Questions
  • Support Threads
  • Reviews

About this Topic


No tags yet.