wp_get_archives では自動で月別のアーカイブリンクを吐き出させることができますが、
今回「投稿者ページ」に、その投稿者のアーカイブを月別作りたいため、
既存のパラメータでは操作できないので、urlを無理やり書き換えてやる必要が出てきました。
▼理想のURLは
https://aaaa.com/author/ユーザー名/2020/07/
▼しかし吐き出されるのは
https://aaaa.com/2020/07/
です。
試したことは、author.phpにて一度そのアーカイブリンクを分解して自分で組み直す、みたいな感じのことですが、
php
1$userLogin = get_query_var('author'); 2$user = get_userdata($userLogin); 3$uid = $user->ID; 4 5 $archives = wp_get_archives('type=monthly&echo=0'); 6 $archives = explode('</li>',$archives); 7 $links = array(); 8 foreach($archives as $archive){ 9 $url = preg_replace("/<a href='(.+)' title='(.+)'>/", "<a href='$1&author={$uid}' title='$2'>", $archive); 10 echo $url.'</li>'; 11 }
このコードでは、何故か変わらず同じhttps://aaaa.com/2020/07/が吐き出されてしまいます。
$uidはうまく取得できています。
どこが原因なのでしょうか?
ご教授いただければ幸いです。よろしくお願いします。
=========================
訂正
すみません、理想のURLは
https://aaaa.com/author/ユーザー名/2020/07/
ですが
上記コードだとそうはなりませんね、、勘違いして別のものを参考にしていました、、
やり方としては同じ要領だと思いますので、preg_replaceを使って
https://aaaa.com/author/ユーザー名/2020/07/
という形に持っていきたいのが理想です。
ただどちらにせよ「https://aaaa.com/2020/07/」が吐き出されてしまうのはまた別問題なので、原因がどこにあるのか、教えていただけると幸いです。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/29 00:37