ページナビゲーション機能を改版してみたり
関連記事
- ひょっとして,大規模にやらかしてました?ぎんゆぅ~さん,落ちてた模様(爆 【2025年08月19日(火)】
- 【#ChatGPT】WordPressサーバにバイナリファイルをアップするシステムをChatGPTさんに聞きまくりじゃった 【2025年03月04日(火)】
- 【#WordPress #さくらインターネット】6.5.5自動アップデートに伴うサーバーダウン,復旧したっぽい 【2024年06月25日(火)】
- 【#WordPress】WordPress 6.5.2 が降ってきた!っが,MySQLの要件上がってインストール出来ん(汗 【2024年04月10日(水)】
- 【#WordPress】#さくらインターネット のPHP8 JITの初期値はoffじゃげ(爆 【2024年02月13日(火)】
ゆりこさんとこで知った,ページナビゲーションの実装方法
改版されていたんで,ちょろっと変えてみた
function.phpに書き出したほうがいいかなぁ~?
ってことで,function.php対応版へ若干いじった
<?php
function bmPageNavi() {
global $wp_rewrite;
global $wp_query;
global $paged;
$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 .= '%_%';
}
$result = paginate_links( array(
'base' => $paginate_base,
'format' => $paginate_format,
'total' => $wp_query->max_num_pages,
'mid_size' => 5,
'current' => ($paged ? $paged : 1),
));
return $result;
}
?>
取り立てて,問題はなしただし,アーカイブとかタグ表示側で,2ページ目以降に移動したときの
1ページ目のURLの末尾に”/”が残りますねぇ...(以前から残ってた)
タグでの例
2ページ目表示させてると,1ページ目のURL末に”/”が残ってますです
でもまぁ,実害ないんで,ほっとくかねぇ~ 😉


さっそくのご利用ありがとうございます。ちゃんと $wp_query と $paged を global 宣言されているのはさすがですね (functions.php に移すときはこれが必須です)。
で、この問題は悩んだ末残すことにしました。get_pagenum_link(1)をuser_trailingslashit(get_pagenum_link(1))にしたらよさそうなのですが、カテゴリーやアーカイブ以外の2ページ目以降で、1ページ目 (==サイトトップ) の URL の末尾にスラッシュがなくなってしまうという弊害が出ます。けっきょく、
get_pagenum_link()の動作がいまいちということなので、いじらずに残してしまうことにしました。引数に「1」と入れる動作は想定していないのかもしれません。>>ゆりこさま
いつもお世話になってます(^^)
>>で、この問題は悩んだ末残すことにしました。
ですね
スラッシュ,実害もないですし
ほっといてもいいと思いますです
とりあえず,ナビゲーション側,不具合はなさそうな雰囲気ですよん 😉