如何覆盖 Woocommerce 中的摘录产品?

问题描述 投票:0回答:1

我在 Woocommerce 上遇到问题,无法找到好的解决方案,我希望在此产品提取空间中进行换行。我还希望能够使用列表。 尽管我在插件中进行了搜索,但我找不到任何可能导致删除它们的 strip_tags,并且还覆盖了过滤器,我通过 Google 测试了许多代码,但没有成功。

这个解决方案对我不起作用。 woocommerce 产品摘录描述(简短)

enter image description here enter image description here 谢谢你

wordpress woocommerce wordpress-theming
1个回答
0
投票

简短描述由每个产品的简短描述输入字段控制。因此,您可以对需要一些手动操作的每个产品进行更改。

但是,您可以自动将简短描述中的每个句子转换为列表项。实现此目的的一种方法是添加一个函数,在每个 period(“.”)符号处分割描述,并将每个结果句子包装在

<li>
标签中。

以下代码将:

  1. 删除
    wpautop
    过滤器:删除WordPress添加的自动段落标签。
  2. 将简短描述分成每个句号 (
    .
    ) 符号处的句子。在每个句子的末尾添加句点符号非常重要,因为这决定了列表标签的结束位置。
  3. 将每个句子包裹在
    <li>
    标签中。
  4. 将所有列表项合并为一个无序列表 (
    <ul>
    )。

/* Automatically convert each sentence in the short description into a list item */
// Remove the wpautop filter for the short description
remove_filter('woocommerce_short_description', 'wpautop');

// Add the custom filter to apply the function to the short description
add_filter('woocommerce_short_description', 'custom_list_item_converter_short_description', 10, 1);
function custom_list_item_converter_short_description($the_excerpt) {
    // Split the excerpt into sentences at each period symbol and filter out empty elements
    $sentences = array_filter(array_map('trim', explode('.', $the_excerpt)));

    // Wrap each sentence in <li> tags and combine them into a single string with <ul> tags
    $formatted_excerpt = '<ul><li>' . implode('.</li><li>', $sentences) . '.</li></ul>';

    // Return the formatted excerpt
    return $formatted_excerpt;
}

我已经测试了这段代码,它对我来说有效。您应该将其添加到活动子主题的

functions.php
文件中。

enter image description here

删除此代码将恢复正常设置。

© www.soinside.com 2019 - 2024. All rights reserved.