2012-04-02 131 views
1

我有一个wordpress安装。我想要做的是直接从数据库中的wordpress表中调用数据,并在其他一些非wordpress页面上显示它们。如何从一个wordpress数据库获得缩略图到外部页面

目前我已成功从wp_posts表中拉出三个最近的帖子。然而,我不能在模式中存储发布缩略图(或特色图像)的位置。

我该如何获得精选图片或缩略图? (要么!)

在此先感谢!

回答

13

一切都在你wp_postmeta表

将查询某个职位ID的缩略图ID(你需要有你的帖子的ID)。

SELECT * FROM 'tksql_postmeta' WHERE post_id=1 AND meta_key='_thumbnail_id' 

想象返回的拇指id为:600

SELECT * FROM 'tksql_postmeta' WHERE post_id=600 

会给你两行: meta_key = “_ wp_attached_file” 将给网址 meta_key = “_ wp_attachment_metadata” 将会给像大小等元信息

希望这有助于更好

+0

这是如何从wordpress中获取缩略图。我期望通过直接查询数据库从外部(非wordpress)网站找到它。 – Adam 2012-04-03 13:14:17

+0

编辑答案,希望这有助于 – JohnWolf 2012-04-03 22:19:32

+0

最简单的方法是查询数据库的拇指url,然后将其放入一个php var并在html中调用它。 JohnWolf 2012-04-03 22:24:52

2

有一种方法可以选择了在其他职位数据缩略图网址e选择查询。

您需要一次性创建特殊的功能:

DELIMITER $$ 
CREATE FUNCTION `get_post_thumbnail`(`incoming_post_id` INT) 
    RETURNS TINYTEXT 
    LANGUAGE SQL 
    NOT DETERMINISTIC 
    CONTAINS SQL 
    SQL SECURITY DEFINER 
    COMMENT '' 
BEGIN 
    set @src:=null; 
    set @thumb_id:=null; 

    SELECT 
     meta_value into @thumb_id 
    FROM 
     wp_postmeta 
    WHERE 
     `post_id` = incoming_post_id 
     AND 
     meta_key='_thumbnail_id'; 


    SELECT 
     guid into @src 
    FROM 
     wp_posts 
    WHERE 
     ID = @thumb_id; 


    return @src; 

END 
$$ 
DELIMITER ; 

然后你就可以使用这种方式:

select get_post_thumbnail(wp_posts.ID) as "thumbnail_url" from wp_posts where wp_posts.ID = 1 

我希望这个解决方案将是有用的人。

相关问题