如何在Wordpress中列出具有特定标签的所有条目?
问题描述:
我可能只是缺少这个功能,但没有人知道是否有可用的部件:如何在Wordpress中列出具有特定标签的所有条目?
我需要列出与给定标签关联的所有条目的主题。
例如:我有5篇标有 “教程”,我想看到一个列表如下:
- 教程1:安装应用程序
- 教程2:定制
- 教程3:高级编辑
- 教程4:用户同治
确实喜欢这种功能在WordPress存在媒体链接?
答
如果您对黑客行为感兴趣,可以尝试使用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)返回了一个列表,确定它是一个很多要挖掘,但这也有助于你看到什么可用。
答
所以我找到了一篇关于使用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语句。