【问题标题】:Clone on sale badge onto product description single page but only for products on sale将促销徽章克隆到产品描述单页上,但仅适用于促销产品
【发布时间】:2018-12-28 10:29:00
【问题描述】:

我正在尝试让我的 .onsale 徽章显示在产品页面(而不是商店页面)上,并且只显示在销售的产品上。我尝试克隆 .onsale 徽章的原因是,我可以对它们应用不同的 CSS,一个用于商店页面,一个用于产品页面。

要克隆.onsale的工作代码:

jQuery( function($) {
$(".onsale").clone().appendTo(".entry-wrap").addClass("onsale2");
});

我尝试将.onsale2 仅应用于正在销售的产品:

jQuery( function($) {
    if( $product->is_on_sale() ) {
        return $(".onsale").clone().appendTo(".entry-wrap").addClass("onsale2");
    }
});

我怎样才能让它工作?

【问题讨论】:

    标签: php jquery css wordpress woocommerce


    【解决方案1】:

    以这种方式在 wp_footer 钩子中尝试:

    add_action( 'wp_footer', 'add_on_sale_badge' );
    function add_on_sale_badge(){
        global $product;
        // Only on single product pages and on sale products
        if ( is_product() && $product->is_on_sale() ):
        ?>
        <script type="text/javascript">
        jQuery(function($){
            $(".onsale").clone().appendTo(".entry-wrap").addClass("onsale2");
        });
        </script>
        <?php
        endif;
    }
    

    代码进入您的活动子主题(或活动主题)的 function.php 文件中。它应该可以工作。

    【讨论】:

    • 好的,谢谢,我是否应该删除我当前的 JQuery 代码并把你给我的这个新代码放在 function.php 中?
    • @RedecIndustrial "代码进入您的活动子主题的 function.php 文件中" ...试试看告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    相关资源
    最近更新 更多