Как я могу заменить TimThumb инструментами для работы с изображениями в WordPress? - PullRequest
3 голосов
/ 02 марта 2012

Я недавно начал работу над существующим сайтом WordPress. Тема при установке WordPress чрезмерно использует TimThumb, и это действительно не нужно. Собственные размеры изображений WordPress должны быть в состоянии справиться с необходимой функциональностью. Однако я не уверен, как заменить TimThumb.

В файле темы есть post-thumb.php, который генерирует миниатюры. Файл выглядит следующим образом:

if (get_option('solostream_default_thumbs') == 'yes') { $defthumb = get_bloginfo('stylesheet_directory') . '/images/def-thumb.jpg'; } else { $defthumb == 'false'; }

$solostream_img = get_the_image(array(
    'meta_key' => 'thumbnail',
    'size' => 'thumbnail',
    'image_class' => 'thumbnail',
    'default_image' => $defthumb,
    'format' => 'array',
    'image_scan' => true,
    'link_to_post' => false, ));

if ( $solostream_img['url'] && get_option('solostream_show_thumbs') == 'yes' && get_post_meta( $post->ID, 'remove_thumb', true ) != 'Yes' ) { ?> 

    <img class="<?php echo $solostream_img['class']; ?>" src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo $solostream_img['url']; ?>&amp;w=150&amp;h=150&amp;zc=1" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" />

<?php } 

} ?>

Я просто хочу заменить всю эту функцию встроенной функцией WordPress the_post_thumbnail('thumbnail').

Это так же просто, как заменить

src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo $solostream_img['url']; ?>&amp;w=150&amp;h=150&amp;zc=1"

с чем-то вроде

src="<?php the_post_thumbnail('thumbnail'); ?>"

Буду признателен за любые идеи или толчок в правильном направлении. Спасибо за чтение.

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

Вы можете добавлять собственные миниатюры и использовать их в своем коде.

Сначала необходимо добавить поддержку тем, задать имя миниатюры, задать размер и установить размер

add_theme_support( 'post-thumbnails' ); // this enable thumbnails and stuffs
add_image_size( 'mini-thumbnail', 60, 60, true );
add_image_size( 'one-more-size', 300, 260, true );

Затем вы можете использовать это в своем коде, вызывая следующее:

<?php while ( have_posts() ) : the_post();
the_title();
the_post_thumbnail( 'mini-thumnail' );
the_excerpt(); ?>

В Wordpress есть хорошая справочная страница для этой реализации и функций: https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/

0 голосов
/ 03 марта 2012

Я не уверен, что это самый эффективный способ, но я смог заставить его работать, заменив

<img class="<?php echo $solostream_img['class']; ?>" src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo $solostream_img['url']; ?>&amp;w=150&amp;h=150&amp;zc=1" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" />

с

<?php the_post_thumbnail('thumbnail'); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...