#php #wordpress #woocommerce #hook-woocommerce #notice
#php #wordpress #woocommerce #hook-woocommerce #УВЕДОМЛЕНИЕ
Вопрос:
Я использую это, чтобы удалить сообщение «Корзина обновлена» в Woocommerce:
add_filter( 'woocommerce_add_message', '__return_false');
Но сообщение «Стоимость доставки обновлена» по-прежнему отображается. Как я могу удалить это сообщение?
Ответ №1:
В shortcodes/class-wc-shortcode-cart.php мы находим
wc_add_notice( __( 'Shipping costs updated.', 'woocommerce' ), 'notice' );
В includes/wc-notice-functions.php мы находим, что в wc_add_notice
функции
// Backward compatibility.
if ( 'success' === $notice_type ) {
$message = apply_filters( 'woocommerce_add_message', $message );
}
$message = apply_filters( 'woocommerce_add_' . $notice_type, $message );
Таким образом, вместо использования woocommerce_add_message
крючка фильтра вы можете использовать woocommerce_add_"$notice_type"
крючок фильтра. Затем вы будете сравнивать сообщение с уведомлением, если этого достаточно, мы возвращаем false.
Таким образом, вы получаете:
function filter_woocommerce_add_notice ( $message ) {
// Equal to (Must be exactly the same).
// If the message is displayed in another language, adjust where necessary!
if ( $message == 'Shipping costs updated.' ) {
return false;
}
return $message;
}
add_filter( 'woocommerce_add_notice', 'filter_woocommerce_add_notice', 10, 1 );