Intereting Posts
Как включить тип сообщения в админ / бэкэнд? Показывать поля комментариев в двух столбцах Отключить комментарии и pingbacks на старых пользовательских типах сообщений Как ограничить поиск на определенной странице только для того, чтобы возвращать результаты против пользовательских таксономий? внешняя интеграция с ошибкой тайм-аута wordpress Создание URL-адреса Add Media Link в поле Свяжите отправку запроса ajax на крючки WordPress Ошибка при установлении соединения с базой данных – с данными отладки Платное членство в Pro, отображение пользовательского ограничения Медленные запросы Mysql Несколько отношений для нескольких tax_query в WP_Query Отображать пользовательскую мета-запись текущего пользователя в боковой панели Как определить, увеличилось или уменьшилось значение метаданных пользователя Загрузка файла внутри страницы параметров плагинов пользовательский тип сообщения и таксономии в классе php

Отображение миниатюры сообщений (вложения) в списке категорий 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/