0

私は複数の著者がいるサイトを開発中であり、これまでのところ、特定の著者による投稿を表示する著者テンプレートの作成に成功しています。

次にやりたいのは、その特定の著者のアーカイブを月ごとにサイドバーに表示することです。これはwp_get_archives()と同じように機能しますが、これまでに作成されたすべての投稿ではなく、作成者の投稿のみを返します。

私を助けることができる組み込みのWP関数はありますか?

乾杯

4

1 に答える 1

0

だから私は最終的に解決策を思いつきました。それはおそらく最も効率的な方法ではありませんが、誰かがより良い方法を持っているかどうか知りたいです. :)

基本的に、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 } ?>

ぜひ、もっと良い方法があれば、自由に選んでください。

于 2012-09-18T23:07:48.357 に答える