Woocommerce中具有全球内容的产品简短描述

时间:2018-11-30 11:29:21

标签: php wordpress woocommerce

想知道是否有人可以帮忙,php不是我的强项。我正在尝试创建一个简短的全局描述,因此不必将其添加到2000个产品中,因为这将是3个链接。我进入主题文件目录,并将以下代码添加到Short-Description.Php

现在我遇到的问题是当我在wordpress cms中分别添加简短描述时。它显示了单个产品页面上的3个链接,以及我从short-description.php中添加的3个链接。因此,它是它的两个副本,但是当我从简短描述wordpress cms中取出代码时,它们都消失了,这是我尝试开始的两个选择。希望这很有意义,并且可能是一个简单的修复程序,在此先感谢您的帮助。

     <?php
     /**
      * Single product short description
      *
      * @author  Automattic
      * @package WooCommerce/Templates
      * @version 3.3.0
      */

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

     global $post;

     $short_description = apply_filters( 'woocommerce_short_description', $post->post_excerpt );

     if ( ! $short_description ) {
        return;
     }

     ?>
     <div class="product-short-description">
        <?php echo $short_description; // WPCS: XSS ok. ?>
     <p>Our <a href="/always-the-lowest-prices-guaranteed/">Price Guarantee</a><br>
     Interested in <a href="/free-delivery/">Free Delivery?</a><br>
     <a href="/5-year-guarantee/">PremierCare cover</a></p>
     </div>

我还创建了一个块,用作短代码-可能使将来仅通过块进行更改就更容易。仅显示三个链接就具有相同的代码作用。

<div class="product-short-description">
<?php echo $short_description; // WPCS: XSS ok. ?>
<?php echo do_shortcode('[block id="short-description-shortcode"]'); ?>
</div>

1 个答案:

答案 0 :(得分:0)

此处的PHP代码:

if ( ! $short_description ) {
  return;
}

是说如果不存在简短描述,请停止处理下面的代码,这就是为什么什么都没有出现的原因。您可以更改为:

if ( ! $short_description ) {
?>
<div class="product-short-description">
  <p>Our <a href="/always-the-lowest-prices-guaranteed/">Price Guarantee</a><br>Interested in <a href="/free-delivery/">Free Delivery?</a><br>
  <a href="/5-year-guarantee/">PremierCare cover</a></p>
</div>
<?php
} else {
  echo $short_description; // WPCS: XSS ok
}
?>

为清楚起见,您可能可以弄清楚这段代码在做什么。如果在CMS中未设置任何简短说明,则使用您的硬编码内容,否则,如果您在CMS中添加了简短说明,则使用该内容。