WPで投稿やカスタム投稿で記事を登録していくと情報がたまり、一覧表示するページでは設定した表示数を超えた場合、リストの下部にページネーションを表示させたりします。

例えば全23記事あり、それを10記事ごとに表示を区切るとしたら、ページネーションは1,2,3というページ区切りをすることになります。

その表示をサイトで見栄えを良くするためにCSSで装飾しようとすると、タグ指定であれば特に問題はないと思うんですが、CSSフレームワークを利用したい場合、指定クラスをタグに追加する必要があったりします。

しかし、WPで準備された関数とテンプレートは独自でカスタムすると他の場所に影響を与えかねない可能性があります。

自動で出力するソースに任意のデータを追加する場合はどのようにしたらいいんでしょうか?

 

今回はCSSフレームワークがULに任意のクラスを与えるとページネーションの装飾が充てられるという想定で考えます。

調べた結果は、WPが準備している関数に任意の値を加え、取得したデータをPHPで加工するという方法が一番楽でした。

 

投稿数に応じたページネーションのデータを取得します。

// 引数の準備(配列で取得)
$args = array(
'type' => 'array', // デフォルトはplain
);

// データを取り出す 関数はpaginate_links()
$page_links = paginate_links($args);

// ULに任意のクラスを付けたタグを出力し、ページネーションデータを加工して出力
echo '<ul class="page-numbers"><li>';
echo join( '</li><li>', $page_links );
echo '</li></ul>';

 

これで、ULに任意のクラスを充てたページネーションの出力が可能となりました。

以下のサイトを引用させていただきました。ありがとうございました!

 

paginate_linksで出力されるulにクラスを追加したい
https://ja.wordpress.org/support/topic/paginate_links%E3%81%A7%E5%87%BA%E5%8A%9B%E3%81%95%E3%82%8C%E3%82%8Bul%E3%81%AB%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%9F%E3%81%84/