在Wordpress中显示最近帖子的精选图片?

时间:2016-02-07 00:31:16

标签: php wordpress wordpress-plugin

我为我的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' ) );

?>

我需要做些什么来显示特色图片以及每个被调用帖子的相应链接?

2 个答案:

答案 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');