【问题标题】:Display posts having custom field value equal to an array of values - Wordpress显示自定义字段值等于值数组的帖子 - Wordpress
【发布时间】:2013-03-09 01:06:49
【问题描述】:

我有一组城市名称

$cities = array('Ludhiana','Doraha','Jagraon','Moga','Phillaur','Ahmedgarh');

在我的 wordpress 实现中,我有一个名为“cty_name”的自定义字段

现在,我想查询那些在“cty_name”自定义字段中包含任何数组值的帖子。我知道这可以在 Wp_Query 函数中使用 meta_query 来完成,但无法弄清楚。

请引导我找到一种快速有效的方法来获取这些帖子,实际上我将在数组中有大约 100 个值,并且将每个值与帖子进行比较是低效的。

谢谢,

编辑:

我解决了这个问题,不过这很简单……谢谢大家的支持

$cities = array('Ludhiana','Doraha','Jagraon','Moga','Phillaur','Ahmedgarh');

$args = array(
'post_type' => 'city_posts',
'meta_query' => array(
    array(
        'key' => 'cty_name',
        'value' => $cities,
        'compare' => 'IN'
    )
  )
);

【问题讨论】:

    标签: wordpress posts


    【解决方案1】:

    我解决了这个问题,不过这很简单……谢谢大家的支持

    $cities = array('Ludhiana','Doraha','Jagraon','Moga','Phillaur','Ahmedgarh');
    
    $args = array(
    'post_type' => 'city_posts',
    'meta_query' => array(
        array(
            'key' => 'cty_name',
            'value' => $cities,
            'compare' => 'IN'
        )
      )
    );
    

    【讨论】:

      【解决方案2】:

      wp_query试试这个大小,我会推断你的密钥是cty_name

      $args = ( 'meta_key' => 'cty_name'); // this will get all posts with meta key cty_name
      $the_query = new WP_Query( $args );
      
      while ( $the_query->have_posts() ) :
          $the_query->the_post();
          echo '<li>' . get_the_title() . '</li>';
          the_content();
      endwhile;
      
      
      wp_reset_postdata();
      

      【讨论】:

      • 我想,我无法详细解释情况。要求是,如果(给定数组 $cities 中存在自定义字段 'cty_name' 的值){ 显示帖子; }
      • cty_name 你的 meta_key 有多个值吗?存储到它?
      • 'cty_name' 只是自定义字段的名称,要比较的多个值存储在 $cities 数组中..
      【解决方案3】:

      尝试使用这个

      <?php $punjab= array ('Ludhiana','Doraha','Jagraon','Moga','Phillaur','Ahmedgarh'); print_r($punjab); $pos = array_search('Ludhiana', $punjab); echo 'Phillaur found at: '.$pos; ?>
      

      【讨论】:

      • 谢谢您.. 但您只是给出了相反的解决方案.. 我想显示所有包含任何数组值(ludhiana、doraha、jagraon ..... & all)的帖子自定义字段。
      • 现在您从数组中获取搜索值,放入 if 条件并将搜索结果值与您的自定义字段值匹配,如果值匹配则不显示帖子
      • 但这在运行时效率极低,因为我在数组中有大约 100 个值和数千个要匹配的帖子...
      • 好的,让我检查一下它的效率/花费的时间,因为考虑到项目实施的水平,我希望它尽可能快。感谢您的支持...
      猜你喜欢
      • 2014-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      • 2014-12-26
      • 2014-07-31
      相关资源
      最近更新 更多