Php WordPress将原始SQL查询转换为WP_查询
我目前正在制作一个插件,需要一些关于某个主题的帮助。我想使用所有的循环,但需要一个原始的sql查询Php WordPress将原始SQL查询转换为WP_查询,php,wordpress,Php,Wordpress,我目前正在制作一个插件,需要一些关于某个主题的帮助。我想使用所有的循环,但需要一个原始的sql查询 /** * Get all the posts neccessarry * return array<WP_Post> returns an array of all constructed WP_Posts */ public static function get_posts($o){ global $wpdb; $posts = array();
/**
* Get all the posts neccessarry
* return array<WP_Post> returns an array of all constructed WP_Posts
*/
public static function get_posts($o){
global $wpdb;
$posts = array();
$tax= $o['tax'];
$q=$wpdb->get_results(
"SELECT * FROM {$wpdb->posts} p
LEFT OUTER JOIN
(SELECT * FROM {$wpdb->postmeta}
WHERE meta_key='/$p/_faq_prio'
GROUP BY post_id
) AS pm
ON ( p.ID = pm.post_ID ),
{$wpdb->term_relationships} t
WHERE p.post_type='faq' AND t.object_id = p.ID AND t.term_taxonomy_id = '{$tax}'
ORDER BY pm.meta_value ASC, ISNULL(pm.meta_key)", OBJECT_K);
foreach ($q as $p) {
array_push($posts, get_post($p) );
}
return $posts;
}
我有以下问题:
get_post是否基于它所包含的数据构造WP_post对象
接收或提取post_id参数并查询
又是数据库?我无法从列表中找到此行为
参考指南。
如何基于所有Posts对象初始化WP_查询对象我应该手动设置postcount等所有参数,还是有更好的方法?
首先,修复你的代码。既然你有:foreach$q作为$p,你应该在以后得到$p而不是$p时使用$p来确定代码,你可能知道第二个或第一个问题的答案吗?首先修复你的代码。既然你有:foreach$q作为$p,你应该在以后得到$p但没有得到$p时使用$p来确定代码,你可能知道第二个或第一个问题的答案吗?