私は複数の著者がいるサイトを開発中であり、これまでのところ、特定の著者による投稿を表示する著者テンプレートの作成に成功しています。
次にやりたいのは、その特定の著者のアーカイブを月ごとにサイドバーに表示することです。これはwp_get_archives()と同じように機能しますが、これまでに作成されたすべての投稿ではなく、作成者の投稿のみを返します。
私を助けることができる組み込みのWP関数はありますか?
乾杯
だから私は最終的に解決策を思いつきました。それはおそらく最も効率的な方法ではありませんが、誰かがより良い方法を持っているかどうか知りたいです. :)
基本的に、WP はhttp://mysite.com/?author=2のような URL からユーザーの投稿のアーカイブを取得できることがわかりました。
そこから、作成者の ID を取得して URL に追加する方法を見つけ出すだけでした。
<?php $curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author)); ?>
<?php
if(is_author()){ ?>
<h3>ARCHIVES</h3>
<ul>
<?php
$archives = wp_get_archives('type=monthly&echo=0');
$archives = explode('</li>',$archives);
$links = array();
foreach($archives as $archive){
$url = preg_replace("/<a href='(.+)' title='(.+)'>/", "<a href='$1&author={$curauth->ID}' title='$2'>", $archive);
echo $url.'</li>';
}
?>
</ul>
<?php } ?>
ぜひ、もっと良い方法があれば、自由に選んでください。