説明
既存の ← 過去の投稿 | 新しい投稿 → というリンクをページヘのリンクで置き換えたい、という方へ。
このプラグインは、わかりやすいページ送り機能を実装する wp_pagenavi()
テンプレートタグを使えるようにします。
使い方
使用しているテーマの next_posts_link() と previous_posts_link() という記述を探して置き換える必要があります。
Twentyten テーマではこのようになります:
<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">←</span> Older posts', 'twentyten' ) ); ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">→</span>', 'twentyten' ) ); ?></div>
これらの2行は以下のように置き換えてください :
<?php wp_pagenavi(); ?>
マルチパートページでは、次のようなコードを探してください :
<?php wp_link_pages( ... ); ?>
そして以下のように置き換えてください :
<?php wp_pagenavi( array( 'type' => 'multipart' ) ); ?>
設定は ダッシュボード -> 設定 -> PageNavi をご覧ください。
CSS の変更
WP-PageNavi の CSS スタイルを編集する必要がある場合は、プラグインディレクトリの pagenavi-css.css
をあなたのテーマディレクトリにコピーして編集してください。この方法なら、プラグインを更新しても編集内容が失われることはありません。
あるいは、設定ページから “Use pagenavi.css?” オプションのチェックを外し、テーマディレクトリの style.css ファイルに直接スタイルを追加します。
クラス名の変更
ページナビゲーション要素に割り当てられているデフォルトのクラス名を変更するために使用できるフィルターがあります。
フィルター
wp_pagenavi_class_pages
wp_pagenavi_class_first
wp_pagenavi_class_previouspostslink
wp_pagenavi_class_extend
wp_pagenavi_class_smaller
wp_pagenavi_class_page
wp_pagenavi_class_current
wp_pagenavi_class_larger
wp_pagenavi_class_nextpostslink
wp_pagenavi_class_last
フィルターの使い方
// Simple Usage - 1 callback per filter
add_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_previouspostslink_class');
add_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_nextpostslink_class');
add_filter('wp_pagenavi_class_page', 'theme_pagination_page_class');
function theme_pagination_previouspostslink_class($class_name) {
return 'pagination__control-link pagination__control-link--previous';
}
function theme_pagination_nextpostslink_class($class_name) {
return 'pagination__control-link pagination__control-link--next';
}
function theme_pagination_page_class($class_name) {
return 'pagination__current-page';
}
// More Concise Usage - 1 callback for all filters
add_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_class');
add_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_class');
add_filter('wp_pagenavi_class_page', 'theme_pagination_class');
function theme_pagination_class($class_name) {
switch($class_name) {
case 'previouspostslink':
$class_name = 'pagination__control-link pagination__control-link--previous';
break;
case 'nextpostslink':
$class_name = 'pagination__control-link pagination__control-link--next';
break;
case 'page':
$class_name = 'pagination__current'
break;
}
return $class_name;
}
開発
クレジット
- プラグインアイコン作成: SimpleIcon (Flaticon より)
寄付
私は自分の多くの時間をプラグインの作成、アップデート、メンテナンス、サポートに費やしています。もしこのプラグインを気に入って頂け、数ドルの寄付を惜しまないで頂けるのであれば、とてもありがたいです。そうでなくとも、このプラグインは無料で使用可能です。
スクリーンショット
FAQ
-
有効化したら “Parse error: syntax error, unexpected…” というエラーが表示されてしまいました。
-
ホスティングサービスが PHP 5 を動作することを確認してください。以下の行を wp-config.php に追加するだけです (
<?php
タグの後 ) 。var_dump(PHP_VERSION);
-
2 ページ目に行っても、1 ページ目と同じ投稿が表示されてしまいます。
-
query_posts()
の使い方を間違えているようです。 正しい query_posts() の使い方(英語)を参照してください。 -
はい。このチュートリアルをご覧ください。
-
どうすれば設定ページの内容を無視できますか?
-
多言語プラグインを使っている場合など、設定ページの文字列を無視したくなることもあるでしょう。
このようにします :
<?php wp_pagenavi( array( 'options' => PageNavi_Core::$options->get_defaults() ) ); ?>
評価
貢献者と開発者
変更履歴
2.94.1
- FIXED: PHP 8.2 warnings
2.94.0
- NEW: Add args param on wp_pagenavi filter. Props @asadowski10
- NEW: Improve accessibility of nav links. Props @carlabobak
2.93.4
- FIXED: Update SCB Framework To Support PHP 8
2.93.3
- FIXED: Update SCB Framework To Remove contextual_help
2.93.2
- NEW: Bumped to WordPress 5.4
- FIXED: Ensure Action Links is always an array
2.93.1
- FIXED: Duplicated Settings Saved admin_notices
2.93
- Remove screen_icon from SCB.
2.92
- Add title attr to pages link. Props @Mahjouba91.
2.91
- Validate text option against kses
- Update SCB Framework
2.90
- Remove po/mo files from the plugin
- Use translate.wordpress.org to translate the plugin
2.89.1
- FIXED: before and after args
2.89
- NEW: wrapper_tag option to allow other HTML tag besides DIV and wrapper_class option to allow other class name besides wp-pagenavi. Props @Mahjouba91.
2.88
- NEW: Added filters for altering class names. Props @bookwyrm
2.87
- NEW: Uses WordPress native uninstall.php
2.86
- NEW: Bump to 4.0
- NEW: Added rel=next and rel=previous
2.85
- FIXED: “Use pagenavi-css.css” & “Always Show Page Navigation” in the options are not being saved
2.84
- FIXED: Updated scb framework to fix scbAdminPage incompatible error
2.83
- added ‘echo’ parameter
- added Estonian and Bengali translations
- updated scbFramework
2.82
- fixed prev/next links not appearing in some conditions
- added Hebrew, Georgian and Azerbaijani translations
- updated scbFramework
2.81
- require an explicit type; fixes bugs with multipart pages
2.80
- support for multi-part pages and user queries
- moved prev/next links before/after first/last links
- more info
2.74 (2011-02-17)
- added ‘smaller’ and ‘larger’ classes
- added $query arg to wp_pagenavi()
- updated translations
- more info