我为我的Wordpress网站创建了一个非常简单的插件,通过使用短代码([recentposts])显示我最近帖子的链接。该插件到目前为止工作,但我正在努力寻找一种方法来显示每个帖子链接的<div>
标签中调用的每个帖子的特色图片。
你能告诉我怎么做这件事。我的插件的代码如下:
<?php
/*
Plugin Name: Blog Display Blocks
Description: Plugin to display blog posts in block with shortcode
Author: Chris Brosnan
*/
function RecentPosts() {
$recent_posts = wp_get_recent_posts(6);
echo '<div class="blog-contain">';
foreach( $recent_posts as $recent ){
echo '<div class="third-box"><a href="' . get_permalink($recent["ID"]) . '">' . $recent["post_title"].'</a> </div> ';
}
};
echo '</div>';
add_shortcode('recentposts', 'RecentPosts');
register_activation_hook( __FILE__, array( 'Blogdisplay', 'plugin_activation' ) );
register_deactivation_hook( __FILE__, array( 'Blogdisplay', 'plugin_deactivation' ) );
?>
我需要做些什么来显示特色图片以及每个被调用帖子的相应链接?
答案 0 :(得分:1)
通过反复试验和一些进一步的搜索,我现在找到了解决问题的方法。
<?php
/*
Plugin Name: Blog Display Blocks
Description: Plugin to display blog posts in block with shortcode
Author: Chris Brosnan
*/
add_image_size( 'featured-thumb', 300, 200, true ); // (cropped)
function RecentPosts() {
$rPosts = new WP_Query();
$rPosts->query('showposts=6');
while ($rPosts->have_posts()) : $rPosts->the_post(); ?>
<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'featured-thumb' ); ?>
<?php $image_url = $image[0]; ?>
<a href="<?php the_permalink(); ?>">
<div class="third-box" style="background-image: url(<?php echo $image_url; ?>);">
<p><?php the_title();?></p>
</div>
</a>
<?php endwhile;
wp_reset_query();
};
add_shortcode('recentposts', 'RecentPosts');
register_activation_hook( __FILE__, array( 'Blogdisplay', 'plugin_activation' ) );
register_deactivation_hook( __FILE__, array( 'Blogdisplay', 'plugin_deactivation' ) );
?>
答案 1 :(得分:0)
在您的代码中使用wp_get_recent_posts(),您将获得帖子ID($ recent [&#34; ID&#34;]),然后您可以使用以下任何一种, 只需在您要显示特色图片的代码中添加此内容即可。
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $recent["ID"] ), 'single-post-thumbnail' );
or can use
echo get_the_post_thumbnail($recent["ID"], 'featured-image');