0

さて、私が持っているのは、カスタム投稿タイプ (リスト) とその下に既に組み込まれているカスタム分類法を備えた Wordpress テーマです。既存のカスタム投稿タイプの下に独自のカスタム分類法 (新規開発) を正常に追加しました。

また、taxonomy-new-developments.php というタイトルの新しい分類法のカスタム テンプレートもセットアップしましたが、これも同様に機能しますが、独自のページに分類法「new-developments」が表示されたカスタム投稿タイプだけを取得しようとすると、カスタム投稿タイプが「リスト」のすべての投稿。

これが私のコードです:

customposttypes.php -

add_action('init', 'property_new_dev_taxonomies');
function property_new_dev_taxonomies() {
register_taxonomy('new-developments',
        'listing',
        array (
        'labels' => array (
                'name' => 'New Developments',
                'singluar_name' => 'New Developments',
                'search_items' => 'Search New Developments',
                'popular_items' => 'Popular New Developments',
                'all_items' => 'All New Developments',
                'parent_item' => 'Parent New Development',
                'parent_item_colon' => 'Parent New Development:',
                'edit_item' => 'Edit New Development',
                'update_item' => 'Update New Development',
                'add_new_item' => 'Add New Development',
                'new_item_name' => 'New Developments',
        ),
                'hierarchical' => true,
                'show_ui' => true,
                'show_tagcloud' => true,
                'rewrite' => array( 'slug' => 'new-developments'),
                'query_var' => 'new-developments',
                'public'=>true)
        );
}

私の taxonomy-new-developments.php での呼び出し

<?php $posts = new WP_Query( array(
    'post_type' => 'listing', 'new-developments' 
    ) 
); ?>

この問題に関するご支援をいただければ幸いです。

編集:私が省略したことは、この問題の鍵であり、望ましい結果はリストに「新しい開発」を表示するページであるということです(これは、ここで見ることができるように機能します)

場所のカスケードを下に移動すると、問題が発生します.1つのリストがアクティブになっている「Doral」をクリックすると、「リスト」カスタム投稿タイプの下にあるすべての投稿が表示される問題のページが表示されます。これは、「分類法」「場所」の下にあるもののみを表示するように除外する方法を理解する必要があるものです。

4

1 に答える 1

2

このコードで試してください:

<?php
$type = 'New Developments';
$args=array(
  'post_type' => $type,
  'post_status' => 'publish',
  'posts_per_page' => -1,
  'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
  while ($my_query->have_posts()) : $my_query->the_post(); ?>
    <p><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></p>
    <?php
  endwhile;
}
wp_reset_query();  // Restore global post data stomped by the_post().
?>

または、次のリンクを参照してください。

WordPress でのカスタム分類フィルタリング

ありがとう

于 2013-11-01T05:54:45.603 に答える