WordPress the_Excerpt()切り取り要約長さ

3563 ワード

WordPress the_Excerpt()切り取り要約長さ
作成者:
Standway:
2013-04-22クリック:
7121
WordPress Modify The Excerpt Lenth
使用方法:
the_Excerpt()は、現在の記事の要約を出力し、「[...]」のリンクを添付します.これは「その他」のリンクではありません.記事の明確な要約(バックグラウンド・エディタのオプションの要約領域)を指定していない場合は、記事の最初の55文字を要約として自動的に抜粋します.HTMLラベルと画像は要約内容から除去されます.このラベルはメイン・ループで使用する必要があります.
使用方法:
例:
条件判定文を用いて分類ページまたはアーカイブページに要約を表示し、他のページに内容を表示すると判断する
the_excerpt();
} else {
the_content(); }
?>
get_the_Excerpt()は、文章の要約を変数に付与することを返します.このラベルはメインループにある必要があります.文章の要約だけを出力したい場合は、the_を直接使用することができます.excerpt().
使用法:$excerpt=get_the_excerpt($deprecated) ?>
パラメータ:$deprecatedは要求されていません
返される値:
1、文章に要約がない場合、空の文字列が返され、「[...」が加算されます.
2、パスワード保護されたページについては、「保護された文章であるため、要約はありません」という文字列が返されます.関数定義でテキストを変更できます.
3、文章に要約があり、パスワード保護がない場合は、要約を文字列として返します.
例:
get_the_Excerpt()は、ページに出力されずに値を取得および格納するために使用されます.
eg1:
$myExcerpt = get_the_excerpt();
if ($myExcerpt != ”) {
…..
}
echo $myExcerpt;
?>
eg2:
the_excerpt_max_charlength(140);
function the_excerpt_max_charlength($charlength) {
 
 $excerpt =
get_the_excerpt();//概要の取得
$charlength++;
if(strlen($excerpt)>$charlength)
//要約の長さが指定した長さより大きい場合は、切り取る必要があります.
$subex = substr($excerpt,0,$charlength-5);//切り取りマイナス[...]の長さ
$exwords=explode(",$subex);//文字列を配列に分割
$excut = -(strlen($exwords[count($exwords)-1]));//最後の文字を切り取る
if($excut<0) {echo substr($subex,0,$excut);} else {echo $subex;
}
echo “[…]”;
} else {
//取得した文字列の長さが指定した長さより小さい場合、直接出力
echo
$excerpt;
}
}
ソースファイル:get_the_Excerpt()とthe_Excerpt()はすべて
wp-includes/post-template.phpファイル
———————————————————-
ソリューション:
今日友达にwordpressのテーマを修正して、1つの需要を提出して、トップページの文章のデフォルトの出力の要約の長さを少し増加したいと思って、しばらく研究してやっと最終的に結果を研究しました:トップページの文章はthe_Excerpt()関数はpostの要約内容を直接出力し、最も気持ち悪いのはこの関数がパラメータに入っていないことです.the_Excerpt()の出力長は、決定された55文字です.
The_Excerpt()は英語ではデフォルトで55個の英語単語を切り取るが、中国語では55個の漢字を切り取ることはできない.なぜならwordpressのthe_Excerpt()関数で使用しました
$text = implode(‘ ‘, $words);
研究の結果、wordpressでデフォルトの要約関数the_を変更する3つのスキームがある.Excerpt()の出力長さは、それぞれ共有します.
方法1:wordpressファイルを修正し、直接関数の出力長を必要な長さに変更します.
利点:修正は簡単で完全な制御ですが、欠点も明らかで、wordpressのファイルに侵入し、ブログをアップグレードするとこの方法は失効し、複数のドメイン名があれば一緒に有効になります.
この方法は簡単に変えてwp-includesの下のformattingを見つけた.phpファイル、function wp_を検索trim_Excerpt($text)関数、excerpt_を見つけますlengthは、対応する55を自分の好きな数値に修正すればよい.
方法2:関数の代替をカスタマイズするthe_excerpt()
利点:独立したテーマ制御、欠陥:55文字未満しか制御できません!!!55文字以上、55文字出力
トピックのfunctions.php、以下のコードを書き込むfunction chinese_excerpt($text, $lenth=100) {
$text = mb_substr($text,0, $lenth);
return $text;
}
add_filter('the_excerpt', 'chinese_excerpt');

必要に応じて$lenthを必要な長さに変更すればいいです.この方法は自分で書いた関数で置き換えるだけですthe_Excerpt()は、wordpressのファイルに全く侵入しない利点があり、このトピックを使用すればいいのです.
方法3:excerptの代わりに関数をカスタマイズするlength()
利点:独立したテーマ、Wordpress内部ファイルに影響しないで、任意の文字を制御することができて、55文字以上を含んで、とても簡単です!
これは便利で、やっと中国語の抜粋を専門に処理しなくてもいいです.一部の友达は「文字の個数をどのように制御しますか?」と言うかもしれません.簡単です.多くのトピックでは、このようなカスタマイズ方法があります.
次の内容をあなたのテーマに置きます.phpの中の
//custom_excerpt_length
function custom_excerpt_length( $length ){
return 200;
}
add_filter( 'excerpt_length', 'custom_excerpt_length');
説明:中の200は文字の個数で、自分の必要に応じて設定します.後で出力を抜粋するならthe_Excerpt()関数の出力は、もちろん、抜粋で文章のHTMLフォーマットを保持するには、プラグインのサポートが必要です.
下一篇:祝福雅安,雅安加油下一篇:WordPress bloginfo()とget_bloginfo()関数の領域