如何从外部可湿性粉剂网站检索特色帖子图像并将其显示为返回的链接?

时间:2013-02-04 作者:Matt

我有两个WP网站。我想从其中一个链接到另一个,检索帖子的特定特色图片,并显示链接到该帖子。

我正在使用此行(包含目标数据库的正确信息):

$mydb = new wpdb(\'username\',\'password\',\'database\',\'localhost\');
接下来我将如何检索和显示帖子缩略图?

我正在修补在其他地方找到的一行代码,如下所示:

$result = $mydb->get_results("select * from wp_posts where ID=\'1885\'");
其中,“1885”是一个样本岗位ID号。

在理想情况下,我会将其开发到可以作为小部件使用的程度。客户端只需从外部WP站点输入帖子ID号,小部件就会检索相应的缩略图,并将其显示为指向其他站点上相应帖子的链接。

我根本不懂PHP。到目前为止,我尽了最大的努力,只需操纵代码片段并将其应用到我的主题模板中。

3 个回复
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网友:Jordi Cabot

要获取帖子的特色图像(例如,示例中的帖子1885),您需要在wp\\U Posteta表中选中值为1885的条目作为帖子id,值为“\\u thumbnail\\u id”的条目作为meta\\u键,meta\\u值中的值将是类型为“attached”的帖子(在媒体库中上载帖子会创建每个图像文件所附加类型的帖子),其中包含有关用作特色图像的图像文件的信息

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 处理用户输入值时。

结束

相关推荐

How to get gallery images?

我在wordpress的帖子中上传了一些图片(例如,帖子#1和帖子#2)。现在我创建了一个新帖子(例如,帖子#3),在这篇帖子中我插入了WordPress 3.5图库,我没有在帖子#3中上传任何图像,而是使用了帖子#1和帖子#2中的图像。现在在帖子#3中,我想获得这些图片的链接,但我似乎无法获得。我正在使用以下代码:$attachments = get_children( array(\'post_parent\' => get_the_ID(), \'post_type\' => \'att