Snow Monkeyの記事下にある、次前のリンクはもともと素敵なのですが、もっとシンプルにしたいときもあります。そんなときは既存のをはずして、新たに取り付けます。
既存の次前を外す
まずは外します。__return_false関数はとにかくfalseを返すWordPressの関数です。なにかしらフィルターを使ってある箇所を、なくしたい場合はこの手法をよく利用します。
- __return_false()
/**
* デフォルトのページネーションを非表示
*/
add_filter(
'snow_monkey_pre_template_part_render_template-parts/content/prev-next-nav',
'__return_false'
);
新たにシンプルな次前を取り付ける
次に記事の下にある、Snow Monkeyのアクションフック snow_monkey_after_entry_content を利用し、ここに独自のシンプルな、次前のリンクを追加します。
このときについでに一覧へのリンクも追加しました。
$post_typeの中身を変えることで、カスタム投稿タイプにも利用できます。
if ( get_previous_post_link() ) などとすることで、次や前の記事がない場合には非表示もしています。
最後の行に無理くり、CSSをつけてますが。実際にはStyle.cssなどに入れるようにします。
/**
* カスタム投稿タイプの最後の次前一覧
*/
function megane_single_pagenation() {
$post_type = get_post_type(); // 投稿タイプを取得.
if ( is_singular( $post_type ) ) {
$content = '<ul class="singlular-nav">';
if ( get_previous_post_link() ) {
$content .= '<li class="go-previous">' . esc_attr( get_previous_post_link( '%link', '< 前へ' ) ) . '</li>';
}
$content .= '<li class="go-archive"><a href="' . esc_attr( get_post_type_archive_link( $post_type ) ) . '">一覧へ</a></li>';
if ( get_next_post_link() ) {
$content .= '<li class="go-next">' . esc_attr( get_next_post_link( '%link', '次へ >' ) ) . '</li>';
}
$content .= '</ul>';
$content .= '<style>.singlular-nav{display:flex;justify-content:center;gap:20px;}.singlular-nav li{list-style:none;}</style>';
echo $content;
}
}
add_action( 'snow_monkey_after_entry_content', 'megane_single_pagenation' );
ということで、ここでは次前のリンクを設定しましたが、このように既存のものを消して、新たな内容を追加するという手法も、割とよく使います。
できれば、そのまま既存のものを利用したいところですが、臨機応変にというところでしょうか。