SWELLのページャーをCocoon風にカスタマイズ
SWELLはページ分割されている記事やアーカイブページでページャーが表示されます。
Cocoonのページャーは、次のページへという目立つ大きなボタンがあって便利なのですが、SWELLにはそのボタンはありません。
スマホの時は次のページへボタンは特に便利だと思いますので、SWELLでもCocoon風の次のページへボタンを表示するカスタマイズをご紹介します。
この記事のカスタマイズ以外にもSWELLフォーラムでページャーカスタマイズに関する記事が投稿されているので、参考にしてみてください。
参考記事
Cocoonに実装されている機能は、作者のわいひら氏(@MrYhira)のブログ記事を見るとオリジナルのアイデアが紹介されていますので、そちらを参照します。
WordPressインデックスページに「次のページ」のみに移動する「次ページネーション」を作成するカスタマイ… WordPressの一覧ページにページネーションがあります。 当サイトで言えばこんなやつ。 このページネーショ…
<?php //「次のページ」ページネーション
//現在のページ番号
global $paged;
if(empty($paged)) $paged = 1;
//ページ情報の取得
global $wp_query;
//全ページ数
$pages = $wp_query->max_num_pages;
if(!$pages){
$pages = 1;
}
//ページが1ページしかない場合は出力しない
if($pages != 1) {
//次のページ番号
if ( $pages == $paged ) {
$next_page_num = $paged;
} else {
$next_page_num = $paged + 1;
}
//現在のページ番号が全ページ数よりも少ないときは「次のページ」タグを出力
if ( $paged < $pages ) {
echo '<div class="pagination-next"><a href="'.get_pagenum_link($next_page_num).'" class="pagination-next-link">次のページ</a></div>';
}
}
?>
SWELLで次のページへボタンをカスタマイズする手順
子テーマを準備
SWELLの子テーマを用意します。
子テーマは公式からダウンロードできます
SWELLの子テーマは公式サイトからダウンロードできます。
子テーマがダウンロードできない場合
何らかの理由で公式サイトからダウンロードできない人は、プラグインで子テーマを作れるものがあります。そちらを使えば大丈夫です。
Child Theme Configurator カスタマイズを使用するだけでは不十分 – インストールされたテーマから子テーマを作成し、スタイル、テンプレート、関数などをカスタマイズします。
こちらの記事にSWELLの子テーマのファイル構成と内容についてまとめていますので、そちらを見て自分で子テーマを作成することもできます。
SWELLの子テーマはなぜ必要?導入手順やメリットとデメリットも解説 | WordPressカスタマイズ 人気テーマのSWELLは、購入者ページで専用の子テーマを配布しています。 数年前まではカスタマイズをするなら「子テーマを導入するのは必須」という風潮がありましたが、最…
parts/parts-list/item/pagination.php
を子テーマにコピー
変更するファイルは、parts/parts-list/item/pagination.php
になります。
子テーマにディレクトリ階層を保ちながらコピーします。
pagination.php
を書き換える
子テーマにコピーした、parts/parts-list/item/pagination.php
を編集します。
// 1ページのみで表示設定もない場合は 何も出力しない
if ( ! $show_only && 1 === $the_pages ) return '';
?>
<?php
// 追加ココから
//https://nelog.jp/next-pagination
////ページが1ページしかない場合は出力しない
if($the_pages != 1) {
//次のページ番号
if ( $the_pages == $the_paged ) {
$next_page_num = $the_paged;
} else {
$next_page_num = $the_paged + 1;
}
//現在のページ番号が全ページ数よりも少ないときは「次のページ」タグを出力
if ( $the_paged < $the_pages ) {
echo '<div class="pagination-next"><a href="'.get_pagenum_link($next_page_num).'" class="pagination-next-link">次のページ</a></div>';
}
}
// 追加ココまで
?>
<div class="c-pagination">
CSSで装飾する
.pagination-next-link:hover {
background-color: var(--color_main);
color: #fff;
}
.pagination-next-link {
box-shadow: var(--swl-box_shadow);
}
/*「次のページ」ページネーション*/
.pagination-next-link {
background-color: #f0f0f1;
/*border: 1px solid #ccc;*/
border-radius:50px;
color: #333;
display: block;
font-size: 1.25em;
text-decoration: none;
width: 100%;
text-align: center;
padding: 12px 0;
display: block;
}
.pagination-next-link:hover {
transition: all 0.3s ease 0s;
}
まとめ
次のページへボタンを追加する手順をご紹介しました。
このカスタマイズは、子テーマにファイルをコピーして編集します。
親テーマのバージョンアップとの整合の問題が出る可能性があるカスタマイズですので、自己責任で実施してください。
コメントを閉じる
コメント