繁体   English   中英

WooCommerce仅针对已登录用户显示销售徽章

[英]WooCommerce show on-sale badge only for logged in users

我只想在WooCommerce中显示已登录用户的销售气泡。 我有一个为未登录用户隐藏销售气泡的功能,但是如果我登录,则只显示值“ 1”而不是销售气泡。 我知道为什么,因为我返回的是true,但是我不知道如何返回销售泡沫而不是true。

WooCommerce

add_filter('woocommerce_sale_flash', 'woo_custom_hide_sales_flash');
function woo_custom_hide_sales_flash()
{
    if ( is_user_logged_in() ) {
        return true;
    }
    return false;
}

您没有以正确的方式使用此过滤器挂钩。 请尝试以下操作:

add_filter( 'woocommerce_sale_flash', 'filter_sales_flash_callback', 100, 3 );
function filter_sales_flash_callback( $output_html, $post, $product )
{
    if ( ! is_user_logged_in() ) {
        $output_html = false;
    }
    return $output_html;
}

代码进入您的活动子主题(或活动主题)的functions.php文件中。 经过测试和工作。

function sales_markup() {   

    if(!is_admin()) { 

    if(is_user_logged_in())    {  
     // Instead of outputting add the markup that you want to show  
     $output = '<div class="Sales_markup_here">
      </div>';
     return $output;

     }
  }
}

// use shortcode instead of action and then use shortcode anywhere you want to ouptut it
add_shortcode( 'sales_markup', 'sales_markup' );

在您要输出气泡的地方使用简码。 您可以在全局css文件中添加css。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM