gpt4 book ai didi

wordpress - WP_Query 过滤器自定义分类法或自定义 post_type 中的关键字搜索

转载 作者:行者123 更新时间:2023-12-05 03:06:31 24 4
gpt4 key购买 nike

我想知道是否可以按帖子标题或自定义分类过滤。

例如:我搜索“human”,我想显示帖子标题中包含单词“human”和类别“human”的帖子。

-如果“人类”类别不存在且存在标题为“人类”的帖子,则不排除帖子

-如果存在“人类”类别并且存在标题为“人类”的帖子,则不排除帖子(检索所有包含“人类”一词的帖子和所有类别为“人类”的帖子)

最佳答案

我认为应该试试这个过滤器 posts_where

方法一:

在functions.php文件中

  <?php
add_filter( 'posts_where', 'title_like_posts_where', 10, 2 );
function title_like_posts_where( $where, &$wp_query ) {
global $wpdb;
if ( $post_title_like = $wp_query->get( 'post_title_like' ) ) {
$where .= ' AND ' . $wpdb->posts . '.post_title LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_like ) ) . '%\'';
}
return $where;
}
?>

然后像这样传递参数:

$args = array(
'post_title_like' => $str
);
$res = new WP_Query($args);

方法二:

    $mypostids = $wpdb->get_col("select ID from $wpdb->posts where post_title LIKE '".$str."%' ");

$args = array(
'post__in'=> $mypostids,
'post_type'=>'post',
'orderby'=>'title',
'order'=>'asc'
);

$res = new WP_Query($args);

while( $res->have_posts() ) : $res->the_post();
// put your logic here
endwhile;

关于wordpress - WP_Query 过滤器自定义分类法或自定义 post_type 中的关键字搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49210345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com