iborisbelov
@iborisbelov
Веб-дизайнер, UX\UI

Как сделать вывод записей по тегу(метке) совпадающим с конечным URL?

Задача: Сделать вывод записей, по тегам(метке) совпадающим с конечным URL.
Имеем:
1. Записи с тегом(меткой) : Persvektiva
ce6e43ec4c.jpg
2 Страница с конечным пунктом Perspektiva
J2b6ReKu4Y6Zb2.jpgЗачем это нужно: нужно сделать вывод записей по тегам (это обязательное условие - не через рубрики), но самое главное, чтобы код был универсальный. То есть сделать вывод по меткам надо на странице (url: perspektiva, которая в свою очередь будет соответствовать метке с названием perspektiva.

Рабочий код, вывода конечного пути:
<?php $one = get_permalink();
preg_match("/.*\/([^\/.]+)/", $one, $one_matches);
echo $one_matches[1]; //five ?>


То есть в моем понимании, это должно быть как то так :

<?php $the_query = new WP_Query( 'tag=ЗДЕСЬ НАШ КОД' ); ?>
<?php while  ($the_query->have_posts() ) : $the_query->the_post(); ?>
<a class="img" href="<?php the_permalink() ?>"><?php the_post_thumbnail(); ?></a>
<a class="title" href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br />
<?php endwhile; ?>
<?php wp_reset_postdata();?>


Очень нужна помощь по этому интересному вопросу.
  • Вопрос задан
  • 5102 просмотра
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
WordPress Template Hierarchy кто будет изучать? Для этого есть шаблон tag.php, или taxonomy.php / taxonomy-{taxonomy}.php если это произвольная таксономия.

b910ea04f99049b69ff4139b992410bc.png

И вот тут интерактивная схема. Ну и, конечно же, документация.

Смысл использования корректного шаблона из иерархии в том, что основной WP_Query уже будет изначально правильно сформирован и будет содержать нужный результат, УРЛ будут автоматически построены правильно + все функции работающие с УРЛ будут выдавать корректные и прогнозируемые результаты. В общем, все что нужно - в стандартный Loop подставить нужный template_part для вывода одного элемента цикла. Все остальное делает WordPress.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
iborisbelov
@iborisbelov Автор вопроса
Веб-дизайнер, UX\UI
Кому понадобится!

<ul>
<?php
 global $post;
 $args = array( 'numberposts' => -1, 'tag'=> basename($_SERVER['REQUEST_URI']), 'order' => 'ASC');
 $myposts = get_posts( $args );
 if ($myposts){
   echo '<h4>Дополнительно: записи блога:</h4>';
   foreach( $myposts as $post ) : setup_postdata($post); ?>
 	   <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
	<?php endforeach; }?>
</ul>
Ответ написан
$id = $post->ID;

                                <?php  if ( wp_get_post_tags( $id ) ): ?>

                                <span class="title-6">Tags:</span>
                                <ul class="wp-tag-cloud">
                                    <?php foreach(  wp_get_post_tags( $id )  as $tag ){ ?>
                                    <li>
                                        <a href="<?php echo get_tag_link( $tag->term_id ); ?>"><?php echo $tag->name; ?></a>
                                    </li>
                                    <?php } ?>
                                </ul>
                                <?php endif; ?>


это в single
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы