2

准备类似帖子的功能面临 wp_query 的问题。我的参数:

 $args = array(
  'post_type' => 'post',
  'post__not_in' => array(pll_get_post($post->ID,'ru'),pll_get_post($post->ID,'uk')),
  'posts_per_page' => $count,
  'caller_get_posts' => 1,

 );

 if (!empty($position_array) || !empty($cities_array) || !empty($ages_array)) {
  $args['tax_query'] = array(
   'relation' => 'OR',
   array(
    'taxonomy' => 'position',
    'field' => 'slug',
    'terms' => $position_array,
   ),
   array(
    'taxonomy' => 'city',
    'field' => 'slug',
    'terms' => $cities_array,
   ),
   array(
    'taxonomy' => 'age',
    'field' => 'slug',
    'terms' => $ages_array,
   ),
   array(
    'taxonomy' => 'post_tag',
    'field' => 'slug',
    'terms' => $tag_array
   )
  );
 };
 print_r($args);
 $my_query = new wp_query($args);

因此,它会通过三种自定义分类法或标签之一查找相似的帖子,但必须绕过不同语言的当前帖子(Polylang 插件)。

如果当前语言是默认 ('ru') 功能效果很好,但如果我将语言更改为 'uk',此功能会给我类似的帖子,其中一个是当前帖子。

'post__not_in' => array(pll_get_post($post->ID,'ru'),pll_get_post($post->ID,'uk')),

- 这会返回正确的 id(例如 Array ( [0] => 331 [1] => 451 ) )。为什么 wp_query 不绕过不同语言的当前帖子?

4

0 回答 0