【Luxeritas・ルクセリタス】前の記事・次の記事へのページ移動をカテゴリ内に限定するカスタマイズ【WordPressテーマ】
はじめに・Luxeritas(ルクセリタス)をカスタマイズして、前の記事・次の記事への移動をカテゴリ内に限定する
WordPressテーマのLuxeritas(ルクセリタス)。
カスタマイズの幅が広くて、何より超がつくほど軽快な動作です。
とても素晴らしいテーマですよね。
当ブログもLuxeritasを利用させて頂いています。
この記事では、Luxeritasに前の記事・次の記事への移動をカテゴリ内に限定するカスタマイズを行います。
Luxeritasのカテゴリー内でのページ移動の仕様
Luxeritasはカテゴリー内で前記事・次記事へページ移動しようとすると、カテゴリーよりも日付を優先して前後の記事へ移動します。
カテゴリー内での移動ではありません。
前記事・次記事が別カテゴリーの記事であっても、その記事へページ移動します。
そういう設計思想というか、仕様なのでしょう。
特定のジャンルに絞ったブログなら、支障はないでしょう。
でも、当ブログのように記事のジャンルがとっ散らかっていると、カテゴリー内でページ移動させたいなぁと思います。
例えば、ポケモンの記事を読んだら、前も次もポケモンの記事へページ移動させたいわけです。
読み手に興味のあるカテゴリー内で動線を維持したいんですよね。
このような仕様へ変更するには、Luxeritasのテーマファイルを編集することで実現可能です。
Luxeritasのsingle.phpを編集する
テーマファイルの編集は、バックアップを取ってから行うのがおすすめです。
トラブルが起こっても私には責任は取れません。お気をつけくださいね。
さて、single.phpを編集します。
FTPソフトでsingle.phpをダウンロードして、エディタで開きます。
私はFTPソフトはFilezilla、エディタはVisual Studio Codeを使っています。
single.phpは親テーマにあります。子テーマにはありません。
通常なら wp-content/themes/luxeritas にあると思います。
Luxeritasのsingle.php コードを書き換える
single.phpを編集します。
1.以下のコードを探して書き換える
バージョン:3.25.0では、228行目にあります。
何行目かは、Luxeritasのバージョンによって異なる場合があるかもしれません。
<編集前>
$next_post = get_adjacent_post( false, '', false );
↓
<編集後・コードを書き換える>
$next_post = get_adjacent_post( true, '', false );
$next_post の通り、次記事へのページ移動の処理です。
引数を false から true へ変更します。
2.以下のコードを探して書き換える
もう一ヶ所、書き換えます。
<編集前>
バージョン:3.25.0では、247行目にあります。
Luxeritasのバージョンによって異なる場合があるかもしれません。
<div class="next"><?php next_post_link( '%link', $next_thumb . '<div class="ntitle">' . $next_post->post_title . '</div><div class="next-arrow"><i class="fa fas fa-arrow-right ' . $fa_pull_right . '"></i>' . __( 'Next', 'luxeritas' ) . '</div>' ); ?></div>
↓
<編集後・コードを書き換える>
<div class="next"><?php next_post_link( '%link', $next_thumb . '<div class="ntitle">' . $next_post->post_title . '</div><div class="next-arrow"><i class="fa fas fa-arrow-right ' . $fa_pull_right . '"></i>' . __( 'Next', 'luxeritas' ) . '</div>', true ); ?></div>
3.以下のコードを探して書き換える
バージョン:3.25.0では、256行目にあります。
Luxeritasのバージョンによって異なる場合があるかもしれません。
$prev_post = get_adjacent_post( false, '', true );
↓
$prev_post = get_adjacent_post( true, '', true );
$prev_post の通り、前記事へ移動する処理です。
引数を false から true へ変更します。
4.以下のコードを探して書き換える
<編集前>
バージョン:3.25.0では、275行目にあります。
Luxeritasのバージョンによって異なる場合があるかもしれません。
<div class="prev"><?php previous_post_link( '%link', $prev_thumb . '<div class="ptitle">' . $prev_post->post_title . '</div><div class="prev-arrow"><i class="fa fas fa-arrow-left ' . $fa_pull_left . '"></i>' . __( 'Prev', 'luxeritas' ) . '</div>' ); ?></div>
↓
<編集後・コードを書き換える>
<div class="prev"><?php previous_post_link( '%link', $prev_thumb . '<div class="ptitle">' . $prev_post->post_title . '</div><div class="prev-arrow"><i class="fa fas fa-arrow-left ' . $fa_pull_left . '"></i>' . __( 'Prev', 'luxeritas' ) . '</div>', true ); ?></div>
以下のコードを追加する
$fa_pull_left と $fa_pull_right を宣言するコードを追加します。
<?php
if ( ! isset($fa_pull_left) ) {
$fa_pull_left = 'fa-pull-left';
}
if ( ! isset($fa_pull_right) ) {
$fa_pull_right = 'fa-pull-right';
}
?>
宣言していないと、ワーニングが出ます。
追加する場所は $fa_pull_left と $fa_pull_right を使用する前です。
single.phpのかなり最初でもOKです。
Luxeritasのsingle.phpの編集後は動作確認・何かおかしかったら
編集後は動作確認しましょう。
single.phpをFTPへアップロードして動作を確認です。
前記事や次記事へ同カテゴリーに限定したページ移動をするか、しっかり確認です。
もし、動作がおかしかったり、変なワーニングが出たり、スタイルが崩れていたら、編集がどこか間違っています。
間違いを探すのも良いですし、バックアップしたsingle.phpを使って最初からやり直すのも良いです。
Luxeritasへの本カスタマイズの問題点
ひとつの記事に複数のカテゴリー属性を付けている場合はページ移動が怪しくなります。
記事にカテゴリー設定はひとつまでにしましょう。
複数のカテゴリーを付けなくてはいけない人には本カスタマイズは向きません。
その場合はカテゴリー設定をひとつにして、複数の紐付けはタグで運用するのがおすすめです。
あとがき・Luxeritasをカスタマイズして
備忘録のような記事になりました。
Luxeritas公式サイトで作者である、るな様のコメントを参考にカスタマイズ、及び本記事を執筆させて頂きました。
素晴らしいテーマをありがとうございます。
るな様の一日も早いご快復を心よりお祈り申し上げます。
WordPress関連書籍
以下の書籍はAmazonのKindle Unlimited 読み放題の対象です。
たくさんのWordpress関連の書籍、雑誌やマンガも読み放題なのでおすすめですよ。
私もKindle Unlimited 読み放題でたくさんの書籍を0円で読んでいます。
無料期間もありますのでぜひお試しくださいね。
最後までお読みいただき、ありがとうございます。
記事が良かったら、ぜひ「いいね」ボタンを押していただけると嬉しいです。