WordPress小説サイトの仕様変更を行いました。
体裁変更の不具合を修正
関連:WordPressのsingle.phpに複数テンプレートを設定させる体裁変更した状態で<!--nextpage-->改ページ移動すると、体裁が戻ってしまう件を修正(暫定)。
変更前
字詰版* <a href="<?php the_permalink(); ?>?type=br">改行版</a> <a href="<?php the_permalink(); ?>?type=ve">縦書版</a> |
変更後
<?php $pages = count( explode('<!--nextpage-- >', $post->post_content) ) ; ?> <?php if ( $page < 1 ) { ?> 字詰版* <a href="<?php the_permalink(); ?>?type=br">改行版</a> <a href="<?php the_permalink(); ?>?type=ve">縦書版</a> <?php } else { ?> <?php if ( $pages > 1 ) { ?> 字詰版* <a href="<?php the_permalink(); ?>/<?php echo $page ; ?>?type=br">改行版</a> <a href="<?php the_permalink(); ?>/<?php echo $page ; ?>?type=ve">縦書版</a> <?php } ?> |
記事内に<!--nextpage-->が含まれるかどうかで分岐。
含まれる場合は<?php echo $page ; ?>でページ番号をリンクに付加。
※タグとして認識されないように<!--nextpage-->に半角スペースを挿入していますが本来は不要です
課題:この方法ではいちいちクリックし直さなければならないので、いずれは<!--nextpage-->そのものに?type=**を付加。
改ページの仕様変更
現在ページ数と全ページ数を表示させました。使用テーマ:Twenty Fourteen
変更前
<?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentyfourteen' ) ); wp_link_pages( array( 'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfourteen' ) . '</span>','after' => '</div>', 'link_before' => '<span>', 'link_after' => '</span>', 'next_or_number' => 'next', 'separator' => ' ', 'nextpagelink' => __( '>>' ), 'previouspagelink' => __( '<<' ), 'pagelink' => '%', 'echo' => 1, ) ); ?> |
変更後
<?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentyfourteen' ) ); global $pages, $page, $numpages; $paged = (get_query_var('page')) ? get_query_var('page') : 1; wp_link_pages( array( 'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages ' . $paged.' / '.$numpages , 'twentyfourteen' ) . '</span>', 'after' => '</div>', 'link_before' => '<span>', 'link_after' => '</span>', 'next_or_number' => 'next', 'separator' => ' ', 'nextpagelink' => __( '>>' ), 'previouspagelink' => __( '<<' ), 'pagelink' => '%', 'echo' => 1, ) ); ?> |
使用プラグイン:ktai-style /inc/template-tag.php(変更後)
function ks_link_pages() { global $post, $id, $page, $numpages, $multipage, $more, $pagenow; $paged = (get_query_var('page')) ? get_query_var('page') : 1; $defaults = array( 'before' => '<p>' . __( 'Pages ' . $paged.' / '.$numpages ) . ' ', 'after' => '</p>', 'next_or_number' => 'next', 'nextpagelink' => __(' >>'), 'previouspagelink' => __('<<'), 'pagelink' => '%', 'more_file' => '', 'echo' => true, ); |
課題:<<と>>の間にスペースをいれる