我在Wordpress模板文件(Goodwork主题)中有以下代码,该文件输出帖子列表。
$args = array( 'posts_per_page' => $v_filter == 'true' ? -1 : 12,
'offset'=> 0,
'paged' => $paged,
'portfolio_category' => $custom_cat,
'post_type' => 'portfolio');
$all_posts = new WP_Query($args);
我遇到问题的比特是$custom_cat
,它在上面的模板中设置如下:
$v_cats = get_post_meta($post->ID, 'rb_meta_box_portfolio_set', true);
$all_cats = !empty($v_cats) ? implode($v_cats, ', ') : -1;
$custom_cat = isset($_GET['f']) ? $_GET['f'] : $all_cats;
问题是它忽略了某个类别的帖子。
如果我将代码更改为$custom_cat = 'promotions'
,这是未显示的类别的名称,那么它会输出该类别的帖子,但在提取所有类别时不会输出。
有人知道为什么会这样吗?
在回答BIOSTALL的问题时,rb_meta_box_portfolio_set
唯一被引用的其他地方是在metaboxes.php中,它设置了Portfolio Post Type:
$rb_meta_box_portfolio = array(
'id' => 'rb_meta_box_portfolio',
'title' => 'Portfolio Options',
'desc' => '',
'pages' => array( 'page' ),
'context' => 'normal',
'priority' => 'high',
'fields' => array(
array(
'id' => 'rb_meta_box_portfolio_set',
'label' => 'Choose categories',
'desc' => 'Select the categories which will appear in this portfolio.',
'std' => 'portfolio',
'type' => 'checkbox',
'class' => '',
'choices' => $portfolios_array
),
您的内爆()参数是错误的,我认为
Impode先取字符串,然后取数组,请查看php.net官方文档。请将您的implode
更改如下:
implode(', ', $v_cats)
谢谢。