Поддержка → Проблемы и решения → Вывод записей по меткам
Вывод записей по меткам
-
Сделал свой шаблон, все работает, кроме вывода записей по меткам. Сейчас, если нажать на метку то появляется только текст «Tag Archives: название метки».
Подскажите пожалуйста, в каком файле и какой код нужно прописать, что бы по клику на метку выводился список записей с такими же метками (с кратким описанием) ?
-
Можете прямо в файле tag.php после вывода текста «Tag Archives: название метки» создать цикл вывода записей с нужным тегом например:
<? query_posts(‘tag=cooking’); ?>
<?php if ( ! have_posts() ) : ?><?php endif; ?>
<?php while ( have_posts() ) : the_post(); ?>//Тут вывод заголовков и прочее
<?php endif; ?>
<?php endwhile; ?>Примерно так
Сейчас я взял файл tag.php из стандартной темы, вот содержимое:
<?php get_header(); ?>
<section id=»primary»>
<div id=»content» role=»main»><?php if ( have_posts() ) : ?>
<header class=»page-header»>
<h1 class=»page-title»><?php
printf( __( ‘Tag Archives: %s’, ‘twentyeleven’ ), ‘<span>’ . single_tag_title( », false ) . ‘</span>’ );
?></h1><?php
$tag_description = tag_description();
if ( ! empty( $tag_description ) )
echo apply_filters( ‘tag_archive_meta’, ‘<div class=»tag-archive-meta»>’ . $tag_description . ‘</div>’ );
?>
</header><?php twentyeleven_content_nav( ‘nav-above’ ); ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?><?php
/* Include the Post-Format-specific template for the content.
* If you want to overload this in a child theme then include a file
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
get_template_part( ‘content’, get_post_format() );
?><?php endwhile; ?>
<?php twentyeleven_content_nav( ‘nav-below’ ); ?>
<?php else : ?>
<article id=»post-0″ class=»post no-results not-found»>
<header class=»entry-header»>
<h1 class=»entry-title»><?php _e( ‘Nothing Found’, ‘twentyeleven’ ); ?></h1>
</header><!— .entry-header —><div class=»entry-content»>
<p><?php _e( ‘Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.’, ‘twentyeleven’ ); ?></p>
<?php get_search_form(); ?>
</div><!— .entry-content —>
</article><!— #post-0 —><?php endif; ?>
</div><!— #content —>
</section><!— #primary —>
<?php get_footer(); ?>Подскажите, в какое именно место вставить ваш код?
и, (‘tag=cooking’); здесь, вместо cooking нужно будет свои названия меток прописывать?Так вот:
<?php get_header(); ?>
<section id=»primary»>
<div id=»content» role=»main»><?php if ( have_posts() ) : ?>
<header class=»page-header»>
<h1 class=»page-title»><?php
printf( __( ‘Tag Archives: %s’, ‘twentyeleven’ ), ‘<span>’ . single_tag_title( », false ) . ‘</span>’ );
?></h1><?php
$tag_description = tag_description();
if ( ! empty( $tag_description ) )
echo apply_filters( ‘tag_archive_meta’, ‘<div class=»tag-archive-meta»>’ . $tag_description . ‘</div>’ );
?>
</header><?php twentyeleven_content_nav( ‘nav-above’ ); ?>
<? /*—————- ВОТ ЦИКЛ —————— */ ?>
<? query_posts(‘tag=’.single_tag_title( », false ).»); ?>
<?php if ( ! have_posts() ) : ?><?php endif; ?>
<?php while ( have_posts() ) : the_post(); ?><?php the_title(); ?>
<?php _e( ‘Featured’, ‘twentyeleven’ ); ?>
<?php the_excerpt(); ?><?php endif; ?>
<?php endwhile; ?>
<? /* —————- КОНЕЦ ——————-*/ ?>
<?php twentyeleven_content_nav( ‘nav-below’ ); ?><?php else : ?>
<article id=»post-0″ class=»post no-results not-found»>
<header class=»entry-header»>
<h1 class=»entry-title»><?php _e( ‘Nothing Found’, ‘twentyeleven’ ); ?></h1>
</header><!— .entry-header —><div class=»entry-content»>
<p><?php _e( ‘Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.’, ‘twentyeleven’ ); ?></p>
<?php get_search_form(); ?>
</div><!— .entry-content —>
</article><!— #post-0 —><?php endif; ?>
</div><!— #content —>
</section><!— #primary —><?php get_sidebar(); ?>
<?php get_footer(); ?>убрал <?php endif; ?> на 28й строке и заработало) davidtm, спасибо вам большое! Подскажите ещё пожалуйста, что делает эта строчка? Она так и выводится: «title=»Permalink to первая запись»rel=»bookmark»>первая запись
и, как вывести миниатюры.Она так и выводится: «title=»Permalink to первая запись»rel=»bookmark»>первая запись
Это я уже убрал, просмотрите выше, хотел вывести линк к записи, это можете сами оформить как надо, вывод миниатюры будет так выглядеть
<?php the_post_thumbnail(); ?>
Если же необходимо первое изображение из поста вытащить, то иначе.
а скажите, в какое именно место вставляется <?php the_post_thumbnail(); ?> ?
В цикле, неважно где, можете перед <?php the_excerpt(); ?> поставить. Я надеюсь Вы понимаете разницу между миниатюрой прикрепленной к записи, и миниатюрой, которая создается выдеранием первого изображения из записи.
Мой пример
<?php the_post_thumbnail(); ?>
относится к миниатюре прикрепленной к записи
у меня в записи миниатюра, прикрепленная в визуальном редакторе к записи, хм, поставил перед <?php the_excerpt(); ?> — миниатюры нет
а она у вас активирована в теме?? Возможно нет.
Попробуйте вот что сделать.В файле functions.php в самом низу пропишите следующее
add_theme_support(‘post-thumbnails’);
// Если хотите использовать вызов функции, для начала мы должны убедиться,
//что WordPress поддерживает вызов этой функцииif ( function_exists(‘add_theme_support’) ) {
add_theme_support(‘post-thumbnails’);
}ну и обновляйте страницу с тегами, должно быть все. пробуйте
add_theme_support(‘post-thumbnails’); прописан, но миниатюры не выводятся
davidtm, в любом случае, благодарю за подробные ответы, буду пробовать дальше.У Вас на главной миниатюры выводятся? Если да, то попробуйте содржимое цикла скопировать в tag.php, может что то упустили, на вскидку сейчас ничего сказать не могу, нет возможности сейчас проверить
нет, не на главной, блог-отдельная страница, которая использует index.php, вот его содержимое:
<?php get_header(); ?>
<div class=»main-content»>
<?php if(have_posts()) : ?>
<?php while(have_posts()) : the_post(); ?>
<div class=»post-main»>
<h1>«><?php the_title(); ?> <span>(<?php the_date_xml(); ?>)</span></h1>
<div class=»post»>
«>
<div class=»entry»><div id=»img1″><?php get_the_image( array( ‘meta_key’ => ‘image’, ‘size’ => ‘medium’, ‘width’ => ‘150’, ‘height’ => ‘150’, ‘image_class’ => ‘feature’ ) ); ?></div></div>
<p><?php the_excerpt_reloaded(130, », ‘none’, TRUE, », FALSE, 2); ?></p>
<p>«>Читать далее</p>
<p><?php the_tags(); ?></p><div class=»post-date»>Дата: <?php the_time(‘d.m.’) ?><?php the_time(‘Y’) ?> | Рубрика: <?php the_category(‘, ‘) ?> | <?php comments_popup_link(‘Оставить комментарий’, ‘1 Комментарий’, ‘Комментарии (%)’); ?> </div>
</div>
</div>
<?php endwhile; ?>
<article id=»post-0″ class=»post no-results not-found»>
<header class=»entry-header»>
<h1 class=»entry-title»><?php _e( ‘Nothing Found’, ‘twentyeleven’ ); ?></h1>
</header>
<div class=»entry-content»>
<p><?php _e( ‘Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.’, ‘twentyeleven’ ); ?></p>
<?php get_search_form(); ?>
</div>
</article>
<div class=»nav»>
<?php posts_nav_link(); ?>
</div><?php endif; ?>
</div>
<?php get_footer(); ?>
может нужно сюда вставить что-то из tags.php?davidtm, ещё раз спасибо — разобрался!
- Тема «Вывод записей по меткам» закрыта для новых ответов.