気になったことはなんでも調べてメモするブログ
  1. WordPress
  2. 65 view

【TCD-ZERO】記事抜粋した末尾に「…」が表示されないようにする

TCDが開発・配布しているWordPressテーマ「ZERO」を使用していたら、トップページなどの記事一覧が表示される箇所で末尾に追加される「…」が邪魔に感じたので、非表示にする方法を調べてみました。

デフォルトでは常に表示される

functions.php を確認したところ、記事の冒頭もしくは「抜粋」に設定された文字列の末尾に、380行目で「…」を追加していることがわかりました。
(テーマのバージョンによって多少、行が異なるかもしれません)

// オリジナルの抜粋記事 --------------------------------------------------------------------------------
function new_excerpt($a) {

 if(has_excerpt()) { 

   $base_content = get_the_excerpt();
   $base_content = str_replace(array("\r\n", "\r", "\n"), "", $base_content);
   $trim_content = mb_substr($base_content, 0, $a ,"utf-8");

 } else {

   $base_content = get_the_content();
   $base_content = preg_replace('!.*?!is', '', $base_content);
   $base_content = preg_replace('!.*?!is', '', $base_content);
   $base_content = preg_replace('/\[.+\]/','', $base_content);
   $base_content = strip_tags($base_content);
   $trim_content = mb_substr($base_content, 0, $a,"utf-8");
   $trim_content = str_replace(']]>', ']]>', $trim_content);
   $trim_content = str_replace(array("\r\n", "\r", "\n" , " "), "", $trim_content);
   $trim_content = htmlspecialchars($trim_content);

 };

 echo $trim_content . '…';

};
テーマファイルを編集すると、テーマが更新された際の対応がややこしくなるので基本的にはやらない方がいいです。
gitなどを利用して差分を管理できる状態でチャレンジするとよいでしょう。

何も表示したくない場合

とにかく「…」をなくすだけなら、trim_contentに何もくっつけなければいいだけなので、簡単です。

 echo $trim_content;

別の文字を表示したい場合

「…」を足している部分を書き換えるだけなので、これも簡単です。

 echo $trim_content . '(つづく)';

続きがある時だけ表示したい場合

下のコードでは、抜粋した文字列に続きがある時だけ「…」を表示するように調整してみました。

// オリジナルの抜粋記事 --------------------------------------------------------------------------------
function new_excerpt($a) {

 if(has_excerpt()) { 

   $base_content = get_the_excerpt();
   $base_content = str_replace(array("\r\n", "\r", "\n"), "", $base_content);
   $trim_content = mb_substr($base_content, 0, $a ,"utf-8");
   $cutFlg = $trim_content != $base_content;

 } else {

   $base_content = get_the_content('');//custom@akane
   $base_content = preg_replace('!.*?!is', '', $base_content);
   $base_content = preg_replace('!.*?!is', '', $base_content);
   $base_content = preg_replace('/\[.+\]/','', $base_content);
   $base_content = strip_tags($base_content);
   $trim_content = mb_substr($base_content, 0, $a,"utf-8");
   $cutFlg = $trim_content != $base_content;
   $trim_content = str_replace(']]>', ']]>', $trim_content);
   $trim_content = str_replace(array("\r\n", "\r", "\n" , " "), "", $trim_content);
   $trim_content = htmlspecialchars($trim_content);

 };

  $add = $cutFlg ? '…' : '';
  echo $trim_content.$add;

};

もし「…」を邪魔に感じることがあったら、どれか試してみてくださいな。




WordPressの最近記事

  1. 【TCD-ZERO】記事のタイトルをh1見出しにする

  2. 【TCD-ZERO】記事抜粋した末尾に「…」が表示されないようにする

  3. 【TCD-ZERO】記事一覧で (さらに…) と表示されてしまう問題を解決す…

  4. All In One WP Securityの初期設定で気を付けるポイント

  5. WordPressテーマを自作しよう(8)トップページと記事ページで別のものを表示する

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP