起初,我看到双引号和单引号都混在一起了。这确实修复了我看到的一些问题,但我终于有时间测试您编写的代码。
第一步,我用var_dump
在…上$recent_posts
以确保获得可用值。
接下来,我重复调用每个变量,以确保我知道生成了什么。我发现,正如詹姆斯·巴雷特(JamesBarrett)所说,这句话并没有调用正确的信息:
$post_thumbnail_id = get_post_thumbnail_id($post->ID);
因此,我使用了@james barrett的建议,并将其改为:
$post_thumbnail_id = get_post_thumbnail_id($recent["ID"]);
这样就可以得到正确的ID。
在我拨打正确的信息后url()
部分填充正确,但下一个问题是调用正确的大小。
我做了一些研究,发现了文件是如何保存在“上传”文件夹中的,然后继续搜索一种访问功能的方法,该功能允许我访问标记为“缩略图”的功能。我发现的解决方案可能不适用于其他尺寸,或者你可以在这之后做更多的研究,但我改变了$post_thumbnail_url
变量为:
$post_thumbnail_url = wp_get_attachment_thumb_url( $post_thumbnail_id );
这导致150x150映像被调用。
说到底,我把你的broken code 上述工作代码:
<?php
$args = array( \'numberposts\' => \'2\' );
$recent_posts = wp_get_recent_posts( $args );
foreach( $recent_posts as $recent ){
$post_thumbnail_id = get_post_thumbnail_id($recent["ID"]);
$post_thumbnail_url = wp_get_attachment_thumb_url( $post_thumbnail_id );
echo \'<div class="post">\';
echo \'<div class="post_thumb" style="background-image:url(\\\'\'.$post_thumbnail_url.\'\\\')"></div>\';
echo \'<div class="content"\';
echo \'<h2 class="post_title">\';
echo \'<a href="\'.get_permalink($recent["ID"]).\'" title="\'.$recent["post_title"].\'" >\'.$recent["post_title"].\'</a>\';
echo \'</h2>\';
echo \'<p class="post_excerpt">\'.$recent["post_excerpt"].\'</p>\';
echo \'</div>\'; //content
echo \'</div>\'; //.post
}
?>
注意:我将url()调整为url(“”),因为我的一些旧浏览器需要单引号,但我怀疑您可以删除它们。