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 に答える