Włącz powiadomienia e-mail o niskim stanie magazynowym i braku towaru.
How to enable low stock email notifications in WooCommerce;
Configuring out of stock email notifications in WooCommerce;
Set low stock notifications in WordPress;
Enable out of stock notifications in WooCommerce;
Email notification settings for stock status in WooCommerce;
How to receive notifications when a product is out of stock in WooCommerce;
Configuring low stock notifications in WooCommerce;
WooCommerce email notifications for inventory management;
Set stock status notifications in WooCommerce;
Configuring low stock emails in WooCommerce;
Objaśnienie
Aby śledzić stan swojego magazynu, ten kod pomoże Ci otrzymywać powiadomienia e-mail, gdy Twoje produkty są na wyczerpaniu lub są niedostępne w WooCommerce.
Oto jak to działa:
- Niestandardowe klasy e-maili: Kod dodaje dwie niestandardowe klasy e-maili dla powiadomień o niskim stanie magazynowym i braku towaru. Te klasy definiują treść i format wiadomości e-mail.
- Wyzwalanie e-maili: Gdy poziom zapasów produktu się zmienia, kod wyzwala odpowiednie powiadomienie e-mail. Dzieje się to za pomocą wbudowanych akcji WooCommerce dla zdarzeń niskiego stanu i braku towaru.
- Treść e-maila: E-maile zawierają szczegóły, takie jak nazwa produktu, i są wysyłane na adres e-mail administratora. Treść można dostosować za pomocą plików szablonów.
Dzięki temu ustawieniu otrzymasz na czas powiadomienia, co pomoże Ci skutecznie zarządzać poziomami zapasów i uniknąć rozczarowania klientów niedostępnymi produktami.
Kod
add_action( 'init', 'wp_dudecom_enable_stock_notifications' );
function wp_dudecom_enable_stock_notifications() {
add_filter( 'woocommerce_email_classes', 'wp_dudecom_add_custom_email_classes' );
add_action( 'woocommerce_low_stock_notification', 'wp_dudecom_trigger_low_stock_email' );
add_action( 'woocommerce_no_stock_notification', 'wp_dudecom_trigger_no_stock_email' );
}
function wp_dudecom_add_custom_email_classes( $email_classes ) {
require_once 'class-wp-dudecom-low-stock-email.php';
require_once 'class-wp-dudecom-no-stock-email.php';
$email_classes['WP_Dudecom_Low_Stock_Email'] = new WP_Dudecom_Low_Stock_Email();
$email_classes['WP_Dudecom_No_Stock_Email'] = new WP_Dudecom_No_Stock_Email();
return $email_classes;
}
function wp_dudecom_trigger_low_stock_email( $product ) {
$mailer = WC()->mailer();
$mails = $mailer->get_emails();
if ( ! empty( $mails['WP_Dudecom_Low_Stock_Email'] ) ) {
$mails['WP_Dudecom_Low_Stock_Email']->trigger( $product );
}
}
function wp_dudecom_trigger_no_stock_email( $product ) {
$mailer = WC()->mailer();
$mails = $mailer->get_emails();
if ( ! empty( $mails['WP_Dudecom_No_Stock_Email'] ) ) {
$mails['WP_Dudecom_No_Stock_Email']->trigger( $product );
}
}
class WP_Dudecom_Low_Stock_Email extends WC_Email {
public function __construct() {
$this->id = 'wp_dudecom_low_stock_email';
$this->title = 'Low Stock Notification';
$this->description = 'This email is sent when a product is low in stock.';
$this->heading = 'Product Low in Stock';
$this->subject = 'Low Stock Alert: {product_name}';
$this->template_html = 'emails/wp-dudecom-low-stock-email.php';
$this->template_plain = 'emails/plain/wp-dudecom-low-stock-email.php';
add_action( 'wp_dudecom_low_stock_notification', array( $this, 'trigger' ), 10, 1 );
parent::__construct();
}
public function trigger( $product ) {
if ( ! $this->is_enabled() ) {
return;
}
$this->object = $product;
$this->recipient = get_option( 'admin_email' );
$this->placeholders = array(
'{product_name}' => $this->object->get_name(),
);
if ( ! $this->get_recipient() ) {
return;
}
$this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
}
public function get_content_html() {
return wc_get_template_html( $this->template_html, array(
'email_heading' => $this->get_heading(),
'product' => $this->object,
'sent_to_admin' => true,
'plain_text' => false,
'email' => $this,
) );
}
public function get_content_plain() {
return wc_get_template_html( $this->template_plain, array(
'email_heading' => $this->get_heading(),
'product' => $this->object,
'sent_to_admin' => true,
'plain_text' => true,
'email' => $this,
) );
}
}
class WP_Dudecom_No_Stock_Email extends WC_Email {
public function __construct() {
$this->id = 'wp_dudecom_no_stock_email';
$this->title = 'Out of Stock Notification';
$this->description = 'This email is sent when a product is out of stock.';
$this->heading = 'Product Out of Stock';
$this->subject = 'Out of Stock Alert: {product_name}';
$this->template_html = 'emails/wp-dudecom-no-stock-email.php';
$this->template_plain = 'emails/plain/wp-dudecom-no-stock-email.php';
add_action( 'wp_dudecom_no_stock_notification', array( $this, 'trigger' ), 10, 1 );
parent::__construct();
}
public function trigger( $product ) {
if ( ! $this->is_enabled() ) {
return;
}
$this->object = $product;
$this->recipient = get_option( 'admin_email' );
$this->placeholders = array(
'{product_name}' => $this->object->get_name(),
);
if ( ! $this->get_recipient() ) {
return;
}
$this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
}
public function get_content_html() {
return wc_get_template_html( $this->template_html, array(
'email_heading' => $this->get_heading(),
'product' => $this->object,
'sent_to_admin' => true,
'plain_text' => false,
'email' => $this,
) );
}
public function get_content_plain() {
return wc_get_template_html( $this->template_plain, array(
'email_heading' => $this->get_heading(),
'product' => $this->object,
'sent_to_admin' => true,
'plain_text' => true,
'email' => $this,
) );
}
}
Instrukcja
Lokalizacja pliku: Dodaj kod do pliku functions.php
swojego motywu lub stwórz plik własnej wtyczki.
Wymagania wstępne:
- Upewnij się, że WooCommerce jest zainstalowane i aktywowane na Twojej stronie WordPress.
Kroki wdrożenia:
- Dostęp do plików WordPress: Użyj klienta FTP lub menedżera plików swojego dostawcy hostingu, aby uzyskać dostęp do plików instalacji WordPress.
- Znajdź plik: Przejdź do
wp-content/themes/twoj-motyw/functions.php
lub stwórz nowy plik wtyczki wwp-content/plugins/
. - Edytuj plik: Otwórz plik
functions.php
lub plik wtyczki w edytorze tekstu. - Dodaj kod: Skopiuj i wklej podany kod do pliku.
- Zapisz zmiany: Zapisz plik i upewnij się, że nie ma błędów składniowych.
- Prześlij szablony e-mail: Stwórz niezbędne pliki szablonów e-mail:
- W katalogu swojego motywu stwórz folder o nazwie
emails
, a wewnątrz niego kolejny o nazwieplain
. - Stwórz pliki
wp-dudecom-low-stock-email.php
iwp-dudecom-no-stock-email.php
w folderzeemails
. - Stwórz wersje tekstowe
wp-dudecom-low-stock-email.php
iwp-dudecom-no-stock-email.php
w folderzeplain
.
- W katalogu swojego motywu stwórz folder o nazwie
- Przetestuj funkcjonalność: Dostosuj poziomy zapasów produktów w WooCommerce, aby wywołać powiadomienia o niskim i braku zapasów oraz zweryfikuj, że e-maile są wysyłane na adres e-mail administratora.
W celu uzyskania pomocy przy wdrożeniu lub w celu poznania bardziej zaawansowanej funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy w zakresie WordPress.