防止旧缩略图调整大小?

时间:2012-04-18 01:37:52

标签: php image

如何阻止第一个帖子调整大小?理想情况下,无论后期订单如何,所有图像都应为590像素宽。

This is the live site.

在我看来,这段代码与它有关,但无论我将宽度更改为什么,问题仍然存在。

add_theme_support( 'post-thumbnails' );  
set_post_thumbnail_size( 590, 275, true ); // 590 pixels wide by 275 pixels tall, hard crop mode
add_image_size( 'following-post-thumbnails', 250, 200, true ); // 250 pixels wide by 200 pixels tall, hard crop mode

完整的functions.php

<?php


if ( ! isset( $content_width ) )
    $content_width  = '590';


/**
* Add Menu Support
**/

add_theme_support('automatic-feed-links');
register_nav_menu('main', 'Main Nav');

/**
* Add editor style - recommended according to Theme-Check
**/
add_editor_style('editor-style.css');


/**
* Add custom background with custom background colour fix 
* as shown here: http://devpress.com/blog/custom-background-fix-for-theme-developers/
**/

add_custom_background( 'grisaille_custom_background_callback' );

function grisaille_custom_background_callback() {

    /* Get the background image. */
    $image = get_background_image();

    /* If there's an image, just call the normal WordPress callback. We won't do anything here. */
    if ( !empty( $image ) ) {
        _custom_background_cb();
        return;
    }

    /* Get the background color. */
    $color = get_background_color();

    /* If no background color, return. */
    if ( empty( $color ) )
        return;

    /* Use 'background' instead of 'background-color'. */
    $style = "background: #{$color};";

?>
<style type="text/css">body { <?php echo trim( $style ); ?> }</style>
<?php

}

/**
* Add custom header
**/

define('HEADER_TEXTCOLOR', '334759');
define('HEADER_IMAGE', ''); // %s is the template dir uri
define('HEADER_IMAGE_WIDTH', 960); // use width and height appropriate for your theme
define('HEADER_IMAGE_HEIGHT', 200);

// gets included in the site header

function grisaille_header_style() {

    ?><style type="text/css">
        #site-title {
            background: url(<?php header_image(); ?>) 0 0 no-repeat;
            min-height: <?php echo HEADER_IMAGE_HEIGHT; ?>px;
            margin: 20px 0;          
        }
        #site-title h1 a {
            color:#<?php header_textcolor(); ?> ;
            min-height: <?php echo HEADER_IMAGE_HEIGHT; ?>px;
        }
        #site-description {
            color:#<?php header_textcolor(); ?> ;
        }
        <?php if ( 'blank' == get_header_textcolor() ) { ?>
        #site-title h1 {
            padding: 0;
        }
        #site-title h1 a  {
            display:block;
            text-indent:-99999px;
        }
        #site-description {
            display: none;
            text-indent:-99999px;
        }

<?php } ?>
</style>
<?php
}
// gets included in the admin header
function grisaille_admin_header_style() {
    ?>
        <style type="text/css">
            @font-face {
            font-family: 'WoodenNickelBlackRegular';
    src: url('<?php echo get_template_directory_uri(); ?>/type/WOODENNI-webfont.eot?') format('eot'),
         url('<?php echo get_template_directory_uri(); ?>/type/WOODENNI-webfont.woff') format('woff'),
         url('<?php echo get_template_directory_uri(); ?>/type/WOODENNI-webfont.ttf') format('truetype'),
         url('<?php echo get_template_directory_uri(); ?>/type/WOODENNI-webfont.svg#webfontDYhQeecV') format('svg');
    font-weight: normal;
    font-style: normal;
}

        #headimg h1 {
            margin-bottom: 0;
        }
        #headimg h1 a{
            font:80px WoodenNickelBlackRegular, "Times New Roman", Times, serif;
            padding-left: 30px;
            text-transform:uppercase;
            text-decoration:none;
            width: <?php echo HEADER_IMAGE_WIDTH; ?>px;
            height: <?php echo HEADER_IMAGE_HEIGHT; ?>px;
        }
        #desc {
            font:26px  Geneva, Verdana, sans-serif;
            padding-left: 30px;
        }
    </style><?php
}
add_custom_image_header('grisaille_header_style', 'grisaille_admin_header_style');

/**
* Change Excerpt length
**/
function grisaille_new_excerpt_length($length) {
    return 20;
}
add_filter('excerpt_length', 'grisaille_new_excerpt_length');

/**
* Change excerpt [...] to something else
**/

function grisaille_new_excerpt_more($more) {
    global $post;
    return ' ... <br /><a class="more-link" href="'. get_permalink($post->ID) . __('">keep reading</a>', 'grisaille');
}
add_filter('excerpt_more', 'grisaille_new_excerpt_more');

/**
* Thumbnail support
**/

add_theme_support( 'post-thumbnails' );  
set_post_thumbnail_size( 590, 275, true ); // 590 pixels wide by 275 pixels tall, hard crop mode
add_image_size( 'following-post-thumbnails', 250, 200, true ); // 250 pixels wide by 200 pixels tall, hard crop mode

