尝试修改插件中的自定义搜索功能以搜索POSTMETA表中的关键字以及POSTS表

时间:2015-03-12 作者:GRRRRwordpressgrrr

我正在尝试修改一个插件,该插件搜索posts表,并让它也搜索POSTETA表中的meta\\u值。

原始代码为:

if (!($index_page = $wpdb->get_row("SELECT ID AS id, post_name AS slug FROM {$wpdb->posts} WHERE (post_content LIKE \'%[" . W2DC_MAIN_SHORTCODE . "]%\' OR post_content LIKE \'%[" . W2DC_MAIN_SHORTCODE . " %\') AND post_status = \'publish\' AND post_type = \'page\' LIMIT 1", ARRAY_A)))
到目前为止,我的代码是:

if (!($index_page = $wpdb->get_row("SELECT {$wpdb->posts}.ID AS id, {$wpdb->posts}.post_name AS slug FROM {$wpdb->posts} INNER JOIN {$wpdb->postmeta} ON ({$wpdb->posts}.ID = {$wpdb->postmeta}.post_id) WHERE 1 = 1 AND (({$wpdb->postmeta}.meta_value LIKE \'%[" . W2DC_MAIN_SHORTCODE . "]%\') OR  ({$wpdb->posts}.post_content LIKE \'%[" . W2DC_MAIN_SHORTCODE . "]%\')) AND {$wpdb->posts}.post_status = \'publish\' AND {$wpdb->posts}.post_type = \'page\' AND (({$wpdb->postmeta}.metakey = \'_content_field_6\') OR ({$wpdb->postmeta}.meta_key = \'_content_field_11\'))LIMIT 1", ARRAY_A)))
但它不起作用,我不明白为什么。。。感谢您的帮助。

1 个回复
SO网友:TheDeadMedic

你有一个metakey 应该是meta_key.

结束

相关推荐

Cannot see theme in my search

我刚刚在自己的Wordpress上安装了一个新的Wordpress。com Web空间。我想安装\'Hemingway Rewritten\' 主题,但我的Wordpress中的搜索引擎似乎没有列出此主题。相反,搜索“海明威”会返回一个类似主题的旧版本,名为“海明威”Hemingway\'.为什么我看不到主题的更新版本?今天早上我安装了Wordpress作为一个新的安装,所以我看不出为什么我会收到一个过时版本的Wordpress架构(我使用的是4.0)。