如何在首页上限制每个帖子只有一张图片?

时间:2011-05-25 作者:kurima

我在wordpress上的大多数帖子每篇都有6到5张图片。我的问题是,如果我发布了5篇带有新图片的新帖子,那么我的主页上总共会显示25幅图片。

我想限制“主页”上的每篇文章1张图片,全部内容(假设总共有6张图片,它将在一个页面上)。

有人知道怎么做吗??

或者任何可以限制主页上图像的图像摘录插件?

2 个回复
SO网友:MartinJJ

我在你的主题函数中使用这个。php

// function (image toolbox) for all images
 function attachment_toolbox($size = thumbnail) { 

if($images = get_children(array(
    \'post_parent\'    => get_the_ID(),
    \'post_type\'      => \'attachment\',
    \'numberposts\'    => 1, // show all images is -1
    \'post_status\'    => null,
    \'post_mime_type\' => \'image\',
))) {
    foreach($images as $image) {
        $attimg   = wp_get_attachment_image($image->ID,$size);

        $postlink = get_permalink($image->post_parent);


        echo \'<a href="\'.$postlink.\'">\'.$attimg.\'</a>\';

    }
}
}

在你的循环中调用

<div class="around_image"> 
  <?php attachment_toolbox(\'medium\'); ?>
</div><!-- / around_image -->
这是直接从我的网站我现在正在工作,改变“中”的图片大小,你想要的,“缩略图”,“中”,“大”或“全尺寸”

有关详细信息go here

SO网友:kaiser

/**
 * @author: wpreceipes
 * @link: [1]: http://www.wprecipes.com/how-to-get-the-first-image-from-the-post-and-display-it
 */
function wpse18215_catch_that_image() 
{
    global $post, $posts;
    $first_img = \'\';
    ob_start();
    ob_end_clean();
    $output = preg_match_all( \'/<img.+src=[\\\'"]([^\\\'"]+)[\\\'"].*>/i\', $post->post_content, $matches );
    $first_img = $matches[1][0];

    //Defines a default image
    if( empty( $first_img ) )
    { 
        $first_img = \'/images/default.jpg\';
    }
    return $first_img;
}
示例:

echo catch_that_image();

或:

/**
 * @author: Marcelo Mesquita
 * @link: http://marcelomesquita.com/
 * @param (string) $size - valid: \'thumbnail\', \'medium\', \'large\' or \'full_size\'
 * @param (string) $add - any additional attributes for the html-img tag
 */
function wpse18215_the_thumb( $size = \'medium\', $add = \'\' )
{
    global $wpdb, $post;

    $thumb = $wpdb->get_row( 
        "SELECT ID, 
         post_title 
         FROM {$wpdb->posts} 
         WHERE post_parent = {$post->ID} 
         AND post_mime_type 
         LIKE \'image%\' 
         ORDER BY menu_order"
    );

    if( ! empty( $thumb ) )
    {
        $image = image_downsize( $thumb->ID, $size );
        return "<img src=\'{$image[0]}\' alt=\'{$thumb->post_title}\' {$add} />";
    }
}
示例:

echo wpse18215_the_thumb( \'medium\', \'class="alignleft" width="200" height="175"\' );

<人力资源>Note: 无论如何,您都需要将模板中的调用包装到条件语句中:

if ( is_home() || is_front_page() ) { /* place the function call here */ }

结束

相关推荐

Can plugins become obsolete?

我认为WordPress插件是由第三方制作的。插件是否必须与WordPress升级保持同步?插件会过时吗?如果它们确实过时了,比如Linkedin共享按钮、推特推特按钮和类似Facebook的按钮的插件,切换到不同的插件会导致喜欢/推特/共享的数量丢失吗?如果插件可能会过时,那么它会发生吗?或者插件通常是最新的?或者他们是开源的,所以其他人会让他们保持最新?(正如你可能猜到的,我不是程序员。)