ワードプレスには、デフォルトでページ分割の機能が実装されている様子。
<!--nextpage-->でわけられる。
<?php wp_link_pages(); ?>を使ってページャーを表示する必要がある。
あと検索エンジンに重複ページと解釈されないよう、ヘッダを工夫する必要がある。
とはいえ、<?php the_content('','','') ?>の最後に出力する系のプラグインとかぶるとめんどくさいかも。ただし、do_shotcodeでPHPファイルの中に直書きする手も。
<?php
wp_social_bookmarking_light_output_e();
echo do_shortcode('[fbcomments]');
?>
<?php $defaults = array( 'before' => '<p>' . __( 'Pages:' ), 'after' => '</p>', 'link_before' => '', 'link_after' => '', 'next_or_number' => 'number', 'separator' => ' ', 'nextpagelink' => __( 'Next page' ), 'previouspagelink' => __( 'Previous page' ), 'pagelink' => '%', 'echo' => 1 ); wp_link_pages( $defaults ); ?>
ちなみに、before, afterを設定すると「ページ:」の表示が消える。なんじゃこりゃ?
function link_page_header() {
global $page, $pages;
if ( !$max_page ) { $max_page = count($pages); }
$current_page = $page;
if ( $page == 0 ) { $current_page = 1; }
echo '<!-- page:' . $page . '|current_page:' . $current_page . '| max_page:' . $max_page . ' -->'."\n";
if($max_page > 1) {
if($current_page == $max_page) {
if($current_page == 2) {
echo '<link rel="prev" href="' . get_the_permalink() . '">' . "\n";
} else {
echo '<link rel="prev" href="' . get_the_permalink() . intval($current_page - 1) . '/">' . "\n";
}
} else {
if($current_page == 1) {
echo '<link rel="next" href="' . get_the_permalink() . intval($current_page + 1) . '/">' . "\n";
} else {
if($current_page == 2) {
echo '<link rel="prev" href="' . get_the_permalink() . '">' . "\n";
} else {
echo '<link rel="prev" href="' . get_the_permalink() . intval($current_page - 1) . '/">' . "\n";
}
echo '<link rel="next" href="' . get_the_permalink() . intval($current_page + 1) . '/">' . "\n";
}
}
}
}
$page_links .= wp_link_pages(array(
'before' => '', 'after' => '',
'link_before' => '<li>',
'link_after' => '</li>',
'next_or_number' => 'next',
'separator' => '',
'nextpagelink' => '≫',
'previouspagelink' => '≪',
'pagelink' => '%',
'echo' => false
)
);
function show_page_link() {
global $page, $pages;
$max_page = count($pages);
if($max_page > 1) {
// echo '<p>current_page:' . $page . '| max_page:' . $max_page . '</p>'."\n";
echo '<div id="pagelink">' . "\n";
if( $page < $max_page) {
preg_match('/<h[1-6].+?<\/h[1-6]>/u', $pages[$page], $matches);
if ( count($matches[0]) > 0 ) {
$offset_begin = mb_strpos($matches[0],'>');
$offest_end = mb_strrpos($matches[0], '/h', $offset_begin+1);
echo '<p><span>NEXT:</span>' . mb_substr($matches[0], $offset_begin + 1, $offset_end - $offset_begin -2) . '</p>';
}
}
$page_links = wp_link_pages(array(
'before' => '<ul class="link-page-navi">',
'after' => '</ul>',
'link_before' => '<li>',
'link_after' => '</li>',
'next_or_number' => 'number',
'separator' => '',
'pagelink' => '%',
'echo' => true
)
);
echo '<!-- /#pagelink --></div>' . "\n";
}
}