如何将wordpress数据库中的缩略图转换为外部页面

时间:2012-04-02 10:10:28

标签: php wordpress

我有一个wordpress安装。我想做的是直接从数据库中的wordpress表调用数据,并将其显示在其他一些非wordpress页面上。

目前我已成功从 wp_posts 表中提取最近的三篇帖子。但是,我无法在架构中看到存储缩略图(或特色图像)的位置。

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

提前致谢!

3 个答案:

答案 0 :(得分:17)

一切都在你的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”将给出url meta_key =“_ wp_attachment_metadata”将提供大小等元信息

希望这会有所帮助

答案 1 :(得分:3)

有一种方法可以在一个选择查询中使用其他帖子数据来获取缩略图网址。

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

$('.usr-edit').click(function() {
    var a = $(this).prev().prev().prev().prev().prev().prev().text();

    alert(a);
});

然后你可以这样使用它:

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 ;

我希望这个解决方案对某些人有用。

答案 2 :(得分:0)

最适合我的查询是:

select meta_value FROM wp_postmeta
WHERE meta_key='_wp_attached_file' and post_id =  
  (SELECT meta_value FROM wp_postmeta 
  WHERE post_id=$postId AND 
  meta_key='_thumbnail_id' )  

其中$ postId是帖子的ID。注意:您需要将完整路径添加到您的上传文件夹中