我正在尝试将通知类型添加到WooCommerce wc_add_notice()
类型集(wc_add_notice()
,success
,notice
)中。称它为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()类型集(成功,通知,错误)中。称其为“警告”,对于......>
使用您的自定义类添加错误或成功通知类,如下所示:
使它的js工作并消失然后对于CSS: