我为这些创建了自定义帖子类型和自定义分类法。
例子: actors
(分类)对于 movies
(帖子类型)。
现在我想在我的小部件中显示一些术语和一个 more
的链接 actors
术语存档。
我如何获得分类档案链接/网址?
使用 get_term_link
例如,打印出链接到档案的演员术语列表:
$terms = get_terms('actors');
echo '<ul>';
foreach ($terms as $term) {
echo '<li><a href="'.get_term_link($term).'">'.$term->name.'</a></li>';
}
echo '</ul>';
然而!
如果您真正的意思是自定义帖子类型存档的等价物,它列出了该类型的所有帖子,但对于分类术语,例如充当列出各种可用分类术语的存档的页面,那么您就没有了运气。 WordPress 中没有术语分类档案,只有分配给给定术语的帖子。
要生成列出分类术语的页面,您可以使用与上述类似的代码。 然后将其放入页面模板并将该页面用作分类术语存档。
原因是问题出在post循环上,几乎每个页面模板都打算有一个,如果你看一下模板层次结构,如果没有找到必要的模板,它就会回到index.php ,并且 index.php 有一个显示帖子的帖子循环,而不是术语循环。 这一点以及术语应该如何列出的许多不同方式和想法意味着没有达成共识。 日期档案呢? 是否应该有一份列出月份和年份的档案? 时间线? 面板瓷砖云等
没有简单的方法可以从冲刷中得到它。 到处回答的每个人都认为您想链接到 TAXONOMY 中的 TERM ……当您正在寻找指向 TAXONOMY 档案的链接时……我一无所获。
基本上,像许多人一样,你想要一个 get_taxonomy_archive_link
方法。
除了出于某种原因,它根本不存在。 我认为这是 WordPress 方面的重大失败。
你的问题没有答案。 不是一个在 WP 框架内实际工作的正确解决方案。 当然,你可以拼凑 get_bloginfo()
满足您的需求,但在 WP 中绝对没有合乎逻辑的理由 get_taxonomy_archive_link
不存在。
综上所述,我总是在我的主题中添加以下功能:
/**
* Pass in a taxonomy value that is supported by WP's `get_taxonomy`
* and you will get back the url to the archive view.
* @param $taxonomy string|int
* @return string
*/
function get_taxonomy_archive_link( $taxonomy ) {
$tax = get_taxonomy( $taxonomy ) ;
return get_bloginfo( 'url' ) . "https://wordpress.stackexchange.com/" . $tax->rewrite['slug'];
}
