如何根据帖子标题中的关键字创建自定义查询?

时间:2012-04-26 作者:Gaboo

我需要一些关于关键字自定义查询的帮助。

我将关键字发送到我的页面,在那里我想列出那些post\\u title包含我发送的关键字的帖子。

我的问题如下:

$q = \'SELECT guid, post_content, post_title, post_parent, post_type FROM wp_posts WHERE (post_title REGEXP \'".$keyword."\') AND post_type="attachment"\';
如何将其实现到Wordpress中并使其工作?

我见过很多鹬,但我真的很难做到这一点。

我找到了一个看起来不错的代码,但缺少显示部分,请参见问题末尾。

global $wpdb;
// If you use a custom search form
$keyword = sanitize_text_field( $_REQUEST[\'mykey\'] );
// If you use default WordPress search form
// $keyword = get_search_query();
$keyword = "%{$keyword}%";
// Search in all custom fields
$post_ids_meta = $wpdb->get_col( $wpdb->prepare( "
SELECT DISTINCT post_id FROM {$wpdb->postmeta}
WHERE meta_value LIKE \'%s\'
", $keyword ) );
// Search in post_title and post_content
$post_ids_post = $wpdb->get_col( $wpdb->prepare( "
SELECT DISTINCT ID FROM {$wpdb->posts}
WHERE post_title LIKE \'%s\'
OR post_content LIKE \'%s\'
", $keyword, $keyword ) );
$post_ids = array_merge( $post_ids_meta, $post_ids_post );
// Query arguments
$args = array(
\'post_type\' => \'post\',
\'post_status\' => \'publish\',
\'post__in\' => $post_ids,
);
$query = new WP_Query( $args );
if ( $query->have_posts() ): while ( $query->have_posts() ) : $query->the_post();
// Do loop here
endwhile; endif;

2 个回复
SO网友:Rarst

食品法典委员会有一篇关于这方面的内容相当广泛的文章-Displaying Posts Using a Custom Select Query.

简而言之:

// retrieve posts using our custom SQL (note that you should query * rather than pick fields)
$posts = $wpdb->get_results($query, OBJECT);

// this is global variable that WP functions rely on for output
global $post;

// loop
foreach($posts as $post) {

    // get global stuff filled current post
    setup_postdata($post);

   // use template tags and profit
   the_title();
}

// cleanup after ourselves
wp_reset_postdata();

SO网友:neak

您可以用这样的关键字查询帖子;

<?php // Post Query
$args=array(
\'s\'      => $keyword, 
);
?>
<?php query_posts($args); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

结束

相关推荐

Update Loop with Form

我有一个照片库,我正在开发使用WP作为内容管理手段。我非常依赖一些jQuery插件来管理UI样式和操作(通过排序)。我的问题是有太多该死的帖子!737,每个都有一个缩略图,显示在页面上。这不可避免地会使任何浏览器陷入困境。尤其是排序插件在对图像进行排序时会“克隆”图像。帖子使用Wp\\u查询脚本构建;<?php $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; $post_per_page =