AJAX search posts and pages

时间:2011-12-18 作者:chifliiiii

我正在尝试制作一个插件,在这里我需要创建一个AJAX搜索。Im使用中描述的方法http://www.garyc40.com/2010/03/5-tips-for-using-ajax-in-wordpress/ 执行ajax调用。到目前为止一切都很好。

问题是不确定如何在我的ajax函数中检索搜索结果。

第一次尝试使用WP\\U查询,如下所示:

$query= new WP_Query( array( \'post_type\'=> \'any\',\'post_status\' => \'publish\',\'posts_per_page\' => \'8\',\'s\' => wp_specialchars($string)) );
这里的问题是,只要我将字符串传递给“s”,查询就会从post\\u type=>\'any更改为post\\u type=\'post\',这对我的目的没有好处。如果我没有通过“s”,一切都会很好。

然后,我还尝试创建自己的查询,如下所示:

$pageposts = $wpdb->get_results($wpdb->prepare("
            SELECT wp_posts.* 
            FROM wp_posts
            WHERE 1=1 aND wp_posts.post_type IN  (\'post\', \'page\', \'attachment\')
            AND (wp_posts.post_status = \'publish\') 
            AND (((wp_posts.post_title LIKE %s) OR (wp_posts.post_content LIKE %s)))
            ORDER BY wp_posts.post_date DESC LIMIT 0, 8
         ",array(\'%\'.$string.\'%\')));
            $wpdb->show_errors();
            $wpdb->print_error();
但我一直在想:

<div id=\'error\'>
            <p class=\'wpdberror\'><strong>WordPress database error:</strong> []<br />
            <code>SELECT option_value FROM wp_options WHERE option_name = &#039;aiosp_post_title_format&#039; LIMIT 1</code></p>
            </div>
有什么合适的方法来做我想做的事吗?我的插件由一个简单的表单组成,对于给定的ajax搜索,它应该显示十个标题=>hiperlink。

谢谢大家的帮助!

1 个回复
最合适的回答,由SO网友:gagn 整理而成

错误接缝来自其他来源,而不是您的查询。您不使用wp\\U选项表。所以也许跳过

$wpdb->show\\u errors()$wpdb->print\\u error();

会让事情变得更顺利。但可能在其他地方有错误。

要了解如何创建AJAX search helper的概述,可以查看以下内容:http://www.wpcodelab.com/archives/create-a-custom-ajax-search-for-wordpress

结束

相关推荐

用于通过AJAX更改帖子状态的自定义列

我目前正在尝试在页面管理屏幕上实现一个新的自定义列,它将允许我通过一个简单的切换链接更改不同页面的状态(已发布/挂起)。根据我收集的信息,我需要使用$post->post\\u status,“status”,在某种程度上,可能需要使用jQuery或其他工具进行切换。但我不知道如何将其与ajax结合在一起。我想在编辑帖子屏幕中查看默认的帖子状态修饰符会得到一些帮助,但我意识到它不是基于ajax的,我会在按下“更新”时更新状态(很明显,duh)。以下是我迄今为止的糟糕尝试:function wp_ch