我有一个wordpress安装。我想做的是直接从数据库中的wordpress表调用数据,并将其显示在其他一些非wordpress页面上。
目前我已成功从 wp_posts 表中提取最近的三篇帖子。但是,我无法在架构中看到存储缩略图(或特色图像)的位置。
如何获得精选图片或缩略图? (要么会做!)
提前致谢!
答案 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。注意:您需要将完整路径添加到您的上传文件夹中