Server IP : 192.64.112.168 / Your IP : 52.14.213.73 Web Server : Apache System : Linux nc-ph-2300-85.bluforrest.com 4.18.0-513.9.1.el8_9.x86_64 #1 SMP Sat Dec 2 05:23:44 EST 2023 x86_64 User : expressoneac ( 1128) PHP Version : 8.0.30 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/expressoneac/www/wp-content/themes/woodmart/inc/integrations/ |
Upload File : |
<?php /** * Preview E-mails for WooCommerce. * * @package woodmart */ use XTS\WC_Wishlist\Ui; if ( ! defined( 'WOO_PREVIEW_EMAILS_DIR' ) ) { return; } if ( ! function_exists( 'woodmart_woo_preview_update_order' ) ) { /** * Update order. * * @param mixed $additional_data Additional data. * @param string $index Email index. * @param integer $order_id Order ID. * @param object $current_email Emails data. * * @return bool|void */ function woodmart_woo_preview_update_order( $additional_data, $index, $order_id, $current_email ) { $emails_list = array( 'woodmart_wishlist_back_in_stock', 'woodmart_wishlist_on_sale_products', 'woodmart_promotional_email', ); if ( in_array( $index, $emails_list, true ) ) { return true; } return $additional_data; } add_filter( 'woo_preview_additional_orderID', 'woodmart_woo_preview_update_order', 10, 4 ); } if ( ! function_exists( 'woodmart_woo_preview_order_trigger' ) ) { /** * Trigger emails content. * * @param object $current_email Emails data. * @param mixed $additional_data Additional data. * * @return void */ function woodmart_woo_preview_order_trigger( $current_email, $additional_data ) { $user_id = get_current_user_id(); if ( 'woodmart_back_in_stock_email' === $current_email->id ) { $products_back_in_stock = get_option( 'woodmart_wishlist_products_back_in_stock' ); if ( ! $products_back_in_stock || empty( $products_back_in_stock[ $user_id ] ) ) { $args = array( 'posts_per_page' => 4, 'post_type' => 'product', 'orderby' => 'rand', ); $query = new WP_Query( $args ); if ( ! isset( $query->posts ) ) { return; } foreach ( $query->posts as $post ) { $products_back_in_stock[ $user_id ][] = $post->ID; } } do_action( 'woodmart_send_back_in_stock_mail', $user_id, $products_back_in_stock[ $user_id ] ); } elseif ( 'woodmart_on_sale_products_email' === $current_email->id ) { $ui = Ui::get_instance(); $products_on_sales = array(); $product_ids_on_sale = wc_get_product_ids_on_sale(); if ( $ui->get_wishlist() ) { $wishlist_products = $ui->get_wishlist()->get_all(); foreach ( $wishlist_products as $product_data ) { if ( in_array( $product_data['product_id'], $product_ids_on_sale ) ) { //phpcs:ignore $products_on_sales[ $product_data['product_id'] ] = $product_data['product_id']; } } } if ( $products_on_sales ) { $args = array( 'posts_per_page' => 4, 'post_type' => 'product', 'orderby' => 'rand', ); $query = new WP_Query( $args ); if ( ! isset( $query->posts ) ) { return; } foreach ( $query->posts as $post ) { $products_on_sales[] = $post->ID; } } do_action( 'woodmart_send_on_sale_products_mail', $user_id, $products_on_sales ); } elseif ( 'woodmart_promotional_email' === $current_email->id ) { $products_for_promotion = array(); $args = array( 'posts_per_page' => 4, 'post_type' => 'product', 'orderby' => 'rand', ); $query = new WP_Query( $args ); if ( ! isset( $query->posts ) ) { return; } foreach ( $query->posts as $post ) { $products_for_promotion[ $user_id ][] = $post->ID; } do_action( 'woodmart_send_promotional_mail', $user_id, $products_for_promotion[ $user_id ], '', '' ); } } add_action( 'woo_preview_additional_order_trigger', 'woodmart_woo_preview_order_trigger', 10, 2 ); }