如何链接到某个类别中的最新帖子?

时间:2014-01-04 作者:Christopher Eller

我如何创建一个类别的链接——它是最新/最近的帖子?

我想显示实际的帖子。我不想显示包含一个帖子列表的类别。我在这里会很傻……:)

但在我有时狂野无限的想象中,应该已经有了这样的东西:

领域com/类别名称/索引。php?最新版本

领域com/类别/类别名称/索引。php?&最新版本;wpusers=现在更快乐

我已经搜索了很多PHP级别的解决方案。这个网站不允许我在这里发布两个以上的链接,很抱歉这个限制功能

。。。这里是我研究过的最好的相关链接供参考(有些链接是100%上下文中的链接,但已过时,所以我不知道它们是否对WordPress仍然有效):

Resolved

Link 到一个类别中的最新帖子?

Link 至类别中的最新帖子

我还有大约十个相关链接。。。

但再一次,似乎不需要PHP、函数或模板级别的方法就可以做到这一点。有那么多酷的小?此和(&;该元素添加到URL中,表示应该有一个可以获取最新帖子的URL。

YouTube播放列表链接就是一个很好的例子。它加载最新视频,并允许各种&;高度(&A);宽度(&A);rel=0能力。

我有点惊讶这不是WordPress的核心功能。

现在,我有几个小部件变体,可以在头版上显示最近发布的文章或特色文章,其中包含摘录和特色图片。当有人点击标题、特色图片或阅读更多内容时,他们会被带到该帖子。

所以我可以看到widget可以创建链接——我不知道如何利用相同的概念创建链接而不显示所有内容。

1 个回复
SO网友:Milo

它并没有内置到core中,但肯定可以添加,然而,我认为在多个URL上提供一篇文章不是一个好主意,所以重定向可能是最好的。当然,它需要一点PHP,因为WordPress并没有魔法或意志力。

首先,我们将函数挂接到parse_request 操作,当WordPress确定如何为主查询设置查询变量时运行。

下面的代码假定启用了相当长的永久链接,并且类别URL有一个类别库。在这些条件下category_name 设置了查询变量,因此我们可以检查这是否是对类别的请求。同时,我们还检查latest 设置了GET var,因此当URL如下所示时,将一起触发此代码:

http://example.com/category/some-category/?latest

如果满足这些条件,我们将通过WP_Query, 默认情况下,这将为我们提供该类别中的最新帖子。

如果找到帖子,我们将通过重定向到该帖子的URLwp_redirect.

这段代码可以放在我们的主题中functions.php 文件:

function wpa_latest_in_category_redirect( $request ){
    if( isset( $_GET[\'latest\'] )
        && isset( $request->query_vars[\'category_name\'] ) ){

        $latest = new WP_Query( array(
            \'category_name\' => $request->query_vars[\'category_name\'],
            \'posts_per_page\' => 1
        ) );
        if( $latest->have_posts() ){
            wp_redirect( get_permalink( $latest->post->ID ) );
            exit;
        }

    }
}
add_action( \'parse_request\', \'wpa_latest_in_category_redirect\' );

结束

相关推荐

Custom Admin Pagination links

我说的是所有帖子所在的wordpress管理区。我想问一下,是否有一种方法不仅可以显示第一个和最后一个分页链接,还可以显示中间的在中间。例1、2、3。。。。6,7最后一页。。我试图操纵wp_list_table 上课没有成功。