0

我有点不在我的领域,对此我感到困惑。除了常规字符串外,使用 wp_trim_field 对我不起作用。

这不起作用,它返回整个文本:

<?php 
$field = the_field('project_description');
$trimmedfield = wp_trim_words( $field, $num_words = 1, $more = '… ' );
echo '<p>' . $trimmedfield . '</p>';  
?>

然而,这确实有效:

<?php 
$field = 'this text does get trimmed';
$trimmedfield = wp_trim_words( $field, $num_words = 1, $more = '… ' );
echo '<p>' . $trimmedfield . '</p>';  
?>

回显 $field 会回显出我要修剪的文本,但修剪不起作用。关于为什么的任何想法?

编辑 - 我也试过这个,同样的事情发生了:

<?php
   $length = 1;
   $text = the_field('project_description');
   $words = explode(' ', $text);
   array_splice($words, $length);
   $text = implode(' ', $words);
   echo $text; 
?>
4

2 回答 2

1

使用var_dump($field); wp_trim_words( $field,....) $field必须是字符串类型...检查这是否是为了测试数据类型,如果它不确定你知道该怎么做。

typecast如果不是,请使用。

于 2012-06-26T12:09:10.287 回答
1

您需要将$field变量更改为:$field = get_field('project_description');

the_field();输出内容,同时get_field();检索它。为了通过函数传递它,您需要检索它。

回答此问题的 ACF 文档页面:https ://www.advancedcustomfields.com/resources/displaying-custom-field-values-in-your-theme/

于 2019-01-18T19:00:54.563 回答