Intereting Posts
Сломанные эскизы (иногда) с TimThumb Имея 4000 сообщений, мой сайт настолько медленный Создание вкладок внутри плагинов Страница администратора Переместить wordpress в папку без изменения URL-адресов Как навсегда удалить таксономию Печать строки в нижний колонтитул с использованием параметра wp_footer wp_enqueue_style не регистрирует все шрифты Google Возвращать единый таксономический термин вне цикла изменить роль пользователей WordPress при редактировании профиля Добавить персонализированный пост Тип определенной пользовательской таксономии для регулярного цикла блога Перейдите в блог и получите контент из этого блога сохранение wp_editor в базу данных, но не отображение содержимого при обновлении Как WordPress отслеживает, что определенный Пользователь зарегистрирован? Woocommerce – добавление продукта в корзину программно через JS или PHP Добавьте вкладки метаданных X на основе формы в верхней части мета-окна, как это сделать правильно?

Отображение миниатюры сообщений (вложения) в списке категорий archive.php

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

Однако, по-видимому, файл archive.php является одним из тех, которые не поддерживают объект привязки. Например, код ниже сделает большую часть того, что я хочу (хотя, если вложение не найдено, я получаю пустой образ, мне нужно это исправить).

Тем не менее, я боюсь, что SELECT в цикле, как это, возможно, слишком дорого для того, что я пытаюсь сделать.

Есть идеи?

<?php while (have_posts()) : the_post(); ?> <?php global $wpdb; $attachment_id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_parent = '$post->ID' AND post_status = 'inherit' AND post_type='attachment' ORDER BY post_date DESC LIMIT 1"); ?> <div class="searchItem" style="clear:both;"> <h3 id="post-<?php the_ID(); ?>"><img src="<?php echo wp_get_attachment_url($attachment_id); ?>" class="post-attachment" /><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3> <small><?php the_time('l, F jS, Y') ?></small> <div class="excerpt"><?php echo $post->post_excerpt; ?></div> <div class="postmetadata">Posted in <?php the_category(', ') ?> | <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></div> </div> <?php endwhile; ?> 

Solutions Collecting From Web of "Отображение миниатюры сообщений (вложения) в списке категорий archive.php"

Вы можете использовать функцию WordPress get_children. Хотя я не думаю, что это имеет значение, с точки зрения производительности.

 <?php while (have_posts()) : the_post(); ?> <?php $attachment = array_values( get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'numberposts' => 1 ) ) ); ?> <div class="searchItem" style="clear:both;"> <h3 id="post-<?php the_ID(); ?>"> <?php if( $attachment ) echo '<img src="' . wp_get_attachment_url($attachment[0]->ID) . '" class="post-attachment" />'; ?> <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3> <small><?php the_time('l, F jS, Y') ?></small> <div class="excerpt"><?php echo $post->post_excerpt; ?></div> <div class="postmetadata">Posted in <?php the_category(', ') ?> | <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></div> </div> <?php endwhile; ?> 

WP имеет основную функцию для просмотра этого, см. Мой пост http://wpengineer.com/1735/easier-better-solutions-to-get-pictures-on-your-posts/