我使用posts\\u join和posts\\u where过滤器在查询中包含自定义表。
this page 说我应该“使用WordPress所做的一切搜索帖子标题字段来搜索我的自定义表字段(而不是试图复制WordPress相当复杂的逻辑)”
。。。但是他们提供的代码不起作用。替换未找到任何内容,因此未添加任何内容。
$where = preg_replace( "/\\(\\s*post_title\\s+LIKE\\s*(\\\'[^\\\']+\\\')\\s*\\)/", "(post_title LIKE $1) OR (wp_mytable.entry LIKE $1)", $where );
我使用$wp\\u query->request来显示查询,发现关键字被包装在校验和中。它们是自动生成的,每次都不同。
“从wp\\u posts中选择SQL\\u CALC\\u FOUND\\u ROWS wp\\u posts.ID在wp\\u posts.ID=wp\\u xxxx\\u entries.post\\u ID,其中1=1和(((wp\\u posts.post\\u标题,如{B12C1EAFDCF04FCB64989A2D3879BD84B16FBFFC9CB81Dee32E0FCE268D5a}关键字{B12C1EAFDCF04FCB64989AD389BD84B16FFC9CB81Dee32FCE268D5a D5a})或(wp\\u posts.post\\u摘录LIKE\'{b12c1eafdcf04fcb64989a2ad3879bd84b16fbffc9cb81dee32e0fce2cc68d5a}关键字{b12c1eafdcf04fcb64989a2ad3879bd84b16fbffc9cb81dee32e0fce2cc68d5a}或(wp\\u posts.post\\u内容,如{b12c1eafdcf04fcb64989a2ad3879bd84b16fbffc9cb81dee32e0fce2cc68d5a}关键字989A2AD3879BD84B16FBFFC9CB81DEE32E0FCE2CC68D5A})和wp\\U岗位。post\\u按wp\\u posts输入(\'post\',\'page\',\'attachment\')和(wp\\u posts.post\\u status=\'publish\'或wp\\u posts.post\\u author=1,wp\\u posts.post\\u status=\'private\')或(wp\\u xxxx\\u entries.entry,如\'\'%keyword%\')顺序。发布\\u标题,如“{b12c1eafdcf04fcb64989a2ad3879bd84b16fbffc9cb81dee32e0fce2cc68d5a}关键字{B12C1EAFDCF04FCB64989AD3879BD84B16FBFFC9CB81DEE32E0FCE2CC68D5A}”,描述wp\\u帖子。post\\u日期描述限制0,10“
我需要复制这个吗?如果是,怎么做?