Как добавить «сопутствующие товары» в письма клиентов Woocommerce

#php #wordpress #email #woocommerce #hook-woocommerce

#php #wordpress #Адрес электронной почты #woocommerce #hook-woocommerce

Вопрос:

Я хочу отобразить 4 сопутствующих товара в письмах клиентов Woocommerce, но когда я просто вызываю короткий код внутри customer-processing-order.php , ничего не происходит.

 if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

/**
 * @hooked WC_Emails::email_header() Output the email header
 */
do_action( 'woocommerce_email_header', $email_heading, $email ); ?>
<?php echo do_shortcode('[related_products limit="4"]'); ?>

<p><?php _e( "Your order has been received and is now being processed. Your order     details are shown below for your reference:", 'woocommerce' ); ?></p>

<?php

/**
 * @hooked WC_Emails::order_details() Shows the order details table.
 * @hooked WC_Structured_Data::generate_order_data() Generates structured data.
 * @hooked WC_Structured_Data::output_structured_data() Outputs structured data.
 * @since 2.5.0
 */
do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email );

/**
 * @hooked WC_Emails::order_meta() Shows order meta data.
 */
do_action( 'woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text, $email );

/**
 * @hooked WC_Emails::customer_details() Shows customer details
 * @hooked WC_Emails::email_address() Shows email address
 */
do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email );

/**
 * @hooked WC_Emails::email_footer() Output the email footer
 */
do_action( 'woocommerce_email_footer', $email );
 

Я знаю, что должен быть хук или что-то, что я могу вызвать, чтобы отобразить эти сопутствующие товары, но все, что я пробовал до сих пор, не работает или сбой всей системы.

Комментарии:

1. Вы пробовали [related_products limit=»4″] короткий код?

2. да, это не сработало. он просто выводит его в виде обычного текста.

3. не могли бы вы поделиться своим customer-completed-order.php код страницы?

4. обновлен исходный пост

5. лично я бы создал для этого хук. — нравится : add_action( 'woocommerce_email_after_order_table', 'sa_add_related_to_email', 10, 2 ); function sa_add_related_to_email{ //doWhateverHere }

Ответ №1:

Попробуйте приведенный ниже код. Это может помочь. Добавьте этот код в functions.php файл

 add_action( 'woocommerce_email_after_order_table', 'custom_related_product', 10, 2 );
function custom_related_product( $order, $is_admin_email ) {
    echo do_shortcode('[related_products limit="4"]');
}