2012-04-02 128 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 

我希望這個解決方案將是有用的人。

相關問題