WC_Emails::no_stock
No stock notification email.
Method of the class: WC_Emails{}
Hooks from the method
Returns
null. Nothing (null).
Usage
$WC_Emails = new WC_Emails(); $WC_Emails->no_stock( $product );
- $product(WC_Product) (required)
- Product instance.
WC_Emails::no_stock() WC Emails::no stock code WC 10.8.1
public function no_stock( $product ) {
if ( 'no' === get_option( 'woocommerce_notify_no_stock', 'yes' ) ) {
return;
}
/**
* Determine if the current product should trigger a no stock notification
*
* @param int $product_id - The out of stock product id
*
* @since 4.6.0
*/
if ( false === apply_filters( 'woocommerce_should_send_no_stock_notification', true, $product->get_id() ) ) {
return;
}
// If this is a variation but stock is managed at the parent level, use the parent product for the notification.
if ( $product->is_type( ProductType::VARIATION ) && 'parent' === $product->get_manage_stock() ) {
$parent_product = wc_get_product( $product->get_parent_id() );
if ( $parent_product ) {
$product = $parent_product;
}
}
$subject = sprintf( '[%s] %s', $this->get_blogname(), __( 'Product out of stock', 'woocommerce' ) );
/* translators: %s: product name */
$message = sprintf( __( '%s is out of stock.', 'woocommerce' ), html_entity_decode( wp_strip_all_tags( $product->get_formatted_name() ), ENT_QUOTES, get_bloginfo( 'charset' ) ) );
$this->add_email_sender_filters();
wp_mail(
/**
* Filter the recipient of the no stock notification email.
*
* @since 3.0.0
* @param string $recipient The recipient email address.
* @param WC_Product $product Product instance.
* @param null $null Unused.
*/
apply_filters( 'woocommerce_email_recipient_no_stock', get_option( 'woocommerce_stock_email_recipient' ), $product, null ),
/**
* Filter the subject of the no stock notification email.
*
* @since 3.0.0
* @param string $subject The email subject.
* @param WC_Product $product Product instance.
* @param null $null Unused.
*/
apply_filters( 'woocommerce_email_subject_no_stock', $subject, $product, null ),
/**
* Filter the content of the no stock notification email.
*
* @since 3.0.0
* @param string $message The email content.
* @param WC_Product $product Product instance.
* @param null $null Unused.
*/
apply_filters( 'woocommerce_email_content_no_stock', $message, $product ),
/**
* Filter the headers of the no stock notification email.
*
* @since 3.0.0
* @param string $headers The email headers.
* @param WC_Product $product Product instance.
* @param null $null Unused.
*/
apply_filters( 'woocommerce_email_headers', '', 'no_stock', $product, null ),
/**
* Filter the attachments of the no stock notification email.
*
* @since 3.0.0
* @param array $attachments The email attachments.
* @param WC_Product $product Product instance.
* @param null $null Unused.
*/
apply_filters( 'woocommerce_email_attachments', array(), 'no_stock', $product, null )
);
$this->remove_email_sender_filters();
}