Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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_Wordpress - Fatal编程技术网

Php 从查询中排除特定分类法

Php 从查询中排除特定分类法,php,wordpress,Php,Wordpress,我有一个问题,首先这是我的代码 $page_id = get_queried_object_id(); $post = get_post($page_id); $filter_args = array( 'tax_query'=>array(), 'meta_query'=>array() ); $posts_per_page = 5; $args = array( 'posts_per_page' => $posts_per_page, 'p

我有一个问题,首先这是我的代码

$page_id = get_queried_object_id();
$post = get_post($page_id);
$filter_args = array(
    'tax_query'=>array(),
    'meta_query'=>array()
);

$posts_per_page = 5;
$args = array(
    'posts_per_page' => $posts_per_page,
    'post_type' => 'property',
    'orderby' => 'date'
);

$args = array_merge($args, $filter_args);
$query = new WP_Query( $args );

$items = array();

if(count($query->posts) > 0){
    $items = $query->posts;
}

$acf_fields = get_acf_fields(array('general_property_fields', 'property_price'));
foreach($items as $k=>$v){
    $items[$k]->acf = get_acf_data($v->ID, $acf_fields);
    $items[$k]->pc = sb_get_price($v->ID);
}
get_acf_字段是一个个人函数,在这个问题上不用担心

这是我获取所需值的循环

<?php foreach ($items as $v) { 
    $status = $v->acf['c_status'];
    $status_name = get_term_by('id', $status, 'type');
?>
<?php if ($status_name) { ?>
      <div class="sb-sidebar-featured-type">
      <?php
         $title_status = $status_name->name;
         $status = explode(' ', $title_status); 
      ?>
         <div class="sidebar-featured-transaction"><?=($status_name) ? $status[0] : '';?></div>
      </div>
<?php } ?>

所有这些都可以正常工作,但状态会给我名称状态分类法中的所有值,例如,如果我获得“已售出”、“折扣”、“优惠”,我想排除分类法中带有“已售出”的结果,但我不知道如何做到这一点,谢谢:D

请这样尝试:
Will you please try like this:
<?php if ($status_name != 'sold') { ?>
      <div class="sb-sidebar-featured-type">
      <?php
         $title_status = $status_name->name;
         $status = explode(' ', $title_status); 
      ?>
         <div class="sidebar-featured-transaction"><?=($status_name) ? $status[0] : '';?></div>
      </div>
<?php } ?>
请您这样试试:

以下是适用于somelse的代码

<?php foreach ($items as $v) { 
    $tax_type = $v->acf['c_type'];
    $status = $v->acf['c_status'];
    $type_name = get_term_by('id', $tax_type, 'type');
    $status_name = get_term_by('id', $status, 'type');
    if ($status_name) {
        $check_status = trim($status_name->slug);
    }
    if ($check_status != 'sold' && $check_status != 'vendido') { 
?>
        <div class="sidebar-featured-cont">
            <div class="sidebar-featured">
                <a class="sidebar-featured-image" href="<?=get_permalink($v->ID)?>">
                    <img src="<?=$v->acf['c_gallery'][0]['sizes']['property-listing']?>" alt="" />
                    <?php if ($status_name) { ?>
                        <div class="sb-sidebar-featured-type">
                            <?php
                                $title_status = $status_name->name;
                                $status = explode(' ', $title_status); 
                            ?>
                            <div class="sidebar-featured-transaction"><?=($status_name) ? $status[0] : '';?></div>
                        </div>
                    <?php } ?>
                </a>
                <div class="sidebar-featured-title"><a href="estate-details-right-sidebar.html"><?=$v->post_title?></a></div>
                <div class="sidebar-featured-price">$ <?=$v->pc?></div>
                <div class="clearfix"></div>                        
            </div>
        </div>
    <?php } ?>
<?php } ?>

$ 

以下是适用于somelse的代码

<?php foreach ($items as $v) { 
    $tax_type = $v->acf['c_type'];
    $status = $v->acf['c_status'];
    $type_name = get_term_by('id', $tax_type, 'type');
    $status_name = get_term_by('id', $status, 'type');
    if ($status_name) {
        $check_status = trim($status_name->slug);
    }
    if ($check_status != 'sold' && $check_status != 'vendido') { 
?>
        <div class="sidebar-featured-cont">
            <div class="sidebar-featured">
                <a class="sidebar-featured-image" href="<?=get_permalink($v->ID)?>">
                    <img src="<?=$v->acf['c_gallery'][0]['sizes']['property-listing']?>" alt="" />
                    <?php if ($status_name) { ?>
                        <div class="sb-sidebar-featured-type">
                            <?php
                                $title_status = $status_name->name;
                                $status = explode(' ', $title_status); 
                            ?>
                            <div class="sidebar-featured-transaction"><?=($status_name) ? $status[0] : '';?></div>
                        </div>
                    <?php } ?>
                </a>
                <div class="sidebar-featured-title"><a href="estate-details-right-sidebar.html"><?=$v->post_title?></a></div>
                <div class="sidebar-featured-price">$ <?=$v->pc?></div>
                <div class="clearfix"></div>                        
            </div>
        </div>
    <?php } ?>
<?php } ?>

$ 

不完全正确,但您的答案引导我解决问题,谢谢不完全正确,但您的答案引导我解决问题,谢谢