将“现货”移至Woocommerce产品页面顶部

3

我想把“有现货”信息放在价格下方而不是产品简短描述之后。

但我不太明白,在我的 wp-content/plugins/woocommerce/templates/single-product/price.php

那段代码看起来就是实现这个功能的:

<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">

<p class="price"><?php echo $product->get_price_html(); ?></p>

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

但是,当我在我的产品页面时,描述信息总是出现在中间: http://www.taldeak.fr/shop/rugby/pays-de-galles-france-cardiff-26-28-fevrier-2016 我知道这是法语,但基本上价格和库存是绿色的两个信息。顺便说一下,我正在使用WooCommerce - Gravity Forms Product Add-Ons,如果有相关的话。
如果有人能帮忙,那就太好了!! 提前感谢, G

如果有一个或多个答案是正确的,你应该接受并且点赞(如果合适)其中一个,这样其他使用此网站的用户就会知道哪个答案是最好的,也是正确回答了你的问题。 - Tristan
1个回答

1
您已将链接标签移动到了 itemprop="offers" 中显示的 itemprop="availablity",但是您并没有移动实际包含在 <p class="stock in-stock"> 中的库存 html。
以下是您提供的代码周围的当前内容。
<div itemprop="offers" itemscope="" itemtype="http://schema.org/Offer">
    <p class="price"><span class="woocommerce-price-before"><font><font>from € 849 </font></font></span><span class="woocommerce-price-after"> </span></p>
<meta itemprop="price" content="0">
    <meta itemprop="priceCurrency" content="EUR">
    <link itemprop="availability" href="http://schema.org/InStock">
</div>

编辑:库存状态包含在两个位置,具体取决于它是一个简单产品还是分组产品:

wp-content/plugins/woocommerce/templates/single-product/add-to-cart/simple.php第22行。

<?php
    // Availability
    $availability      = $product->get_availability();
    $availability_html = empty( $availability['availability'] ) ? '' : '<p class="stock ' . esc_attr( $availability['class'] ) . '">' . esc_html( $availability['availability'] ) . '</p>';

    echo apply_filters( 'woocommerce_stock_html', $availability_html, $availability['availability'], $product );
?>

wp-content/plugins/woocommerce/templates/single-product/add-to-cart/grouped.php第62行

<?php
    echo $product->get_price_html();

    if ( $availability = $product->get_availability() ) {
        $availability_html = empty( $availability['availability'] ) ? '' : '<p class="stock ' . esc_attr( $availability['class'] ) . '">' . esc_html( $availability['availability'] ) . '</p>';
        echo apply_filters( 'woocommerce_stock_html', $availability_html, $availability['availability'], $product );
    }
?>

非常感谢您的回复,Tristan。我确实看到了<p class="stock in-stock">在html中错位了。但是我不知道在哪里编辑它,因为在我之前发送的代码下面没有更多的代码了。那就是price.php模板的结尾。 - Grace

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接