Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数组中添加元素_Php_Arrays_Wordpress_Taxonomy - Fatal编程技术网

Php 在数组中添加元素

Php 在数组中添加元素,php,arrays,wordpress,taxonomy,Php,Arrays,Wordpress,Taxonomy,我有以下代码: if($pf_categorynotin){ $args['tax_query'] = array( array( 'taxonomy' => 'portfolio_category', 'field' => 'slug', 'terms' => $pf_categorynotin, 'operator' => 'NOT IN'

我有以下代码:

if($pf_categorynotin){
    $args['tax_query'] = array(
        array(
            'taxonomy' => 'portfolio_category',
            'field' => 'slug',
            'terms' => $pf_categorynotin,
            'operator' => 'NOT IN'
        )
    ); //category__in
}
它定义了一个分类法,即公文包标签。 我想做的是添加另一个分类法,如portfolio\u tag

我不确定是否会这样工作:
'taxonomy'=>'portfolio\u category','portfolio\u tags',


基本上,我想做的是在该数组中添加另一个分类法

如果需要多个值,则必须使用数组,因此请替换以下行:

'taxonomy' => 'portfolio_category',
对于这一个:

'taxonomy' => array('portfolio_category','portfolio_tags'),

但是请记住,读取
$args['tax\u query']
的代码必须进行调整,以考虑到
$args['tax\u query'][0]['taxonomy']
现在可以是数组或字符串。

您可以使用
分类法制作数组,这样您的代码看起来像:

if($pf_categorynotin){
    $args['tax_query'] = array(
        array(
            'taxonomy' => array('portfolio_category', 'portfolio_tags'),
            'field' => 'slug',
            'terms' => $pf_categorynotin,
            'operator' => 'NOT IN'
        )
    ); //category__in
}
而且,
$args['tax\u query'][0]['taxonomy'][0]
将成为
'portfolio\u category'
$args['tax\u query'][0]['taxonomy'][1]
将成为
'portfolio\u tags'

if($pf_categorynotin){
    $args['tax_query'] = array(
        array(
            'taxonomy' => array('portfolio_category','portfolio_tags'),
            'field' => 'slug',
            'terms' => $pf_categorynotin,
            'operator' => 'NOT IN'
        )
    ); //category__in
}

可以做到这一点

分类法需要另一个数组,例如:

$taxonomy = array(tax1, tax2, tax3);
然后你加上

array(
            'taxonomy' => $taxonomy,
            'field' => 'slug',
            'terms' => $pf_categorynotin,
            'operator' => 'NOT IN'
        )
这里看一看“多分类处理”示例:


您应该调整
关系
运算符
以满足您的需要。

您应该编辑您的问题,以解释此数组将用作WP\u查询的参数
$args['tax_query'] => array(
    'relation' => 'AND',
    array(
        'taxonomy' => 'portfolio_category',
        'field' => 'slug',
        'terms' => $pf_categorynotin,
        'operator' => 'NOT IN'
    ),
    array(
        'taxonomy' => 'portfolio_tags',
        'field' => 'slug',
        'terms' => $pf_categorynotin,
        'operator' => 'NOT IN'
    )
);