在单个产品页面上显示类别和品牌名称

2023-11-30

在 Woocommerce 中,我正在使用YITH WooCommerce 品牌插件处理产品品牌。

我目前正在努力解决 WooCommerce 中我的简短描述下想要的固定文本。我想动态显示产品名称在那段文字中(有效),也是产品类别名称[CATEGORY_NAME]和品牌名称[BRAND_NAME].

但我似乎无法让它们发挥作用。

基于这个答案线程:在 Woocommerce 中的单个产品简短描述下添加文本

这是我的代码版本:

// Add text after short description

add_action( 'woocommerce_single_product_summary', 'custom_single_product_summary', 2 );
function custom_single_product_summary(){
    global $product;

    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
    add_action( 'woocommerce_single_product_summary', 'custom_single_excerpt', 20 );
}

function custom_single_excerpt(){
    global $post, $product;

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

    if ( ! $short_description )
        return;

    // The custom text
    $custom_text = 'Zoekt u naast de '.$product->get_name().' andere [PRODUCT_CATEGORY] van dit merk? Bekijk dan eens de gehele collectie van [BRAND_NAME]. Powerlight is officieel dealer van [BRAND_NAME]. Heeft u een specifieke vraag over dit product? Neem gerust eens contact op met onze <span style="text-decoration: underline;"><a href="https://power-light.nl/contact/">klantenservice</a></span>. Onze adviseurs staan graag voor u klaar.';

    ?>
    <div class="woocommerce-product-details__short-description">
        <?php echo $short_description . $custom_text; // WPCS: XSS ok. ?>
    </div>
    <?php
}

知道如何在自定义文本中显示产品类别名称和产品品牌名称吗?


下面的代码将在产品简短描述之后输出自定义文本,其中包含正确的产品类别和正确的产品类别(Yith)产品品牌(对于 YITH WooCommerce Brands 插件也是如此).

add_action( 'woocommerce_single_product_summary', 'custom_single_product_summary', 2 );
function custom_single_product_summary(){
    global $product;

    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
    add_action( 'woocommerce_single_product_summary', 'custom_single_excerpt', 20 );
}

function custom_single_excerpt(){
    global $post, $product;

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

    if ( ! $short_description )
        return;

    // Get product categories
    $categories = wp_get_post_terms( $post->ID, 'product_cat', array( 'fields' => 'names' ) );
    // Get product brands (NOTE: for Woocommerce brands plugin, the taxonomy is 'product_brand')
    $brands     = wp_get_post_terms( $post->ID, 'yith_product_brand', array( 'fields' => 'names' ) );

    // The custom link
    $custom_link = '<span style="text-decoration: underline;"><a href="https://power-light.nl/contact/">'.__("klantenservice").'</a></span>';

    // The custom text
    $custom_text = sprintf(__("Zoekt u naast de %s andere %s van dit merk? Bekijk dan eens de gehele collectie van %s. Powerlight is officieel dealer van %s. Heeft u een specifieke vraag over dit product? Neem gerust eens contact op met onze %s. Onze adviseurs staan graag voor u klaar."), $product->get_name(), reset($categories), reset($brands), reset($brands), $custom_link );

    ?>
    <div class="woocommerce-product-details__short-description">
        <?php echo $short_description . $custom_text; // WPCS: XSS ok. ?>
    </div>
    <?php
}

代码位于活动子主题(或活动主题)的 function.php 文件中。经过测试并有效。

如果你使用Woocommerce 品牌插件,你必须在代码中替换'yith_product_brand' by 'product_brand'。就这样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在单个产品页面上显示类别和品牌名称 的相关文章

