我在获取自定义帖子类型类别中的帖子时遇到问题。我有下面的代码,但它工作不好。它仍然会收到其他类别的帖子。
<?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(); ?>
你能帮帮我吗?
非常感谢。
SO网友:djack109
我一生都无法让上述任何一项发挥作用。他们要么什么都带回来,要么什么都没带回来。因此,经过一点尝试和错误,我做到了:-
id
是我想要的那种鼻涕虫。
if (isset($_GET["id"])) {
$id = $_GET["id"];
echo $id;
$id = get_category_by_slug( $_GET["id"] );
if (isset($id)) {
$id = $id->term_id;
$args = array(
\'post_status\' => \'publish\',
\'post_type\' => \'Products\',
\'cat\' => $id,
);
}
}
$query = new WP_Query($args);
我是WordPress的新手,几乎已经编写了所有其他语言的程序,我不知道这是一种好方法还是一种坏方法,我只知道它能满足我的需要:)