- 📋
- 開発
the_contentフィルターで無効化されるページ分割を再度実行する方法【WordPress】
作成日:
2019年9月18日
$post->post_contentで取得した本文生データにthe_contentのフィルターをかけても!--nextpage--によるページ分割が無効化されることがわかりました。
そこでthe_contentフィルターをかけてもページ分割出来るように書いてみます。
PHP
global $post, $page;
setup_postdata( $post );
$content = $post->post_content;
// <!--nextpage-->で本文データを配列に分割後、ページ番号に応じて本文セクションを取得.
$content = explode( '<!--nextpage-->', $content )[ $page - 1 ];
// $contentに自分のやりたい処理.
$content = apply_filters( 'the_content', $content );コード解説
- グローバル変数
$pageを取得してページ番号を取得しておきます。PHP [1]global $post, $page; setup_postdata()で投稿情報を各種のグローバル変数へセットします(必要らしい)。PHP [2]setup_postdata( $post );explode()で本文全体を!--nextpage--で配列に分割し、ページ番号に応じて本文セクションを取得します。PHP [5]$content = explode( '<!--nextpage-->', $content )[ $page - 1 ];

物草 灸太郎
WordPressでホームページを制作しつつ、休日は畑を耕したりDIYを楽しんでいます。
関連投稿
Loading...
コメントをどうぞ