【问题标题】:How to add bullet points to new lines in ACF Text Area field如何将项目符号点添加到 ACF 文本区域字段中的新行
【发布时间】:2021-06-28 13:34:53
【问题描述】:

我的客户 Wordpress 网站上有一个 ACF 文本区域字段(实际上是 2 个),其中包含一个列表。客户希望将其作为项目符号输出到前端。

我对 JS 比较陌生,所以试图弄清楚如何做到这一点!

我从 ACF 中发现了这个 - https://www.advancedcustomfields.com/resources/acf-format_value/ - 在为某些字段添加格式方面,所以我已经研究了如何将代码添加到字段中!但是,我正在努力弄清楚在中间放置什么编码来让每个<br> 添加一个新的<li> 来代替......

function my_acf_format_value( $value, $post_id, $field ) {

    $my_acf_format_value = explode("\n", $value);
    
    echo '<ul>';
    echo '<li>' . implode( '</li><li>', $value) . '</li>';
    echo '</ul>';
}

add_filter('acf/format_value/name=averetourism_tour_included', 'my_acf_format_value', 10, 3);
add_filter('acf/format_value/name=averetourism_tour_to_bring', 'my_acf_format_value', 10, 3);

这是在字段上实现的,但没有输出任何数据。

任何帮助将不胜感激!!!

【问题讨论】:

    标签: wordpress echo advanced-custom-fields explode implode


    【解决方案1】:

    您可以将此样式list-style: circle; 添加到ul。检查下面的代码。

    function my_acf_format_value( $value, $post_id, $field ) {
    
        $my_acf_format_value = explode("\n", $value);
        
        echo '<ul style="list-style-type: circle;">';
        echo '<li>' . implode( '</li><li>', $my_acf_format_value) . '</li>';
        echo '</ul>';
    }
    
    add_filter('acf/format_value/name=averetourism_tour_included', 'my_acf_format_value', 10, 3);
    add_filter('acf/format_value/name=averetourism_tour_to_bring', 'my_acf_format_value', 10, 3);
    

    【讨论】:

    • 感谢您的建议。问题是上面的代码实际上并没有从文本字段中输出数据。它正在输出,然后我添加了这段代码(尝试用项目符号输出),它停止显示该字段显示的任何内容。我认为代码可能缺少某些内容或不正确(我从多个来源将其混杂在一起),但我不确定在哪里更改它。
    【解决方案2】:

    这可行,你需要使用 return $value 而不是 echo

        function my_acf_format_value( $value, $post_id, $field ) {
        
             $items_as_array = explode("\n", $value);
        
             $output = "<ul style='list-style-type: circle;'><li>" . implode("</li><li>", $items_as_array) . "</li></ul>";
        
             return $output;
         }
         
         
    add_filter('acf/format_value/name=averetourism_tour_included', 'my_acf_format_value', 10, 3);
    add_filter('acf/format_value/name=averetourism_tour_to_bring', 'my_acf_format_value', 10, 3);
    

    【讨论】:

    • 谢谢,我最终只是把它变成了一个所见即所得的字段,并告诉客户如果他们想要的话就加上要点
    【解决方案3】:
    function my_acf_format_value( $value, $post_id, $field ) {
    
         $items_from_text_area = explode("\n", $value);
    
         $items_as_array = explode('\n', $items_from_text_area);
    
         $output = "<ul style='list-style-type: circle;'><li>" . implode("</li><li>", $items_as_array) . "</li></ul>";
    
         return $output;
     }
    
       add_filter('acf/format_value/name=averetourism_tour_included', 'my_acf_format_value', 10, 3);
       add_filter('acf/format_value/name=averetourism_tour_to_bring', 'my_acf_format_value', 10, 3);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      • 2022-12-01
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      相关资源
      最近更新 更多