可能な重複:
文字から抜粋
この記事を読んだ後に質問があります( プラグインなしで検索語を強調表示する方法 )。私はこの機能(プラグインなしの検索用語)がとても好きですが、文字長が長すぎます。抜粋を短くするためにどのPHPコードを追加すればよいですか?誰かがそれを提案することができればありがたいです。ありがとうございました!
function.phpファイルにこれらの行を追加します
function custom_excerpt_length( $length ) {
return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
上記のDeepaの答えによって提供されたフィルタフックに加えて、2つの方法でthe_excerpt
の使用を拡張するのを助けることができる1つの追加機能があります、
抜粋を文字数で制限しますが、最後のWordを切り捨てないでください。これにより、最大文字数を返すことができますが、完全な単語を保持することができるため、指定された数の制限内に収まる単語だけが返され、抜粋の由来元を指定できます。
function get_excerpt($limit, $source = null){
$excerpt = $source == "content" ? get_the_content() : get_the_excerpt();
$excerpt = preg_replace(" (\[.*?\])",'',$excerpt);
$excerpt = strip_shortcodes($excerpt);
$excerpt = strip_tags($excerpt);
$excerpt = substr($excerpt, 0, $limit);
$excerpt = substr($excerpt, 0, strripos($excerpt, " "));
$excerpt = trim(preg_replace( '/\s+/', ' ', $excerpt));
$excerpt = $excerpt.'... <a href="'.get_permalink($post->ID).'">more</a>';
return $excerpt;
}
/*
Sample... Lorem ipsum habitant morbi (26 characters total)
Returns first three words which is exactly 21 characters including spaces
Example.. echo get_excerpt(21);
Result... Lorem ipsum habitant
Returns same as above, not enough characters in limit to return last Word
Example.. echo get_excerpt(24);
Result... Lorem ipsum habitant
Returns all 26 chars of our content, 30 char limit given, only 26 characters needed.
Example.. echo get_excerpt(30);
Result... Lorem ipsum habitant morbi
*/
この機能は、テーマファイルごとに複数回使用でき、それぞれ異なる文字数制限が指定されています。
この関数はどちらかから抜粋を取り出す能力を持っています、
the_content
the_excerpt
たとえば、投稿エディタ画面の[抜粋]ボックスにテキストが含まれているが、特別な使用例ではなくthe_content本文から抜粋したい場合は、代わりに使用します。
get_excerpt(140, 'content'); //excerpt is grabbed from get_the_content
これは、the_content
ボックスに抜粋が設定されているかどうかにかかわらず、the_excerpt
の最初の140文字が必要であることを関数に伝えます。
get_excerpt(140); //excerpt is grabbed from get_the_excerpt
これは、最初のthe_excerpt
の最初の140文字が抜粋のないところにあることを関数に伝えます。the_content
はフォールバックとして使用されます。
the_content
またはthe_excerpt
の両方にWordPressフィルタを使用するか、または 適切ではない という組み込みWordPress APIがある場合にそのまま使用することで、機能を改善したり、WordPressフィルタを使用したりできます。