Wordpress未检索特定类别


Wordpress not retrieving a certain category

我在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)

谢谢。