【WP】wp_get_archivesがリンク先エラーになる
記事の年別、月別、週別などの記事一覧のアーカイブリンクを生成する wp_get_archives で出力したリンクがエラーページ(404)になる…!というときの解決方法。
原因
まとめると、以下の時に起こるようです。
- カスタム投稿(例:「memo」)のアーカイブを生成しようとしている
- パーマリンクを「/memo/%post_id%」に設定している
以上の時にアーカイブページのURLが記事ページとして判定されるため、エラーとなるようです(デフォルト投稿の時は自動でWPが回避してくれる)。
解決方法
パーマリンクが「/memo/%post_id%」のときは「/memo/date/%post_id%」でアーカイブページにアクセスできるそう(参考サイトを参照してね)なので wp_get_archives で生成されるリンクを書き換えます。
$args = array(
'echo' => false,
'post_type' => 'memo'
);
$archive_list = wp_get_archives( $args );
$archive_list = str_replace('/memo/', '/memo/date/', $archive_list);
echo $archive_list;
参考
- wp_get_archivesのリンクが404になるときの対処法 | めしくいドットコム・技術編
https://meshikui.com/2021/08/05/3182/ - wp_get_archives()で出力されるURLにdataが含まれていなかったので変更する|WordPress|仙台で子育てをする やまライダー夫婦 のブログ
https://www.sendai-kuraso.com/work/wordpress/wp_get_archives-nodata.ht...
関連記事
-
PHP WordPress
term_description()からpタグを消す
-
WordPress プラグイン
【WordPressプラグイン】Smart Custom Fieldsの出力
-
WordPress 設定 関数の使い方
【WordPress】ウィジェット機能の追加
-
WordPress
【WordPress】タームIDからタクソノミーを取得する
-
WordPress 関数の使い方
【WordPress】ページネーションを作る
-
WordPress 関数の使い方
【WordPress】サブループで記事の読み込み
-
WordPress
静的サイトに一部WordPressを導入する
-
WordPress
【WordPress】ループ内でカテゴリーの取得と表示