0

ここでget_children機能を少し助けます。pre_get_postsmain_query をフック フィルターします。その後get_children、添付画像を取得するために呼び出しましたが、配列の結果が 0 になりました。

関数.php

 function cstm_get_posts() {
        if ( is_post_type_archive( 'tent' ) ) {
        $query->set( 'posts_per_page', 20 );
        return;
       }
     }
 add_action('pre_get_posts', 'cstm_get_posts' );

アーカイブ.php

 $attachments = get_children( array(
    'numberposts' => 1,
    'order'=> 'ASC',
    'post_mime_type' => 'image',
    'post_parent' => $post->ID,
    'post_type' => 'attachment'
    ));
foreach($attachments as $attch){
 code display image here
}

上記のコードは単なるスニペットです。

とにかくpre_get_postsget_children作品をうまく使わなければ。しかしpre_get_posts、クエリをフィルタリングする必要があります。アイデアや提案はありますか?

4

1 に答える 1

1

これを試して

function cstm_get_posts($query) {
  if ( is_post_type_archive( 'tent' ) &&  $query->is_main_query() ) {
    $query->set( 'posts_per_page', 20 );
    return;
  }
}

関数にパラメーターを追加しました$query

于 2012-11-09T02:07:43.310 に答える