特定Textarea字段类型的ACF自动超链接

时间:2014-11-15 06:26:58

标签: php wordpress hyperlink field advanced-custom-fields

我在主题函数

中添加了以下代码

add_filter( 'the_content', 'make_clickable', 12 );

这使得所有文本网址都在“the_content”自动超链接中。但不是我的高级定制领域之一。

同样,我通过在主题函数中添加并使用acf过滤器

在我的自定义字段中尝试了这个
add_filter('load_field/name=downloadable_links', 'my_acf_load_field', 'make_clickable', 12);

但这只是使我的自定义字段网址内容不可见而不是超链接。

这是我的自定义字段downloadable_links。字段类型:Textarea。我也在使用转发器。 我在每个字段中都有几个链接,我希望它们都是自动超链接,而不是每次都手动完成。

这是我的自定义字段前端输出代码。

<div><?php echo do_shortcode("[acf field='file_sharing_name']"); ?><? $folios = get_field('game_download'); if($folios){foreach( $folios as $f ){?><div class="wrap"><div class="file-zone-title"><? if($f){ ?><span><?= $f['file_sharing_name']?></span><? } ?></div><div class="file-download-links"><?= $f['downloadable_links']?></div><div class="clear"></div></div><?}} ?><div class="clear"></div></div>

如果有人可以建议我如何使其发挥作用,那将是非常友好的。因为我无法使用上述信息。第一次在这里征求意见。所以,如果我在请求中犯了任何错误,我很抱歉。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我能够自己修复并在其他主题的帮助下修复它。 :)经过多一点研究后。

我在这里按照这个提示:

https://wordpress.stackexchange.com/questions/103957/how-to-explode-a-textarea-field-and-echo-each-line-separately-wrapped-with-html

并将我的自定义字段的函数输出代码修改为此函数,并且可以正常使用我想要的超链接。

    $lines = explode("\n", get_field('downloadable_links')); // or use PHP PHP_EOL constant
if ( !empty($lines) ) {
  echo '<ul>';
  foreach ( $lines as $line) {
    echo '<li>'. '<a href=' . $line . '>' . trim( $line ) . '</a>' . '</li>';
  }
  echo '</ul>';
}
祝你好运 - 如果有其他人需要这个。 :)