Как показать миниатюру изображения размером 50×50 в связанном сообщении

  • Автор темы xserverua
  • 50
  • Обновлено
  • 12, May 2024
  • #1
Я показываю виджет связанной публикации своему посетителю без использования какого-либо плагина на моем собственном сайте WordPress.

Теперь я хочу исправить ширину и высоту миниатюры изображения до 50×50. Как это сделать через CSS.

Вот мой соответствующий почтовый индекс.
 <?php endwhile; endif; ?>

<?php $orig_post = $post;

global $post;

$categories = get_the_category($post->ID);

if ($categories) {

$category_ids = array();

foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;

$args=array(

'category__in' => $category_ids,

'post__not_in' => array($post->ID),

'posts_per_page'=> 8, // Number of related posts that will be shown.

'caller_get_posts'=>1

);

$my_query = new wp_query( $args );

if( $my_query->have_posts() ) {

echo '<div id="related_posts"><h3>Related Posts</h3><ul>';

while( $my_query->have_posts() ) {

$my_query->the_post();?>

<li><div class="relatedthumb"><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_post_thumbnail(); ?></a></div>

<div class="relatedcontent">

<h3><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>

<p>Last updated: <?php the_modified_date(); ?></p>

</div>

</li>

<?

}

echo '</ul></div>';

}

}

$post = $orig_post;

wp_reset_query(); ?>
Код (разметка):

xserverua


Рег
30 Oct, 2014

Тем
1

Постов
2

Баллов
12
  • 07, Jun 2024
  • #2
Глядя на этот обломок кода, у меня возникает больше вопросов, чем решений.



Зачем вам нумерованный заголовок внутри элемента списка типов маркированного списка? (избыточно) Что за бессмысленные «div даром» и «классы даром»? Бессмысленный атрибут TITLE, избыточный по отношению к содержимому тега, пустая трата памяти, создание массива, черт возьми (дайте догадайтесь, какашка? О да, это и есть турдпресс), открытие и закрытие PHP волей-неволей влево и вправо для *** только знает чего, абзац вокруг текста недостаточно даже для грамматического абзаца...

Серьезно, какого черта люди используют какашку? Клиент принес это мне, я таскал его за дровяным сараем с 12-м калибром.
 

Marinaco


Рег
20 May, 2015

Тем
1

Постов
3

Баллов
13
  • 14, Jun 2024
  • #3
Привет,

Если вы хотите зафиксировать ширину и высоту миниатюры изображения ровно на уровне 50×50 пикселей без растягивания, вам следует установить собственный размер миниатюры публикации.

В файле function.php вашей текущей темы вам необходимо установить размер миниатюр сообщений по умолчанию, пропорционально изменив размер изображения (не искажая его):

 #related_posts li {

padding-bottom: 20px;

border-bottom: 1px solid #e1e1e1;

margin-bottom: 20px;
}

#related_posts li:last-of-type {

border-bottom: none;
}
PHP: Теперь, когда вы определили собственный размер изображения, вы можете использовать the_post_thumbnail() в файле шаблона вашей темы:
 <div class="relatedthumb"> <a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_post_thumbnail( 'post-thumb' ); ?></a> </div>
HTML: по умолчанию, когда вы загружаете изображение в WordPress, оно создает разные размеры и сохраняет их в папке загрузок.

Когда вы определяете новый размер изображения, новый размер изображения применяется только к изображениям, которые вы загружаете после установки размера изображения.

Это не повлияет на уже загруженные изображения.

Чтобы решить эту проблему, вам необходимо сгенерировать новые размеры для всех ранее загруженных изображений. Решение простое.

На странице плагинов найдите плагин «Force Regenerate Thumbnails». По сути, он восстанавливает все ваши предыдущие медиафайлы, которые вы загрузили, до нового размера миниатюр. Вот и все. Ваш второй вопрос: как добавить строку между каждым сообщением. Это можно сделать с помощью css:
 add_image_size('post-thumb', 50, 50, array('center', 'center')); // 50 pixels wide by 50 pixels tall, crop from the center
Код (CSS): Надеюсь, это поможет.
 

Olegok


Рег
05 Aug, 2011

Тем
1

Постов
2

Баллов
12
Тем
49554
Комментарии
57426
Опыт
552966

Интересно