コーディングブログ

Coding Blog

詳細ページを複数ページに!Gutenberg『改ページ』の使い方。しかしテンプレートによっては404エラーになる

Gutenberg

WordPress

wordpressを利用してブログを作成していると、記事を「複数ページにしたいな」と思う事があると思います。

そこで使えるのがwordpress5.0から使える新エディターにも搭載されている『改ページ』です。

レイアウト要素 改ページ
改ページ 入力画面
レイアウト要素『改ページ』入力画面

ページ分けをしたい箇所に『改ページ』ブロックを挿入します。ページを分けたい分だけ挿入できます。

ページャーを出力させる関数はこちらです。
該当のsingle.phpに記述してください。

この関数の詳しいオプションなどはコーデックスを参照すると良いでしょう。

before
(文字列) リンクの前のテキスト。デフォルトは <p>Pages:。

after 
(文字列) リンクの後のテキスト。デフォルトは</p>。

link_before 
(文字列) リンクテキストの前のテキスト。デフォルトは空文字列。バージョン 2.7 以降。

link_after 
(文字列) リンクテキストの後のテキスト。デフォルトは空文字列。バージョン 2.7 以降。

next_or_number 
(文字列) ページ番号を使用するかどうかを指定する。
有効な値は:’number’ (デフォルト)、’next’ (WordPress 1.5 以降で有効)

separator 
(文字列) ページ番号の間のテキスト(適切な場合)。デフォルトはスペース 1 文字(改行可能)。(WordPress 3.6 以降で有効)

nextpagelink 
(文字列) 次のページへのリンクのテキスト。デフォルトは Next page。(WordPress 1.5 以降で有効)

previouspagelink 
(文字列) 前のページへのリンクのテキスト。デフォルトは Previous page。(WordPress 1.5 以降で有効)

pagelink 
(文字列) ページ番号のフォーマット。文字列内の %が番号に置き換えられる。例えば Page %は「Page 1」、「Page 2」などを生成する。デフォルトは ‘%’。

echo 
(真偽値) HTML 出力する(true)か、変数として返す(false)か。デフォルトは true
有効な値は:1 (True) – デフォルト、0 (False)

https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_link_pages

ここまででお使いのテンプレートによってはページ送りを問題なく実装できたかと思います。

404エラーになる原因

カスタム投稿やカスタム分類(タクソノミー)を使っていると、それぞれでリライトが行われ、ページ送りを実装することができません。
解消するには、カスタム投稿やカスタム分類のリライトをoffにする必要があります。

それによって、当ブログのようなパーマリンク構造を実現することが不可能となります。
基本のid形式のような『?blog=blog-105』といったパーマリンクで、
2ページ目は『?blog=blog-105&page=2』といった構造となります。

結論

URLにディレクトリ構造を持たせたい場合は『改ページ』を諦めるしかなさそうです。
ページネーションがうまくいかない原因は大体リライトですね。