2014-02-13 4 views

ответ

0

В таких случаях я использую CSS.

Как правило, я использую элемент проверки Chrome (или любой браузер кода), найдите класс цены вне цены (может быть что-то вроде .outOfStockPrice).

Тогда я хотел бы использовать что-то вроде простой пользовательский CSS, чтобы применить мой пользовательский CSS (так что я не должен искать конкретный файл: http://wordpress.org/plugins/simple-custom-css/)

и добавить в пользовательский CSS:

.outOfStockPrice { 
    visibility: hidden; 
} 

Для получения дополнительной информации о потайных элементов с помощью CSS: http://www.kirupa.com/html5/hiding_things_using_css.htm

+0

Я не могу скрыть это через CSS, так как из-за цен на акции являются тот же класс, как и другие цены , Если я скрою цену, то она автоматически скроет все цены. – user3280580

+0

Тогда мне грустно. Вам нужно будет перейти на PHP, но оттуда вам понадобится эксперт WooCommerce или понять, где цена вызывается PHP, и прокомментировать эту часть. – Ross

3

Создать файл price.php в/вашей тематическом/WooCommerce/одного продукта/папки. Вставьте следующий код.

$ pricelabel = ""; - будет переменной, которая будет отображаться вместо цены, если количество запасов равно 0.

Если вы используете $ pricelabel = ""; - это удалит цену. Вы можете попробовать $ pricelabel = «ПРОДАНО!»; или любое другое сообщение, которое вы хотите отобразить, если хотите.

Я на самом деле написал этот код, чтобы отображать текстовое сообщение вместо конкретной цены. Я просто изменил его, чтобы проверить количество акций вместо цены.

<?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> 
0

очень простой, WooCommerce еще добавить outofstock класс на всю страницу, чтобы использовать это, и чем цена

это будет работать

.outofstock .price{display:none} 
4

Добавление этих к CSS работал для меня. Первый из них удаляет цену с позиции товара, а второй удаляет цену из позиции вне позиции в результатах поиска.

.outofstock .price {не дисплей: нет}

.outofstock .amount {не дисплей: нет}

Смежные вопросы