Jump to content

vortegast

New Members
  • Posts

    1
  • Joined

  • Last visited

vortegast's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. Hey. I have no knowledge of PHP, but am trying to add some features to my Woocommerce website by fiddling with the .php files. What I’m trying to accomplish is catching a ‘shop-orders’ variable from one plugin, which adds delivery time and date, and giving it to another plugin, which sends the order data to an email address. Plugin 1 /** * Display service details in Order Receipt from order meta * * @author FoodStore * @since 1.1 * @return void */ public function receipt_services_meta( $order ) { if( ! apply_filters( 'wfs_receipt_show_services', true ) ) return; $order_id = version_compare( WC_VERSION, '3.0.0', '<' ) ? $order->id : $order->get_id(); $service_type = get_post_meta( $order_id, '_wfs_service_type', true ); $service_date = get_post_meta( $order_id, '_wfs_service_date', true ); $service_time = get_post_meta( $order_id, '_wfs_service_time', true ); $date_format = get_option('date_format'); echo '<tr>'; echo '<td><strong>' . __( 'Service Type:', 'food-store' ) .'</strong></td>'; echo '<td><strong>' . wfs_get_service_label( $service_type ) .'</strong></td>'; echo '</tr>'; echo '<tr>'; echo '<td><strong>' . __( 'Date:', 'food-store') . '</strong></td>'; echo '<td><strong>' . date_i18n( $date_format, strtotime( $service_date ) ) . '</strong></td>'; echo '</tr>'; echo '<tr>'; echo '<td><strong>' . __( 'Time:', 'food-store' ) . '</strong></td>'; echo '<td><strong>' . $service_time . '</strong></td>'; echo '</tr>'; } Plugin 2 function convert_template() { $defaults = array( 'show_sku' => false, 'show_image' => false, 'image_size' => array( 32, 32 ), 'plain_text' => true, 'sent_to_admin' => false, ); // $this->placeholders['{woocommerce_email_order_meta}'] = $this->woocommerce_email_order_meta(); $this->placeholders['{order_billing_name}'] = $this->object->get_billing_first_name() . ' ' . $this->object->get_billing_last_name(); $this->placeholders['{email_order_items_table}'] = wc_get_email_order_items( $this->object , $defaults ); $this->placeholders['{email_order_total_footer}'] = $this->email_order_total_footer(); $this->placeholders['{order_billing_email}'] = $this->object->get_billing_email(); $this->placeholders['{order_billing_phone}'] = $this->object->get_billing_phone(); $this->placeholders['{email_addresses}'] = $this->get_email_addresses(); $this->placeholders['{site_title}'] = get_bloginfo('name'); $this->placeholders['{order_shipping_address_1}'] = $this->object->shipping_address_1; $this->placeholders['{order_shipping_city}'] = $this->object->shipping_city; $this->placeholders['{order_shipping_state}'] = WC()->countries->states[$this->object->billing_country][$this->object->billing_state]; $this->placeholders['{order_shipping_postcode}'] = $this->object->shipping_postcode; $this->placeholders['{order_shipping_country}'] = WC()->countries->countries[ $this->object->get_shipping_country() ]; // For old woocommerce use find and replace methods foreach ( $this->placeholders as $find => $replace ) { $this->find[] = $find; $this->replace[] = $replace; } $this->placeholders = apply_filters( 'wcemails_find_placeholders', $this->placeholders, $this->object ); // Legacy filters $this->find = apply_filters( 'wcemails_find_placeholders', $this->find, $this->object ); $this->replace = apply_filters( 'wcemails_replace_placeholders', $this->replace, $this->object ); } I would like $service_time to be one of the placeholders in plugin 2. What I’ve tried is this: This failed. I was hoping any one of you could quickly help me out here, since this may be just a 5 second job for someone who knows what they’re doing. Thanks in advance!
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.