Woocommerce:如何在注销时显示自定义成功通知消息?

时间:2019-05-03 09:59:03

标签: php wordpress woocommerce hook-woocommerce

在注销时显示成功消息。 这是我尝试过的代码。但注销时未收到成功消息

这是我尝试过的代码。但注销时未收到成功消息

function displaynotice() {
    add_action( 'woocommerce_init', 'custom_notice' );
}
add_action('wp_logout', 'displaynotice');

function custom_notice() {
    wc_add_notice( 'This is a Success notice', 'success' );
}

我认为注销时,Wordpress或Woocommerce会破坏当前会话。因此,我所有的Flash消息也将被破坏或取消设置。因此,使用会话将不是一种选择。

工作解决方案

在function.php

setcookie('done', null, -1, '/');
add_action('wp_logout',function(){
   setcookie("done", "done", time() + (86400 * 30), "/");
});

以及我们要在其中显示消息的页面

<?php 
if(isset($_COOKIE["done"]) && !empty($_COOKIE["done"]) ) {?>
    <div class="woocommerce-message" role="alert">
    You've been logged out successfully.</div>
<?php } ?>

2 个答案:

答案 0 :(得分:0)

请尝试使用wp_logout动作钩子,因为每当用户注销该钩子时,就会将其注销方法添加到该钩子中。

示例:

add_action('wp_logout',function(){
    wc_add_notice( 'This is a Success notice', 'success' );
});

答案 1 :(得分:0)

工作解决方案

在function.php

setcookie('done', null, -1, '/');
add_action('wp_logout',function(){
   setcookie("done", "done", time() + (86400 * 30), "/");
});

以及我们要在其中显示消息的页面

<?php 
if(isset($_COOKIE["done"]) && !empty($_COOKIE["done"]) ) {?>
    <div class="woocommerce-message" role="alert">
    You've been logged out successfully.</div>
<?php } ?>