指定后期预览图像的大小(不是后期缩略图)

时间:2013-05-19 作者:user1255049

在我博客的主页上,我在标题中有一个部分,带有链接到特定类别的帖子缩略图(140x170px)。在下面的实际博客循环中,我也有帖子预览-一幅440x265px的图片,以及第一段左右的内容。

我想知道如何才能指定帖子预览图像的大小,而不影响a)帖子缩略图和b)查看完整帖子时显示的图像大小。

标题缩略图:

<div class="ootd-stream">
        <?php $new_query = new WP_Query( \'cat=your_category_id&showposts=2\' );
            if( $new_query->have_posts() ): while( $new_query->have_posts ): $new_query->the_post();

            the_post_thumbnail();

            endwhile;
            endif;
            wp_reset_query();
        ?>
        <p>outfit of the day</p>
    </div><!-- end ootd-stream -->
回路:

<div id="blog">
    <div class="preview">
        <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
        <div class="post-image">
            <img src="http://placehold.it/440x265" alt="cait barker post image" />
        </div><!-- end blog-image -->
        <div class="post">
            <h2><?php the_title() ;?></h2>
            <span class="post-preview">
                <?php the_excerpt(\'read more...\'); ?>
                <?php endwhile; else: ?>

                    <p>Sorry, no posts to list</p>

                <?php endif; ?>
            </span><!-- end post-preivew -->
            <p class="post-meta"><span style="font-family: amatic;">>></span>&nbsp;Posted on <?php the_date(\'M-d-y\'); ?>&nbsp;<span style="font-family: amatic;">>></span>&nbsp;<?php the_tags(\'tags: \', \', \', \'<br />\'); ?></p><!-- end post-meta -->
        </div><!-- end post -->
    </div><!-- end preview -->
</div><!-- end blog -->
这可能吗?实现这一目标的最佳方式是什么?

2 个回复
SO网友:Core

在这种情况下,我会add image size 在函数中。php,它在我的主题中注册新的图像大小,并获得重新调整大小的图像。

Example:

注册自定义图像大小(functions.php)

if ( function_exists( \'add_image_size\' ) ) { 
    add_image_size( \'custom-image\', 440, 265, true ); //(cropped)
}
获取自定义图像大小(functions.php)

function get_custom_image(){
    global $post, $posts;
    $args = array(
        \'post_type\' => \'attachment\',
        \'numberposts\' => 1,
        \'post_status\' => null,
        \'post_parent\' => $post->ID
    );

  $attachments = get_posts( $args );
     if ( $attachments ) {
        foreach ( $attachments as $attachment ) {          
           $found =  wp_get_attachment_image( $attachment->ID, \'custom-image\' );
           preg_match( \'@src="([^"]+)"@\' , $found , $match );
           $img = $match[1];
           return $img;
          }
     }else{
         echo \'image_not_available_path_.jpg\';
     }
}
使用内部循环

<div class="post-image">
        <img src="<?PHP get_custom_image(); ?>" alt="cait barker post image" />
    </div><!-- end blog-image -->
代码没有经过充分测试,您必须根据需要对其进行一些修改。

SO网友:Ravinder Kumar

使用add_image_size() 定义自定义图像大小

1.注册自定义图像大小(functions.php)

if ( function_exists( \'add_image_size\' ) ) { 
    add_image_size( \'custom-image\', 440, 265, true ); //(hard cropped)
}
2。以自定义图像大小获取图像,但帖子的特色图像除外(functions.php)

function ravs_get_custom_image( $featured_img ){
    global $post, $posts;
    $args = array(
        \'post_type\' => \'attachment\',
        \'numberposts\' => 1,
        \'post_status\' => null,
        \'post_parent\' => $post->ID,
        \'exclude\' => $featured_img
    );

  $attachments = get_posts( $args );
     if ( $attachments ) {
        foreach ( $attachments as $attachment ) {          
           $img =  wp_get_attachment_image( $attachment->ID, \'custom-image\' );
           return $img;
          }
     }else{
         echo \'Please attach images to your post\';
     }
}
3。您的代码可能如下所示

(Note:为了获得帖子附件,我们需要排除特色图片,这样它就不会出现两次

  //using in loop 
  <div class="post-image">
        <?php echo ravs_get_custom_image( get_post_thumbnail_id () ); ?>
  </div><!-- end blog-image -->
4。输出可能如下所示

<div class="post-image">
   <img width="440" height="265" src="http://localhost/wooplay.com/wp-content/uploads/2010/01/homepage-image-440x265.jpg" class="attachment-custom-image" alt="homepage-image">
</div><!-- end blog-image -->   
重要链接:

  1. get_posts()

  2. get_post_thumbnaiul_id()

  3. wp_get_attachment_image()

结束

相关推荐

Upload images - Theme options

我正在使用这个很棒的[图坦卡门+教程][1]创建主题选项页面。这对我来说很好,因为我需要通过css更改div的背景图像。它可以很好地与一个图像,但我不知道如何使它与2个图像?如果你能告诉我我做错了什么,那将是一个巨大的帮助?谢谢 <?php function wptuts_get_default_options() { $options = array(); $options[] = array(\'logo\' => \'\');