カスタム投稿タイプのクエリがあります:
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$books = new WP_Query(array(
    'post_type' => 'wiki',
    'posts_per_page' => '50',
    'paged' => $paged
));
?>そして、私はloop-books.phpを使用してこれらの投稿をループしたいです:
<?php get_template_part( 'loop', 'books' ); ?>loop-books.phpの内部には、通常のloop.phpと同様に、これらの変数があります。$ booksクエリで機能するようにhave_postsおよびthe_post関数を変更しました。
<?php if ( $books->have_posts() ) : ?>      
    <?php while ($books->have_posts()) : $books->the_post(); ?>
        <?php the_title(); ?><br/>
    <?php endwhile; ?>
<?php endif; ?>しかし、この後、phpエラーが発生します。
Fatal error: Call to a member function have_posts() on a non-object in .../loop-books.php on line 1$ books変数はget_template_part関数内では使用できないようです。この問題を解決するにはどうすればよいですか?$ booksクエリをloop-books.php内に配置すると、正常に機能しますが、それらを分離したいとします。
                  $ books->の部分を削除すると、デフォルトのクエリが使用されるため、私には不向きです。
                
                
                  
                    —
                    passatgt 
                    
                  
                
              
                  次のようなものを使用している場合:   
                
                  
                    —
                    Rohit Pande 
                    
                  
                
              <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $books = new WP_Query(array(     'post_type' => 'wiki',     'posts_per_page' => '50',     'paged' => $paged )); ?>ここでget_template_partクエリをロードします。そして、この後、あなたreset postdataは私の解決策が適切に機能すると思います。
                
$books->loop-books.phpからを削除してみてください。うまくいくことを願っています。