【问题标题】:Display custom post types if tags match company name如果标签与公司名称匹配,则显示自定义帖子类型
【发布时间】:2020-11-05 12:56:22
【问题描述】:

我目前有一个按日期过滤的事件帖子类型。这也需要由公司过滤。例如,只有 A 公司可以查看 A 公司的活动,B 公司可以查看 B 公司的活动,以此类推。我试图通过在用户字段中为公司名称设置一个自定义字段来匹配这一点,然后将该用户字段与帖子标签匹配,因此我将有一个名为“公司 A”、“公司 B”等的帖子标签.

这是我目前的代码:

@php

      $company = get_field('company');
      if ( wp_get_current_user() instanceof WP_User ) {
                $company = wp_get_current_user()->company;
      }
      $today= date('Ymd');

      $args = array(
           'post_type'         => 'event',
           'posts_per_page'    => -1,
           'order'             => 'ASC',
           'meta_query'        => array(
                'relation'     => 'AND',
                array(
                     'key'     => 'event_date',
                     'value'   => $today,
                     'compare' => '>='
                ),
                array(
                     'key'     => 'company',
                     'value'   => $company,
                     'compare' => '=',
                ),
           )
           );
           $query = new WP_Query($args);while($query->have_posts() ): $query->the_post();
           @endphp

【问题讨论】:

标签: wordpress post tags advanced-custom-fields


【解决方案1】:

类似这样的:

$args = array(
  'post_type'         => 'event',
  'posts_per_page'    => -1,
  'order'             => 'ASC',
  'tag' => $company,
  'meta_query'        => array(
      'relation'     => 'AND',
      array(
        'key'     => 'event_date',
        'value'   => $today,
        'compare' => '>='
      )
  )
);

【讨论】:

  • 这没有显示任何帖子,我尝试使用代码但仍然没有。
  • 您能否推荐另一个我可以尝试的解决方案。
猜你喜欢
  • 1970-01-01
  • 2015-11-02
  • 2023-04-04
  • 2016-07-16
  • 2012-05-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-20
  • 1970-01-01
相关资源
最近更新 更多