让代码更简单

WordPress 6.2 新增 search_columns 参数用于控制搜索查询

重要:本文最后更新于2023-04-06 20:17:47,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

wordpress主题或插件开发中,如果要查询某个字段下符合条件的文章,一般采用posts_search过滤器和手动写SQL的方法来实现。好消息是,以后不用这么麻烦了,wordpress提供了查询参数用来控制搜索字段。坏消息是,目前该方法受到限制,仅支持特定的几种字段,灵活性不够。

以前的实现方法,WP_Query::parse_query()方法的s参数搜索post_titlepost_excerpt, 和post_content字段

现在的方法

<?php
$my_query = new WP_Query(
    array(
        's'              => 'foo',
        'post_type'      => 'post',
        'search_columns' => array( 'post_excerpt' ),
    )
);

上面的示例将搜索在其摘要(post_excerp列)中包含 foo 的帖子,排除post_titlepost_content列。

目前,只允许使用默认的 post_titlepost_excerpt 和 post_content 列,但它可能会在 WordPress 的后续版本中得到扩展。

search_columns 参数的默认值为:array( 'post_title', 'post_excerpt', 'post_content' )

感觉很棒!可以赞赏支持我哟~

1 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