添加链接以显示日期范围内具有特定标签的帖子

时间:2015-01-22 作者:zkvvoob

我正在尝试创建一个基于WP的网站,其中包含许多关于不同日期的不同人士的文档。我想为每个人都有一个专门的页面,在那里会有链接来显示特定年份关于该人的帖子。

你能帮我想个办法吗?

非常感谢。

1 个回复
最合适的回答,由SO网友:David Gard 整理而成

退房wp_get_archives().

如上链接的函数参考所述,“此函数显示基于日期的存档列表。此标记可以在模板中的任何位置使用。”

它给出了几个如何使用该函数的示例,包括您是否希望使用下拉列表而不是列出每个存档。

默认情况下,此函数将考虑every 发帖,不仅仅是关于作者的。然而,你不必害怕——有一些钩子可以用来修复这个问题。例如,可以添加特定的作者-

在模板上添加此-

$args = array(
    \'author\' => $author_id,  // Obviously this relies on you knowing the ID of the author
    \'type\' => \'yearly\'
)
wp_get_archives($args);
然后在函数中。php

add_filter(\'getarchives_where\', \'my_edit_getarchives_where\');
function my_edit_getarchives_where($where, $args){

    if(isset($args[\'author\']) :  // Ensure that an author has been specified
        $where.= \' AND `post_author` IN (\' . $args[\'author\'] . \')\';
    endif;

    return $where;

}
请注意auhor 不是的默认参数wp_get_archives() 功能,它不会被剥离,因此在上述场景中可供您自定义使用。

如果这个示例不太适合您,那么您可以使用另外两个过滤器挂钩

  • getarchives_join - 允许您JOIN 其他表(以便您可以链接到特定类别/标记的存档)。

  • the_title - 如果愿意,可以修改标题输出(例如,将“Archive-”放在标题输出之前)。在你的情况下没什么帮助,但很高兴知道。

我鼓励您仔细查看相关函数,以充分了解其工作原理。wp_get_archives() 可在中找到/wp-includes/general-template.php 在线1321(我使用的是4.1版)。

结束

相关推荐

WordPress在调用wp_UPDATE_COMMENT()后无响应

在管理面板的“编辑评论”页面中,由于某种原因,在我单击“更新”后,编辑页面进入无限循环/加载(Google Chrome选项卡中的微调器图标从未停止旋转)。即使在我关闭WordPress、web浏览器和IDE(我正在本地使用Microsoft WebMatrix 3)之后,我的电脑也会进行10-20分钟的“深入思考”。使命感wp_update_comment() 这似乎是个问题,因为当我移除它时,一切都很好。当我检查数据库时,我可以看到“comment\\u type”列确实得到了更新,但我的计算机仍在深