Я пытаюсь настроить список категорий (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; ?>
Любая причина, по которой вы не хотели бы использовать
the_post_thumbnail
в этом случае?Нет, кроме того, что я не могу заставить его работать с archive.php 🙂
Любой шаблон должен иметь возможность использовать избранное изображение, пока оно вызывается в цикле.
<?php the_post_thumbnail(); ?>
Возможно, вы могли бы отредактировать свой вопрос, а также включить код из шаблона archive.php.Крис, можешь прояснить это? Я добавляю свои изображения, используя загрузчик вложений изображений в верхней части редактора сообщений. Так что все эти изображения «прикреплены» к посту. Вы имеете в виду «избранное» изображение или «прикрепленные» изображения? Я использую «прикрепленный», а не избранный, предполагая, что есть разница в том, как они называются.
Я имею в виду «избранное» изображение.
Фрэнк, вы должны попытаться включить хотя бы намек на то, какие функции/код люди должны использовать. Ссылка на ваш пост в качестве резервной копии — хорошая идея, но это очень длинный пост, поэтому краткая версия в вашем ответе — хорошая идея.
Джереми, я понял ваш намек, хорошо, но в большинстве тем лучше, когда вы понимаете сложные возможности найти решение.
Вы можете использовать функцию WordPress get_children. Хотя я не думаю, что это имеет значение, с точки зрения производительности.
В WP есть основная функция для просмотра этого, см. мой пост http://wpengineer.com/1735/easier-better-solutions-to-get-pictures-on-your-posts/