Подавать масштабированным изображениям в миниатюре слайдера постовPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Подавать масштабированным изображениям в миниатюре слайдера постов

Сообщение Anonymous »

В моей теме WordPress есть часть, называемая «Sops Slider», и я хочу использовать ее на своей домашней странице, и я хочу отобразить в нем 8 постов. Я не полностью запускаю свой сайт и хочу улучшить его скорость. При анализе с помощью GTMetrix мой сайт: http://www.tamtaragh.com
У него есть некоторые проблемы, но один из них посвящен этому пост -слайдеру, который использует изображения 600x450 вместо 200x150 в качестве эскиза, так что для каждого миниатюра он загружает дополнительно 50 КБ. средний! В настройках носителя средний размер 300x400! Вот код постов Slider: < /p>
$output = $title = $type = $count = $interval = $slides_content = $link = '';
$custom_links = $thumb_size = $posttypes = $posts_in = $categories = '';
$orderby = $order = $el_class = $link_image_start = '';
extract(shortcode_atts(array(
'title' => '',
'type' => 'flexslider_fade',
'count' => 3,
'interval' => 3,
'slides_content' => '',
'slides_title' => '',
'link' => 'link_post',
'custom_links' => site_url().'/',
'thumb_size' => 'medium',
'posttypes' => '',
'posts_in' => '',
'categories' => '',
'orderby' => NULL,
'order' => 'DESC',
'el_class' => ''
), $atts));

$gal_images = '';
$link_start = '';
$link_end = '';
$el_start = '';
$el_end = '';
$slides_wrap_start = '';
$slides_wrap_end = '';

$el_class = $this->getExtraClass($el_class);

if ( $type == 'nivo' ) {
$type = ' wpb_slider_nivo theme-default';
wp_enqueue_script( 'nivo-slider' );
wp_enqueue_style( 'nivo-slider-css' );
wp_enqueue_style( 'nivo-slider-theme' );

$slides_wrap_start = '';
$slides_wrap_end = '';
} else if ( $type == 'flexslider' || $type == 'flexslider_fade' || $type == 'flexslider_slide' || $type == 'fading' ) {
$el_start = '[*]';
$el_end = '';
$slides_wrap_start = '
  • ';
    $slides_wrap_end = '
';
wp_enqueue_style('flexslider');
wp_enqueue_script('flexslider');
}
$flex_fx = '';
if ( $type == 'flexslider' || $type == 'flexslider_fade' || $type == 'fading' ) {
$type = ' wpb_flexslider flexslider_fade flexslider';
$flex_fx = ' data-flex_fx="fade"';
} else if ( $type == 'flexslider_slide' ) {
$type = ' wpb_flexslider flexslider_slide flexslider';
$flex_fx = ' data-flex_fx="slide"';
}

if ( $link == 'link_image' ) {
wp_enqueue_script( 'prettyphoto' );
wp_enqueue_style( 'prettyphoto' );
}

$query_args = array();

//exclude current post/page from query
if ( $posts_in == '' ) {
global $post;
$query_args['post__not_in'] = array($post->ID);
}
else if ( $posts_in != '' ) {
$query_args['post__in'] = explode(",", $posts_in);
}

// Post teasers count
if ( $count != '' && !is_numeric($count) ) $count = -1;
if ( $count != '' && is_numeric($count) ) $query_args['posts_per_page'] = $count;

// Post types
$pt = array();
if ( $posttypes != '' ) {
$posttypes = explode(",", $posttypes);
foreach ( $posttypes as $post_type ) {
array_push($pt, $post_type);
}
$query_args['post_type'] = $pt;
}

// Narrow by categories
if ( $categories != '' ) {
$categories = explode(",", $categories);
$gc = array();
foreach ( $categories as $grid_cat ) {
array_push($gc, $grid_cat);
}
$gc = implode(",", $gc);
$query_args['category_name'] = $gc;

$taxonomies = get_taxonomies('', 'object');
$query_args['tax_query'] = array('relation' => 'OR');
foreach ( $taxonomies as $t ) {
if ( in_array($t->object_type[0], $pt) ) {
$query_args['tax_query'][] = array(
'taxonomy' => $t->name,//$t->name,//'portfolio_category',
'terms' => $categories,
'field' => 'slug',
);
}
}
}

// Order posts
if ( $orderby != NULL ) {
$query_args['orderby'] = $orderby;
}
$query_args['order'] = $order;

// Run query
$my_query = new WP_Query($query_args);

$pretty_rel_random = 'rel-'.rand();
if ( $link == 'custom_link' ) { $custom_links = explode( ',', $custom_links); }
$teasers = '';
$i = -1;

while ( $my_query->have_posts() ) {
$i++;
$my_query->the_post();
$post_title = the_title("", "", false);
$post_id = $my_query->post->ID;
if ( $slides_content == 'teaser' ) {
$content = do_shortcode(apply_filters('the_excerpt', get_the_excerpt()));//get_the_excerpt();
} else {
$content = '';
}
$thumbnail = '';

// Thumbnail logic
$post_thumbnail = $p_img_large = '';

$post_thumbnail = wpb_getImageBySize(array( 'post_id' => $post_id, 'thumb_size' => $thumb_size ));
$thumbnail = $post_thumbnail['thumbnail'];
$p_img_large = $post_thumbnail['p_img_large'];

// Link logic
if ( $link != 'link_no' ) {
if ( $link == 'link_post' ) {
$link_image_start = '';
}
else if ( $link == 'link_image' ) {
$p_video = get_post_meta($post_id, "_p_video", true);
//
if ( $p_video != "" ) {
$p_link = $p_video;
} else {
$p_link = $p_img_large[0]; // TODO!!!
}
$link_image_start = '';
}
else if ( $link == 'custom_link' ) {
if (isset($custom_links[$i])) {
$slide_custom_link = $custom_links[$i];
} else {
$slide_custom_link = $custom_links[0];
}
$link_image_start = '';
}

$link_image_end = '';
} else {
$link_image_start = '';
$link_image_end = '';
}

$description = '';
if ( $slides_content != '' && $content != '' && ( $type == ' wpb_flexslider flexslider_fade flexslider' || $type == ' wpb_flexslider flexslider_slide flexslider' ) ) {
$description = '';
if ($slides_title==true) $description .= '' . $link_image_start . $post_title . $link_image_end .'';
$description .= $content;
$description .= '';
}

$teasers .= $el_start . $link_image_start . $thumbnail . $link_image_end . $description . $el_end;
} // endwhile loop
wp_reset_query();

if ( $teasers ) { $teasers = $slides_wrap_start. $teasers . $slides_wrap_end; }
else { $teasers = __("Nothing found." , "js_composer"); }

$css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_gallery wpb_posts_slider wpb_content_element'.$el_class, $this->settings['base']);

$output .= "\n\t".'';
$output .= "\n\t\t".'';
$output .= wpb_widget_title(array('title' => $title, 'extraclass' => 'wpb_posts_slider_heading'));
$output .= ''.$teasers.'';
$output .= "\n\t\t".' '.$this->endBlockComment('.wpb_wrapper');
$output .= "\n\t".' '.$this->endBlockComment('.wpb_gallery');

echo $output;
< /code>
Я не так знаком с кодированием, но думаю, что это вспоминает средний размер для миниатюры, я прав? Я изменил этот «средний» на «миниатюр» или «большой палец», но в Gtmetrix ничего не изменилось. Есть также и другие размеры изображений, определенные в моих функциях. п>

Подробнее здесь: https://stackoverflow.com/questions/290 ... -thumbnail
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»