WooCommerce wc_add_notice()具有自定义的notice_type和购物车更新

问题描述 投票:0回答:1

我正在尝试将通知类型添加到WooCommerce wc_add_notice()类型集(wc_add_notice()successnotice)中。称它为error,对于用户来说,它应该比'warning'更“严重”,但不如'notice'严重。

我开始将'error'复制到wp-content/plugins/woocommerce/teplates/notices/notice.php

然后我将其类名称修改为wp-content/themes/mytheme/woocommerce/notices/warning.php

woocommerce-warning

然后,要使其正常工作,我必须添加此代码

<?php foreach ( $messages as $message ) : ?>
    <div class="woocommerce-warning"><?php echo wp_kses_post( $message ); ?></div>
<?php endforeach; ?>

发送给我的add_filter('woocommerce_notice_types', function ($notice_types) { $notice_types[] = "warning"; return $notice_types; }); ,让WooCommerce打印我的新通知类型。

然后当然是一些CSS来调整颜色和样式:

functions.php

现在,通过简单的.woocommerce-warning { border-top-color:gold; border-bottom-color:gold; } .woocommerce-warning::before { content: "\e016"; color: gold; top: 0.2em; left: 0.5em; font-size: 1.8em; } ,我的警告消息就出现了!

最初它似乎可以工作,但是现在我意识到它的行为与原始通知类型不同:如果我更新购物车,即更正产品数量(我认为这是AJAX调用,可能会有一些jquery。 ?),我的验证器函数会添加一个不会更新的警告通知(它只是与旧消息一起保留在此处)。将类型从wc_add_notice('message', 'warning');替换为warning,消息将按预期更新。

notice

任何想法为何?我的猜测:也许有些jquery可以解决...?

感谢

我正在尝试将通知类型添加到WooCommerce wc_add_notice()类型集(成功,通知,错误)中。称其为“警告”,对于......>

jquery ajax woocommerce customization hook-woocommerce
1个回答
0
投票

使用您的自定义类添加错误或成功通知类,如下所示:

使它的js工作并消失然后对于CSS:

© www.soinside.com 2019 - 2024. All rights reserved.