我有两个WP网站。我想从其中一个链接到另一个,检索帖子的特定特色图片,并显示链接到该帖子。
我正在使用此行(包含目标数据库的正确信息):
$mydb = new wpdb(\'username\',\'password\',\'database\',\'localhost\');
接下来我将如何检索和显示帖子缩略图?
我正在修补在其他地方找到的一行代码,如下所示:
$result = $mydb->get_results("select * from wp_posts where ID=\'1885\'");
其中,“1885”是一个样本岗位ID号。
在理想情况下,我会将其开发到可以作为小部件使用的程度。客户端只需从外部WP站点输入帖子ID号,小部件就会检索相应的缩略图,并将其显示为指向其他站点上相应帖子的链接。
我根本不懂PHP。到目前为止,我尽了最大的努力,只需操纵代码片段并将其应用到我的主题模板中。
SO网友:BA_Webimax
每当我尝试链接两个站点时,我发现最有效、破坏性最小的方法就是使用WordPress XMLRPC API。http://codex.wordpress.org/XML-RPC_WordPress_API/Posts
在这种情况下,您可以使用内置的IXR\\u客户端库获取这些信息。这节省了大量编写代码和尝试混合数据库的时间。如果它们在某个时候出现在完全不同的服务器上。你仍然可以做这项工作。
差不多就是这个。。。
$client = new IXR_Client(XMLRPC_URL);
$client->timeout = 1;
$USER = XMLRPC_USER;
$PASS = XMLRPC_PASS;
$req = \'wp.getPost\';
$post_id = 112;
if (!$client->query( $req, $post_id, $USER, $PASS ))
{
die( \'Error while creating a new post\' . $client->getErrorCode() ." : ". $client->getErrorMessage());
}
$postcontent = $client->getResponse();
SO网友:brasofilo
我在localhost环境中执行了以下操作,效果良好:
$mydb = new wpdb( \'user\', \'password\', \'database\', \'localhost\' );
$query = "SELECT meta_value
FROM wp_postmeta
WHERE post_id = %d
AND meta_key = \'_wp_attachment_metadata\'
";
$p_id = 4;
$result = $mydb->get_row(
$mydb->prepare( $query, $p_id ),
ARRAY_A
) or wp_die( "Error: query failed." );
$result_array = unserialize( $result[\'meta_value\'] );
var_dump( $result_array );
die();
看起来不可能
$mydb->prefix
.
此外,请注意$wpdb->prepare
处理用户输入值时。