toggle
2017-07-04

トップページにプラグイン無しでページ送りを実装する。[pantomime]

pager001

僕の使っているpantomimeというテーマは何故か、トップページにだけページ送りが付きません。

多分ブログじゃなくってポートフォリオサイト用のテーマだからなのかな?

デザインがちょっと違うのはそこだね。

 

妙にデザインがシンプルでかっこいいので、このテーマで良かったと思っていますけど。

でも最近は記事数も増えてきたということなので、そろそろトップページにページ送りを付けたいなと考えていました。

 

最近はカスタマイズの理解度も上がってきたのか、付けようと思ったら30分かからずにすんなり付けられたので、そのやり方を書くことにします。

つまりpantomimeを使っていて、トップページにページ送りを付けたいという人だけが対象になるので、かなりニッチなテーマですねw

 

スポンサードリンク

まずは子テーマ作成から

 

以前、Child Theme Configuratorというプラグインで子テーマを作ったのですが、index.phpはコピーしていませんでした。

なのでプラグインをまた有効にして、追加してみたのです。

 

index01

これでindex.phpが子テーマにコピーされるぞ!!

 

WordPressをしている人には常識の子テーマなんだけど、何故かカスタマイズする時に子テーマという単語が1文字も出てこない記事が多い。

知らないと大変なので、こういうのを毎回言うのは大事。

 

1. カテゴリーからページャーのコードを取ってくる

 

子テーマから親テーマに飛べる。

親テーマのcategory-blog.phpにpagerというクラスがあります。

それをコピーしましょう。

 

<!– ページャー –>
<div class=”pager”>
<?php global $wp_rewrite;
$paginate_base = get_pagenum_link(1);
if(strpos($paginate_base, ‘?’) || ! $wp_rewrite->using_permalinks()){
$paginate_format = ”;
$paginate_base = add_query_arg(‘paged’,’%#%’);
}
else{
$paginate_format = (substr($paginate_base,-1,1) == ‘/’ ? ” : ‘/’) .
user_trailingslashit(‘page/%#%/’,’paged’);;
$paginate_base .= ‘%_%’;
}
echo paginate_links(array(
‘base’ => $paginate_base,
‘format’ => $paginate_format,
‘total’ => $wp_query->max_num_pages,
‘mid_size’ => 4,
‘current’ => ($paged ? $paged : 1),
‘prev_text’ => ‘«’,
‘next_text’ => ‘»’,
)); ?>
</div>
<!– / ページャー –>

 

highlight.jsとかいうのを設定しないと、コードを綺麗に表示できないのか……

ちょっと面倒くさいですが、多分こんなコードを表示させる機会はしばらくないと思うのでほっておきましょう!!

 

スポンサードリンク

2. 子テーマに、コピーしたindex.phpを貼る

 

貼る場所は3回目の<!– / コンテンツブロック –>のすぐ上に貼りましょう。(別に下でもいい)

カスタマイズしやすいように、コンテンツブロックって書いてあると考えられますが、ページ送りはコンテンツじゃないので、上でいいと思います。

pager01

 

上に貼った画像がこれ。

 

pager02

 

同じコードなのに、キチンと全ての記事が30個づつ表示されるね。

pagerというタグで複数のページに貼られているので、機能するというのはわかるんだけど、コードの意味とかページャーの仕組みが全部わかるというわけではないので、ちょっと不思議です。

 

とりあえずこれでトップページにページャーを付けられました。

奇跡的に一箇所もつまづくことなく、すんなり実装できたのは初めての経験です。

コードの意味がほとんどわからないので、ただ運がいいだけなんですが、なんだか自分のレベルが上がったようで嬉しい。

 

 

スポンサードリンク



関連記事