我有一个自定义的复选框字段在WordPress中创建,用户可以选择在列出的属性提供的各种设施。我正在使用Elementor构建页面模板。当我从ACF导入数据时,它显示为逗号分隔的列表。有没有什么方法可以让它显示为项目符号列表?
vzgqcmou1#
下面是一个代码,以项目符号列表的形式从ACF获取输出数据-
<?php $arr = get_the_field('field_name'); $str = explode (",", $arr); echo '<ul>'; foreach($str as $s){ echo '<li>'.$s.'</li>'; } echo '</ul>'; ?>
字符串我希望这是你正在寻找的。
6l7fqoea2#
您可以尝试使用一个插件,让您创建PHP代码片段,并运行他们与一个简短的代码,如:https://it.wordpress.org/plugins/insert-php/一旦你创建了php代码段,你可以尝试使用Elementor的短代码小部件用短代码运行它。
mtb9vblg3#
我会稍微调整一下Tahmid的优秀答案。为了允许空行(没有项目符号),在functions.php文件中使用这个:
functions.php
/** * create a ACF text field with bullets * Empty lines stay empty * @param string $field_name Name of the field to bullet */ function acf_bullets(string $field_name): void { $format_acf_bullet = function( string $value, int $post_id, array $form ):string { if( empty($value) ) { return ''; } $lines = explode( "\n", $value ); $result = "<ul class=\"theme-ul\">\n"; foreach( $lines as $line) { if( strlen($line)<=1 ) { // empty line, start a new list $result .= "</ul><p/><ul class=\"theme-ul\">\n"; } else { $result .= "<li>".$line."</li>\n"; } } $result .= "</ul>\n"; return $result; }; add_filter("acf/format_value/name=$field_name", $format_acf_bullet, 10, 3); }
字符串使用acf_bullets('your-fieldname-here');调用此函数
acf_bullets('your-fieldname-here');
$format_acf_bulltets
<ul>
<li></li>
完整的列表内容被追加到字符串变量$result中,并在末尾返回。
$result
3条答案
按热度按时间vzgqcmou1#
下面是一个代码,以项目符号列表的形式从ACF获取输出数据-
字符串
我希望这是你正在寻找的。
6l7fqoea2#
您可以尝试使用一个插件,让您创建PHP代码片段,并运行他们与一个简短的代码,如:https://it.wordpress.org/plugins/insert-php/
一旦你创建了php代码段,你可以尝试使用Elementor的短代码小部件用短代码运行它。
mtb9vblg3#
我会稍微调整一下Tahmid的优秀答案。为了允许空行(没有项目符号),在
functions.php
文件中使用这个:字符串
使用
acf_bullets('your-fieldname-here');
调用此函数说明
$format_acf_bulltets
的过滤器,该字段:<ul>
列表<li></li>
换行<ul>
完整的列表内容被追加到字符串变量
$result
中,并在末尾返回。