2008-08-28 98 views
-1

我可能只是缺少这个功能,但没有人知道是否有可用的部件:如何在Wordpress中列出具有特定标签的所有条目?

我需要列出与给定标签关联的所有条目的主题。

例如:我有5篇标有 “教程”,我想看到一个列表如下:

  • 教程1:安装应用程序
  • 教程2:定制
  • 教程3:高级编辑
  • 教程4:用户同治

确实喜欢这种功能在WordPress存在媒体链接?

回答

1

如果您对黑客行为感兴趣,可以尝试使用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)返回了一个列表,确定它是一个很多要挖掘,但这也有助于你看到什么可用。

1

所以我找到了一篇关于使用custom queries的文章。我修改了脚本来提取特定的标记,在这种情况下是“开源”。

<?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; ?> 

如果你只想列出一个特定标签的页面,那么这将工作。但是,假设您想根据页面上列出的当前文章列出每个标签的页面列表。

您可能在The Loop创建所有标签的使用get_the_tags()数组功能,然后使用该数组动态地生成用于查询的WHERE语句。

相关问题