我在Wordpress外部的PHP脚本中使用此查询来检索带有特色图像的条目
SELECT ( SELECT guid FROM wp_posts WHERE id = m.meta_value ) AS url
FROM wp_posts p, wp_postmeta m
WHERE p.post_type = 'post'
AND p.post_status = 'publish'
AND p.id = m.post_id
AND m.meta_key = '_thumbnail_id'
......它运作正常。
但是这样我获得了全尺寸图片网址。我需要检索这些图像的“中等”或“缩略图”大小。
¿有任何方法可以达到这个目的吗?
答案 0 :(得分:2)
这是回复:
SELECT TITRE,DESCR,URL, CONCAT(LEFT(IMG, LENGTH(IMG) - LOCATE('.',
REVERSE(IMG))),'-150x150.',SUBSTRING_INDEX(IMG, '.', -1)) AS IMG FROM (
SELECT
p.`post_title` AS TITRE,
(SELECT `meta_value` FROM wp_postmeta WHERE `post_id` = p.`ID` and `meta_key`='_yoast_wpseo_metadesc') AS DESCR,
p.`guid` AS URL,
(SELECT `guid` FROM wp_posts WHERE id = m.meta_value) AS IMG
FROM wp_posts p, wp_postmeta m
WHERE p.post_type = 'post'
AND p.post_status = 'publish'
AND p.id = m.post_id
AND m.meta_key = '_thumbnail_id') TT
where DESCR is not null
答案 1 :(得分:2)
以下查询改编自上面的问题,解决了我的特殊问题,即只抓住最后四个帖子及其特色图片。加上post_name,我可以从中构建一个漂亮的URL
SELECT title, post_name, date, content, CONCAT(LEFT(image, LENGTH(image) - LOCATE('.', REVERSE(image))),'-150x150.',SUBSTRING_INDEX(image, '.', -1)) AS image
FROM (
SELECT
p.post_title AS title,
p.post_status AS 'status',
p.post_date AS date,
p.post_content AS content,
p.post_name AS post_name,
(SELECT `guid` FROM wp_posts WHERE id = m.meta_value) AS image
FROM wp_posts p, wp_postmeta m
WHERE p.post_type = 'post'
AND p.post_status = 'publish'
AND p.id = m.post_id
AND m.meta_key = '_thumbnail_id'
ORDER BY date DESC
LIMIT 4
) TT
当然,从那里可以很容易地使用以下内容进行摘录:
for($i=0; $i< $num_rows; $i++){
$post_content = mysql_result($query_result, $i, "content");
$post_excerpt = substr($post_content, 0, 90);
$post_permalink = $post_url . mysql_result($query_result, $i, "post_name");
echo $post_permalink; //etc
}
答案 2 :(得分:1)
你可以尝试这个查询缩略图大小,对于中等图像我不知道正确的大小,如果你知道维度,然后使用SUBSTRING_INDEX制作自定义别名,使用CONCAT获取文件的扩展名然后我已将{{3}}功能与post_name
列和尺寸+扩展名一起使用,类似地,您可以为中等大小执行此操作。因为所有上传到上传文件夹,您可以分析生成的大拇指名称是{{ 1}}所以从这个逻辑中你的拇指得到尺寸的名称,帖子的附件存储在post_meta中,邮政编码和密钥名称 _wp_attachment_metadata 存储有关不同文件大小的所有信息但是在序列化的形式中,所以在mysql查询中你无法反序列化数据
original attachment name + -150x150 or other dimensions
此查询适用于我获取大小为150 * 150的缩略图,希望它也适用于您