现在,我创建了一个小部件,返回的帖子在inputbox中具有相同的标记enter,我使用WP\\u查询,但我有一个问题。当我在输入框中输入带空格的单词时,不会返回任何结果,但当输入单词时,没有空格,它会正常工作
这是我的输入框
<input type="text" class="widefat" id="<?php echo esc_attr($this->get_field_id(\'tagCategory\')) ?>"
name="<?php echo esc_attr($this->get_field_name(\'tagCategory\')) ?>"
value="<?php if (isset($tagCategory)) echo esc_attr($tagCategory); ?>"/></p>
这是我的问题
$wpbp = new WP_Query(array(
\'post_type\' => \'post\',
\'tag\' => $tagCategory,
\'posts_per_page\' => $numberOfPosts,
\'orderby\' => \'id\',
\'order\' => \'ASC\'
)
);
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
这是正确的行为。这个问题的原因很简单。。。
当您使用tag
参数输入WP_Query
, 然后,它搜索具有给定slug(URL中使用的字符串)的标记,因此不应该有空格。WP\\U查询中有7个用于段塞搜索的参数:
标记(字符串)-使用标记slug
标记\\u id(int)-使用标记id。标记\\u和(数组)-使用标记id标记(数组)-使用标记ID标记\\uuu not\\u in(数组)-使用标记ID标记slug\\uu和(数组)-使用标记slug标记slug\\uu in(数组)-使用标记slug正如您所看到的,上面的任何一项都不以名称作为价值。如果要搜索标记名,则应使用tax_query
:
...
\'tax_query\' => array(
array( \'taxonomy\' => \'post_tag\', \'field\' => \'name\', \'terms\' => $value )
)