web-dev-qa-db-ja.com

投稿に抜粋がない場合、get_the_excerpt()は何も返さない

get_the_excerpt()を呼び出そうとしたときに、抜粋のない投稿にはページは何も返しません。

私はWordPressが通常それを「偽造」し、the_content()の最初のx文字を使ってそれを作成すると思った。

それとも物事は変わりましたか?

1
Imran

「自動生成」の抜粋を隠しているhas_excerpt()のチェックがないことを再確認してください。 get_the_excerpt()post_contentから作成されたものを返したとしても、抜粋が空の場合はhas_excerpt()は依然としてfalseを返します。

そうでない場合は、これに影響を与えている可能性があるget_the_excerptをフィルタリングする関数があるかどうかを確認してください。

あなたの質問に答えるために、 wp_trim_excerpt() 、抜粋を "偽造する"関数、 フィルタget_the_content() which the_excerpt()は単なるラッパー 関数です。それは問題ではありません。

2
mrwweb

私の場合は、

function mytheme_excerpt_length() {
  return POST_EXCERPT_LENGTH;
}
add_filter('excerpt_length','mytheme_excerpt_length');

POST_EXCERPT_LENGTHがどこかで定義されていましたが、それは誤って削除されました。そのため、抜粋は0文字を返していました。

そのため、0より大きい値を返すだけで問題は解決します。

0
Jashwant