• Hi,

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

    <?php
    
    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. would anyone kindly assists me? Thanks!

Viewing 4 replies - 1 through 4 (of 4 total)
  • Start by moving

    add_action('woocommerce_order_details_after_order_table', My_additional_shipping_info');

    to after the block of the function.
    so the code should look like:

    <?php
    
    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}"; }
    }
    add_action('woocommerce_order_details_after_order_table', 'My_additional_shipping_info');
    ?>

    Thread Starter kyunomi

    (@kyunomi)

    yup i did. unfortunately, i still does not work.

    Andrew Nevins

    (@anevins)

    WCLDN 2018 Contributor | Volunteer support

    Where is $order defined? I’m assuming this is specific to a particular plugin and so have you asked this in that plugin’s subforum?

    Thread Starter kyunomi

    (@kyunomi)

    i think both of them belong to woocommerce. Have not asked in the subforum yet as i thought this would be a general question of creating custom function in a child theme which refers to a variable from wordpress or another plugin.

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘Custom function in child theme’ is closed to new replies.