// THIS LINKS THE THUMBNAIL TO THE POST PERMALINK
add_filter( 'post_thumbnail_html', 'grisaille_post_image_html', 10, 3 );
function grisaille_post_image_html( $html, $post_id, $post_image_id ) {

    $html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_post_field( 'post_title', $post_id ) ) . '">' . $html . '</a>';

    return $html;
}

/**
* Google font API - adding Ubuntu font
**/
function grisaille_enqueue_scripts_styles() {
         wp_enqueue_style( 'Marvel', 'http://fonts.googleapis.com/css?family=Marvel');                                                 
}     
add_action('wp_enqueue_scripts', 'grisaille_enqueue_scripts_styles'); 

/**
* checks if the visitor is browsing either a page or a post and adds the 
* JavaScript required for threaded comments if they are
**/
function grisaille_queue_js(){
  if (!is_admin()){
    if ( is_singular() AND comments_open() AND (get_option('thread_comments') == 1))
      wp_enqueue_script( 'comment-reply' );
  }
}
add_action('get_header', 'grisaille_queue_js');

/**
* register_sidebar()
**/

add_action( 'widgets_init', 'grisaille_register_sidebars' );

function grisaille_register_sidebars() {

    /* Register the 'primary' sidebar. */
    register_sidebar(
        array(
            'id' => 'grisaillesidebar',
            'name' => __( 'Grisaille Sidebar', 'grisaille' ),
            'description' => __( 'Main right sidebar.', 'grisaille' ),
            'before_widget' => '<div class="sidebaritem">',
            'after_widget' => '</div>',
            'before_title' => '<h3 class="widget-title">',
            'after_title' => '</h3>'
        )
    );

}   

/**
* Load the Theme Options Page for social media icons
*/
require_once ( get_template_directory() . '/inc/theme-options.php' );


/**
* Loads the theme's translated strings
*/

add_action('after_setup_theme', 'grisaille_language_theme_setup');
function grisaille_language_theme_setup(){
    load_theme_textdomain('grisaille', get_template_directory() . '/lang');
}   
?>

的index.php

<?php

  get_header();

  if (have_posts()): ?>

  <ol id="posts">
  <?php while (have_posts()) : the_post(); ?>

    <li id="post-<?php the_ID(); ?>" <?php post_class(); ?>>


      <h2 class="postTitle"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
       <span class="comments"><?php comments_popup_link('0', '1 ', '%'); ?></span>
       <div class="clearfix"></div>
       <p class="theDate"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_time('F j, Y'); ?></a> <?php _e('by', 'grisaille'); ?> <?php the_author(); ?></p>

      <div class="post-wrap">
      <?php the_post_thumbnail('following-post-thumbnails'); ?>
      <?php the_excerpt(__('keep reading', 'grisaille')); ?></div>
      <?php wp_link_pages(
                array(  'before'           => '<p class="pages-links">' . __('Pages:', 'grisaille'),
                        'after'            => '</p>',
                        'next_or_number'   => 'number',
                        'nextpagelink'     => __('Next page', 'grisaille'),
                        'previouspagelink' => __('Previous page', 'grisaille'),
                        'pagelink'         => '%')); ?>
      <p class="postMeta"><small><?php _e('Category', 'grisaille'); ?> <?php the_category(', ') ?> | <?php _e('Tags', 'grisaille'); ?>: <?php the_tags(' '); ?></small></p>

      <hr class="noCss" />
    </li>

    <?php comments_template(); // Get wp-comments.php template ?>

    <?php endwhile; ?>

  </ol>

<?php else: ?>

  <p><?php _e('Sorry, no posts matched your criteria.', 'grisaille'); ?></p>

  <?php endif; ?>


    <div class="pagination-older"><?php next_posts_link( __('&laquo; Older Entries', 'grisaille')); ?></div>
    <div class=" pagination-newer"><?php previous_posts_link( __('Newer Entries &raquo;', 'grisaille')); ?></div> 






  <?php
  get_footer();
?>

1 个答案:

答案 0 :(得分:0)

您应该删除此行,它用于定义自定义缩略图大小:

add_image_size( 'following-post-thumbnails', 250, 200, true ); // 250 pixels wide by 200 pixels tall, hard crop mode

然后更改index.php中的以下行(它告诉缩略图使用上面定义的自定义图像大小):

<?php the_post_thumbnail('following-post-thumbnails'); ?>

对此:

<?php the_post_thumbnail(); ?>

这应该会导致缩略图使用此行指定的默认大小:

set_post_thumbnail_size( 590, 275, true );

我不确定Wordpress的缩略图是如何工作的,但尝试上传新图片以查看缩略图是否正确调整大小。看起来后续帖子的缩略图会被永久裁剪,并且不会通过更改代码来调整大小。

如果这不起作用,希望此处的文档可以提供帮助:http://codex.wordpress.org/Function_Reference/the_post_thumbnail