【问题标题】:wp_trim_words not working on anything but ordinary stringswp_trim_words 除了普通字符串之外什么都不能工作
【发布时间】:2012-06-27 17:02:03
【问题描述】:

我有点不在我的领域,对此我感到困惑。除了常规字符串外,使用 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; 
?>

【问题讨论】:

  • 你的“project_description”字段真的存在吗???
  • 是的。如果我回显 $field,我会得到该字段的内容。
  • 使用 var_dump($field); wp_trim_words( $field,....) $field 必须是字符串类型...检查这是否是为了测试数据类型,如果它不确定你知道该怎么做...如果它让我知道解决与否
  • var_dump($field) = NULL。呃……我想我找到了问题的根源。字段值根本不会保存在 $field 中,它只是在那里输出。我错过了一个错字吗?
  • 您可以将输出类型转换为字符串 .. 粘贴我的 cmets 作为答案 :)

标签: trim custom-fields texttrimming


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    如果不是,请使用typecast

    【讨论】:

    • 我解决了这个问题,这只是我的一个愚蠢的错误。我正在使用 Wordpress 的高级自定义字段并使用“the_field”而不是“get_field”来获得我的价值。
    猜你喜欢
    • 1970-01-01
    • 2017-12-08
    • 2020-12-16
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 2020-04-06
    相关资源
    最近更新 更多