WordPressでWebサイトを作っている場合、PC用テーマとモバイル用テーマを別々に用意して、アクセスしてきた端末を判別して表示するテーマを振り分けてWebサイトを運用をすることがあります。
特定のテーマだけページ分割させたい時ってどうする
ところで「PC用テーマだけページ分割をさせたくない」という場合は、フォーラムを参考にして(というかそのまんまなんですが)以下のコードをPC用テーマフォルダ内にあるfunctions.phpに書けばできます。
add_action( 'the_post', 'no_pageing_hook' );
function no_pageing_hook( $post ) {
global $pages, $multipage, $numpages;
$multipage = 0;
$content = str_replace("\n<!--nextpage-->\n", '<!--nextpage-->', $post->post_content);
$content = str_replace("\n<!--nextpage-->", '<!--nextpage-->', $content);
$content = str_replace("<!--nextpage-->\n", '<!--nextpage-->', $content);
$pages = array( str_replace('<!--nextpage-->', '', $content) );
$numpages = 1;
}
コードがやっていること
フック「the_post」を使って、ページ分割の際に使用する「<!–nextpage–>」の文字列を削除しています。削除する前に「<!–nextpage–>」前後の改行コード「\n」を取り除いているところがポイントですね。
勉強になりました。
このページを共有する