• 現在いちからWordpressのテンプレートをマルチサイト機能を利用して作成しています。

    下記のような構成でカスタム投稿タイプを指定して一覧を取得したいと考えております。

    post_type:banner
    taxonomy:banner_category
    termに:250×250

    同サイト内では下記のように記述することで最新の記事を取得できたのですが、
    switch_to_blogを利用して他サイトに同ソースを利用し、該当の最新記事一覧を取得しようとしたところ表示ができませんでした。

    termを削除するとbanner_categoryの最新記事が表示されるのですが、他サイトからtermを利用した一覧の取得はできないのでしょうか。

    $recent = new WP_Query(array('showposts' => '1','post_type' => 'banner','taxonomy'=>'banner_category','term'=>'250x250'));
    while($recent->have_posts()) : $recent->the_post();
    ?>	<?php endwhile; ?>
    表示内容
    <?php wp_reset_postdata(); ?>

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • バージョン3.3.1で確認しましたが、仕様か不具合かは分かりませんが、termによる絞込みは出来ないようです。
    taxonomy_exists()がマルチサイトに対応していないらしく、他サイトで登録したタクソノミーを確認できない為です。[wp-includes/taxonomy.php](get_sql()実行時にclean_query()で実行されます。)
    カスタムポストタイプとタクソノミーはfunctions.phpで登録しています。
     
    taxonomy_exists()を実行しない場合は取得可能でした。

    private function clean_query( &$query ) {
    		/*if ( ! taxonomy_exists( $query['taxonomy'] ) ) {
    			$query = new WP_Error( 'Invalid taxonomy' );
    			return;
    		}*/

     
    どなたか最新バージョンのマルチサイト化環境での検証&報告が可能な方がいたらよろしくお願いします。
     
     
    対応されるまでの応急処置として、$wpdb->get_results()で直接SQLを発行して取得してはいかがでしょうか。
    SQLは該当サイトでリクエスト時に生成されるSQL文を参照してください。

    トピック投稿者 windcave

    (@windcave)

    ご回答ありがとうございました。
    仕様なのですね。。
    SQL文を仕込むとなるとそれなりに私のスキルでは勉強が必要なので、
    ご教授いただきました構築方法で試してみようと思います。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「特定termに属する記事の取得」には新たに返信することはできません。