web-dev-qa-db-ja.com

カスタム投稿タイプのカテゴリに投稿する

カスタム投稿タイプのカテゴリに投稿するのに問題があります。下記のコードがありますが、うまくいきません。まだ別のカテゴリの投稿があります。

<?php
    $query= null;
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args=array(
        'post_type' => get_post_type(),
        'post_status' => 'publish',
        'paged' => $paged,
        'post_type_cat' => 'featured', // get_post_type() will return post_type, I add _cat -> post_type_cat
        //'orderby' => 'Rand',
        'posts_per_page' => 1,
        'meta_query' => array(
            array(
                'key' => '_expiration_date',
                'value' => array(0, current_time('timestamp')),
                'compare' => 'BETWEEN'
                )),
            );
    $query = new WP_Query($args);
?>
<?php if ( $query->have_posts() ) : $query->the_post(); ?>
<?php get_template_part( 'template/featured' ); ?>
<?php else : ?>
<?php get_template_part( 'template/nofeatured' ); ?>
<?php endif; ?>
<?php wp_reset_query(); ?>

手伝って頂けますか?

ありがとうございました

4
arale

私が知っている限りではpost_type_catのようなパラメータはありません、あなたはcatを使うか、カスタム分類法で投稿を問い合わせるなら分類法クエリを使います。

カテゴリクエリの例

$query = new WP_Query( 'cat=2,6,17,38' );

または

$query = new WP_Query( 'category_name=staff' );

カテゴリ別に問い合わせるさらに多くの方法については、次のCodexエントリを参照してください。

http://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters

分類クエリの例

$args = array(
    'post_type' => 'post',
    'tax_query' => array(
        array(
            'taxonomy' => 'people',
            'field' => 'slug', //can be set to ID
            'terms' => 'bob' //if field is ID you can reference by cat/term number
        )
    )
);
$query = new WP_Query( $args );

詳細はこちらの記事をご覧ください。

http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters

6
userabuser