随机推荐

  • foreach 是否在每次迭代时评估数组?

    我想创建一个foreach它会跳过第一项 我在其他地方看到最简单的方法是使用myCollection Skip 1 但我有一个问题 MSDN 文档中关于 Skip 描述它 绕过序列中指定数量的元素 然后返回剩余元素 这是否意味着调用 for
  • (py)zmq/PUB:是否可以立即调用 connect() 然后调用 send() 并且不会丢失消息?

    使用这段代码 我总是会丢失消息 def publish frontend url message context zmq Context socket context socket zmq PUB socket connect fronte
  • Kahan求和算法GCC编译时计算误差较大

    我使用Kahan求和算法 inline void KahanSum float value float sum float correction float term value correction float temp sum term
  • C# 中的 Pop3 到 SMTP 消息自定义转发器

    我想编写一个服务 定期检查 POP3 帐户是否有新消息 并根据自定义业务逻辑将消息转发到适当的 收件人 并且可能还会更改 发件人 我可能需要在服务器上保留一些消息 直到某些条件准备好转发它们 我找到了一个使用 Chilkat NET 组件的
  • 如何在没有外部软件的情况下使用批处理脚本将二进制文件分割成一定大小的块?

    有很多原因想要将文件分割成块 主要是为了网络传输 例如电子邮件附件 但我确信有些场景可能需要我无法想象的这种东西 那么如何将文件分割成可以轻松组装回原始文件 包括非Windows系统 的块呢 有什么可能性 MAKECAB 内置的 Windo
  • XML 文件未使用 jdom 进行更新

    以下是我的 java 代码 用于读取 xml 文件并更新其中的一些值 public static void writeLexicon String word String tag int newFreq 0 int tagAvailabil
  • 尝试从 Mule 4 中的 XML 中删除命名空间时出错

    当我用 替换所有有效负载 env 和 xmlns 时 我看到类似 当文档没有根时尝试写入 END DOCUMENT 的错误 它抛出错误 Message Trying to write END DOCUMENT when document h
  • angularjs $anchorScroll 有时会刷新所有页面

    我有一个带有 angularjs 路由的应用程序 但在某些视图上我想滚动到某个特定的 div 并且我使用anchorScroll 但有时 并非所有时候 它会刷新所有页面 即使我停止事件传播 有人遇到过这个问题吗 scope redirect
  • 如何解决npm安装问题?

    我正在尝试安装 npm 包 npm ERR code EHOSTUNREACH npm ERR errno EHOSTUNREACH npm ERR request to https registry npmjs org express s
  • 如何将 DOM 元素脚本添加到 head 部分?

    我想将 DOM 元素添加到 HTML 的 head 部分 jQuery 不允许将 DOM 元素脚本添加到 head 部分 而是执行 参考 我想添加script标签并在其中编写脚本部分 var script head append scrip
  • Hadoop 目录/文件上次修改时间

    有没有办法获取hdfs中所有目录和文件的最后修改时间 我想创建显示信息的页面 但我不知道如何在一个 txt 文件中获取最后一次修改时间 看看是否有帮助 public class HdfsDemo public static void mai
  • JFreechart在图表上绘制圆弧

    我有 2 个问题 1 我试图使用形状注释在 XYplot 上绘制圆弧 我使用 XYLine 注释来绘制一条线 并且希望弧线从该线结束的地方开始 我在参数方面遇到一些问题 我希望弧的高度为 17 宽度为 44 并从绘图的点 3 0 17 开始
  • 有效地“应用”数组并保留结构

    我有一个矩阵数组 dims lt c 10000 5 5 mat array lt array rnorm prod dims dims 我想执行基于矩阵的运算 例如通过solve函数 在每个矩阵上 但保留数组的完整结构 到目前为止 我已经
  • 如何在发送前检查.Attachment.Add“文件名”是否成功

    我有一些代码可以创建邮件对象 Outlook 附加文件并发送它 Dim mobjOutlook mobjActiveExp mobjNewMail As Object Create Outlook objects Set mobjOutlo
  • AppDelegate、rootViewController 和 PresentViewController

    我正在做 Facebook 集成教程 如果用户具有当前状态的有效令牌 我想显示我的 MainViewViewController 否则我想显示 LoginViewController MainView AppDelegate m BOOL
  • spring amqp中使用spring webclient的正确方法

    我有以下用于使用来自rabbitmq的消息的spring amqp应用程序的技术堆栈 Spring boot 2 2 6 RELEASE Reactor Netty 0 9 12 RELEASE Reactor Core 3 3 10 RE
  • 谷歌导航意图

    我正在尝试直接从我的应用程序启动 Google 导航 以便它可以将我从起始地址导航到目标地址 因此 我有起始地址和目的地地址的纬度和经度坐标 并希望获得这些坐标的导航 但我不知道如何提供起始地址 导航仅使用我的 GPS 来获取我当前的信息
  • Swift webview xcode 发布数据

    我有一个网络视图 当前编码如下 let url NSURL string http example com let request NSURLRequest URL url monitorView loadRequest request 这
  • 列出 AWS .NET SDK 中的实例

    我正在编写代码以使用适用于 AWS 的 net SDK 列出实例 ID 和实例类型 我知道我需要使用DescribeInstancesRequest 类 我还认为我需要使用 ArrayList 来存储字符串输出和 foreach 循环来获取
  • 在单个产品页面上显示类别和品牌名称

    在 Woocommerce 中 我正在使用YITH WooCommerce 品牌插件处理产品品牌 我目前正在努力解决 WooCommerce 中我的简短描述下想要的固定文本 我想动态显示产品名称在那段文字中 有效 也是产品类别名称 CATE