Как мне перечислить все записи с определенным тегом в Wordpress? - PullRequest
0 голосов
/ 28 августа 2008

Возможно, мне просто не хватает этой функции, но кто-нибудь знает, есть ли доступный виджет:

Мне нужно перечислить тему для всех записей, связанных с данным тегом.

Например: у меня есть 5 статей с тегом "Учебник", я хотел бы видеть список следующим образом:

  • Урок 1. Установка приложения
  • Урок 2. Настройка
  • Урок 3: Расширенные правки
  • Урок 4: Управление пользователями

Существует ли подобная функциональность в WordPress уже?

Ответы [ 3 ]

1 голос
/ 29 августа 2008

Итак, я нашел статью об использовании пользовательских запросов . Я изменил скрипт, чтобы вытащить определенный тег, в данном случае «Open Source».

<?php 
$querystr = "SELECT wposts.* 
             FROM $wpdb->posts wposts, $wpdb->terms wterms, $wpdb->term_relationships wterm_relationships, $wpdb->term_taxonomy wterm_taxonomy 
             WHERE wterm_relationships.object_id = wposts.ID 
             AND wterm_relationships.term_taxonomy_id = wterm_taxonomy.term_taxonomy_id 
             AND wterms.term_id = wterm_taxonomy.term_id 
             AND wterm_taxonomy.taxonomy = 'post_tag' 
             AND wterms.name = 'Open Source' 
             AND wposts.post_status = 'publish' 
             AND wposts.post_type = 'post' 
             ORDER BY wposts.post_date DESC";

     $pageposts = $wpdb->get_results($querystr, OBJECT);

?>

    <?php if ($pageposts): ?>
         <?php foreach ($pageposts as $post): ?>
             <?php setup_postdata($post); ?>

             <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title('<li>', '</li>'); ?></a>
         <?php endforeach; ?>
    <?php else : ?>

    <?php endif; ?>

Если вы хотите перечислить страницы только для одного конкретного тега, это сработает. Однако предположим, что вы хотите предоставить список страниц для каждого тега на основе текущих статей, перечисленных на странице.

Вы можете создать массив всех тегов, используя функцию get_the_tags () во время Цикл , а затем использовать этот массив для динамического создания оператора WHERE для запроса.

1 голос
/ 28 августа 2008

Если вам удобно взломать WP, попробуйте добавить на боковую панель wp_list_pages, http://codex.wordpress.org/Template_Tags/wp_list_pages.

Или есть плагины, такие как Simple-Tags (http://wordpress.org/extend/plugins/simple-tags/), которые помогают вам управлять своими тегами.

Приятно, что в WordPress есть множество плагинов, которые могут добавить функциональность, которой нет в базовом приложении, быстрый поиск плагинов для вкладок (http://wordpress.org/extend/plugins/search.php?q=tag) вернул довольно большой список, конечно, это очень много, но это также поможет вам увидеть, что доступно.

0 голосов
/ 10 июня 2018

Вы можете легко использовать get_posts для создания массива постов на основе набора параметров. Он извлекает список последних сообщений или сообщений, соответствующих этому критерию.

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

В твоих функциях. Php

function shortcode_tag_t (){
     $uu_id=get_current_user_id();
     $args = array(
    'posts_per_page'   => 10,
    'tag' => 'Tutorial',
    'post_type'        => 'post',
    'post_status'      => 'publish'
);
$posts_array = get_posts( $args );

foreach ( $posts_array as $post ) : setup_postdata( $post );
$url=$post->guid;
echo"<li><a  href='".$url."'>" .$post->post_title."</a></li>";
endforeach; 
wp_reset_postdata();
}
add_shortcode('your_shortcode_name',shortcode_tag_t );

Теперь у вас есть список из 10 сообщений, помеченных под Tutorial.

Повтор созданного короткого кода, где бы вы ни хотели отобразить список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...