0

次の問題に遭遇しました。私はbooksという名前のカスタム投稿タイプとbooksという名前のページを持っています。ここで、カスタム投稿タイプが保持する投稿を books という名前のページに出力したいと考えています。

次のクエリを使用しています。

        <?php
        $args = array( 'post_type' => 'books');
        $loop = new WP_Query($args);
        while ($loop->have_posts()) {
            $loop->the_post();
    ?>
        <div <?php post_class('col-lg-5'); ?> id="post-<?php the_ID(); ?>">
            <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
            <?php the_content(); ?>
        </div>
    <?php
        }
    ?>

問題は、books テンプレートを選択しても、archive.php に戻り続けることです。URL を /books2/ に変更すると正常に動作しますが、/books を使用すると、archive.php を指します。

functions.php で has_archive 引数を無効にしましたが、他に何をすべきかわかりません。

かなり単純です。アーカイブが存在するのではなく、カスタム投稿をページに出力したいのです。

4

1 に答える 1

0

これを試してみてください、カスタム投稿を登録するときに、投稿スラッグを別の名前(「books」以外)に書き換えます

'rewrite' => array(  
 'slug' => __( 'book' )  
), 

この引数を $args 配列に追加します。そして試してみてください。

于 2013-08-08T10:30:49.563 に答える