如何隐藏Woocommerce“缺货”商品的价格

时间:2014-02-13 17:50:33

标签: wordpress woocommerce product

我想显示我的缺货商品,但在WooCommerce中没有价格。有没有简单的方法来隐藏“缺货”商品的价格?

谢谢!

5 个答案:

答案 0 :(得分:4)

将这些添加到CSS对我有用。第一个从缺货商品页面中删除价格,第二个从搜索结果中的缺货商品中删除价格。

.outofstock .price {display:none}

.outofstock .amount {display:none}

答案 1 :(得分:3)

在/ your-theme / woocommerce / single-product /文件夹中创建文件price.php。粘贴以下代码。

$ pricelabel ="&#34 ;; - 如果库存数量为0,将显示的变量将代替价格。

如果你使用$ pricelabel ="&#34 ;; - 这将取消价格。您可以尝试$ pricelabel ="售完!&#34 ;;或者你想要显示的任何信息。

我实际上写了这段代码来显示短信而不是特定的价格。我只是改变它来检查库存数量而不是价格。

<?php
/**
 * Single Product Price, including microdata for SEO
 *
 * @author      WooThemes
 * @package     WooCommerce/Templates
 * @version     1.6.4
 */

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

global $post, $product;
?>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">

    <p class="price"> <?php 
        $stockamount = $product->get_stock_quantity();
        $price = $product->get_price_html();
        $pricelabel = "";
        if($stockamount == 0)
        {
            echo $pricelabel;
        }
        else
        {
            echo $price;            
        }; 
    ?>
    </p>

    <meta itemprop="price" content="<?php echo $product->get_price(); ?>" />
    <meta itemprop="priceCurrency" content="<?php echo get_woocommerce_currency(); ?>" />
    <link itemprop="availability" href="http://schema.org/<?php echo $product->is_in_stock() ? 'InStock' : 'OutOfStock'; ?>" />

</div>

答案 2 :(得分:1)

把它放在函数中

add_filter( 'woocommerce_get_price_html', 'remove_price_ofs', 10, 2 );
function remove_price_ofs( $price, $product ) {
if ( ! $product->is_in_stock()) {$price = '';}
return $price;
}

答案 3 :(得分:0)

在这种情况下,我使用CSS。

我通常会使用Chrome的检查元素(或任何代码浏览器),找到缺货价格的类别(可能类似于.outOfStockPrice)。

然后我会使用像Simple Custom CSS这样的东西来应用我的自定义CSS(所以我不必查找特定的文件:http://wordpress.org/plugins/simple-custom-css/

并将其添加到您的自定义CSS:

.outOfStockPrice {
   visibility: hidden;
}

有关使用CSS隐藏元素的更多信息:http://www.kirupa.com/html5/hiding_things_using_css.htm

答案 4 :(得分:0)

非常简单,woocommerce仍然在整个页面添加了outofstock类,所以使用它而不是价格

这将起作用

.outofstock .price{display:none}