お問い合わせ

SWELLのページャーをCocoon風にカスタマイズ

SWELLはページ分割されている記事やアーカイブページでページャーが表示されます。

Cocoonのページャーは、次のページへという目立つ大きなボタンがあって便利なのですが、SWELLにはそのボタンはありません。

スマホの時は次のページへボタンは特に便利だと思いますので、SWELLでもCocoon風の次のページへボタンを表示するカスタマイズをご紹介します。

この記事のカスタマイズ以外にもSWELLフォーラムでページャーカスタマイズに関する記事が投稿されているので、参考にしてみてください。

参考記事

Cocoonに実装されている機能は、作者のわいひら氏(@MrYhira)のブログ記事を見るとオリジナルのアイデアが紹介されていますので、そちらを参照します。

<?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の子テーマは公式サイトからダウンロードできます。

子テーマがダウンロードできない場合

何らかの理由で公式サイトからダウンロードできない人は、プラグインで子テーマを作れるものがあります。そちらを使えば大丈夫です。

こちらの記事に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;
}

まとめ

次のページへボタンを追加する手順をご紹介しました。

このカスタマイズは、子テーマにファイルをコピーして編集します。

親テーマのバージョンアップとの整合の問題が出る可能性があるカスタマイズですので、自己責任で実施してください。

SWELLのページャーをCocoon風にカスタマイズすることは可能?

子テーマを使えばCocoon風の次へボタンを追加することができます。

他の人にもシェアしてね
コメントを閉じる

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

クリックできる目次