【SANGOカスタマイズ】「前の記事」、「次の記事」のタイトルに表示される<br>を削除する方法

前の記事

記事のタイトルに<br>で改行を入れていましたが、画面フッター部の「前の記事」「次の記事」のタイトルに <br> がそのまま表示されてしまっていました。

なんとか <br> を表示しないように調べていましたが、簡単なカスタマイズで解決できたので共有します。

当ブログの環境は次のとおりです。

WordPressバージョン 5.3.2
 ┗使用エディタGutenberg(ブロックエディタ)
SANGO バージョン v2.0.3
MEMO
投稿記事タイトルの改行を入れたい位置に <br> を追記すると改行します。タイトルは Shift + Enter では改行しないようです。

投稿記事のタイトルを改行する

記事タイトルの改行
<br> を記載すると。
記事タイトルの改行
タイトルが改行されますが、
記事タイトルの改行表示不良
前の記事、次の記事のタイトルには <br> がそのまま表示されてしまいます。。。

カスタマイズ方法

MEMO
phpファイルのダウンロード、アップロードはFTPで行います(Xserverだとサーバーのファイル管理)。また念のためオリジナルファイルはバックアップしておいてください。

手順は三つです。

①以下QAの『「前の記事へ」「次の記事へ」のリンクを同じカテゴリの記事に限定したい』を参考にし、親テーマのprev-next-entry.phpを子テーマにコピペします。カテゴリ記事の限定はお好みで指定してください。

参考 WordPressテーマ SANGOについてのよくある質問サルワカ

②コピペしたprev-next-entry.phpの2行目(1行目の”<?php”と2行目の”/**”の間)に次のコードを追加します。怪しいコードではないので安心してください。親テーマのentry-functions.phpに定義されているlim_titleに少しだけ手を加えたものです。

/*********************
 * 文字数を制限しながらタイトルを出力
 * ⇒前の記事/次の記事へのリンクで使用
 * タイトルの中の<br>を削除します
 *********************/
function lim_title2($id)
{
  $tmp_title = strip_tags(get_the_title($id));
  $raw = esc_attr($tmp_title);
  if (mb_strlen($raw, 'UTF-8') > 31) {
    $title = mb_substr($raw, 0, 31, 'UTF-8');
    echo $title . '…';
  } else {
    echo $raw;
  }
}

prev-next-entry.phpの中から”lim_title”という文字列を検索し、”lim_title2″に修正します。前の記事用と次の記事用の2か所あります。

修正後、前の記事、次の記事の表示は以下の様になりました。

記事タイトルの改行表示修正済み
<br> が削除されています。

人気ブログランキング

コメントを残す

メールアドレスが公開されることはありません。