[Simplicity] 複数ページ時に「1ページ目へ」ボタンを表示

PHP
スポンサーリンク
こんにちは。 雑食会社員🐼くま子です
スポンサーリンク

背景

複数ページにわたるブログ記事を書いたときに、
もし2ページ目以降に直接来た方に対し、
ここは記事の途中だよ、っていうことをわかるようにしたいのと、
それがわかったときに簡単に1ページ目にいくことができるボタンがあった方が便利だなぁと思った。

方法

  1. entry-body.phpの、
    the_content( get_theme_text_read_more() ); //デフォルト:続きを読む(初期のままなら70行目くらい)
    の上に、下記を追加。
<?php
    if (get_query_var('page', 1) >= 2){ // 複数ページの場合
        echo <<<EOT
    <div class="first-page-link">
        <a href="./1">1ページ目へ</a>
    </div>
EOT;
    }

設定した覚えはないのですが、当ブログの2ページ目以降のURLが./page/2形式ではなく、
そのためか、is_paged()とかが期待の結果が返ってこなかったのですが、

get_query_var( 'page', 1 )

ならページ番号が取得できた。
2. style.cssに下記を追加

.first-page-link {
  width:40%;
  margin: 5px auto;
  padding: 5px;
  text-align:center;
  border-radius:10px;
  border: solid 1px #ddd;
}
.first-page-link a {
  display:block;
  margin:5px 0;
  color: #333;
  text-decoration:none;
}
.first-page-link:hover {
  background: #ddd;
}

結果

こんな感じ。

→ただ、結局、「1ページ目へ」ボタンはいらなくて、「1 2 3 4 5」のリンクだけでいいや、ってことで不採用。笑

参考

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_query_var

コメント