这个query_posts()
首先在当前站点上评估数据库内的调用,并返回一个数组,该数组可能为空,因为它不是您希望查询的数据库。然后,将该立柱阵列传递到外部$hbldb->get_results()
调用,这会给您带来错误,因为它不是有效的MySQL查询语法。
如果要处理外部数据库上的原始SQL查询,则必须在调用中写入整个查询get_results()
... 例如,类似这样:
$results = $hbldb->get_results( "SELECT * FROM
{$hbldb->posts} posts
JOIN {$hbldb->postmeta} meta
ON meta.post_id = posts.ID
WHERE meta.meta_key =\'dbt_ffhpost\'
AND meta.meta_value = \'on\'",
ARRAY_A );
*(已编辑:添加了ARRAY\\u参数以使此查询返回数组。)*
我认为一定有更好的方法来实现这一点,但我还不能完全理解如何创建与辅助wpdb对象相关的新WP\\U查询对象,或者即使这是可能的,所以我能提供的最好帮助是原始SQL。
一旦得到这些结果,就可以这样循环:
<?php
if ($results) :
foreach ($results as $post) :
echo \'<h2>\'.apply_filters( \'the_title\', $post->post_title ).\'</h2>\';
echo \'<h4>\'.apply_filters( \'the_author\', $post->post_author ).\'</h4>\';
echo apply_filters( \'the_content\', $post->post_content );
endforeach; endif;
?>
请注意,使用此方法很难从第二次WP安装中获得更高级的数据。我甚至没有处理获取永久链接等问题。如果您需要从其他WP安装中获取更多数据,您最好从该站点设置RSS提要,并使用插件或basic在第一个站点上显示该RSS提要中的项目
fetch_feed()
密码