我如何创建一个类别的链接——它是最新/最近的帖子?
我想显示实际的帖子。我不想显示包含一个帖子列表的类别。我在这里会很傻……:)
但在我有时狂野无限的想象中,应该已经有了这样的东西:
领域com/类别名称/索引。php?最新版本
或
领域com/类别/类别名称/索引。php?&最新版本;wpusers=现在更快乐
我已经搜索了很多PHP级别的解决方案。这个网站不允许我在这里发布两个以上的链接,很抱歉这个限制功能
。。。这里是我研究过的最好的相关链接供参考(有些链接是100%上下文中的链接,但已过时,所以我不知道它们是否对WordPress仍然有效):
Resolved
Link 到一个类别中的最新帖子?
Link 至类别中的最新帖子
我还有大约十个相关链接。。。
但再一次,似乎不需要PHP、函数或模板级别的方法就可以做到这一点。有那么多酷的小?此和(&;该元素添加到URL中,表示应该有一个可以获取最新帖子的URL。
YouTube播放列表链接就是一个很好的例子。它加载最新视频,并允许各种&;高度(&A);宽度(&A);rel=0能力。
我有点惊讶这不是WordPress的核心功能。
现在,我有几个小部件变体,可以在头版上显示最近发布的文章或特色文章,其中包含摘录和特色图片。当有人点击标题、特色图片或阅读更多内容时,他们会被带到该帖子。
所以我可以看到widget可以创建链接——我不知道如何利用相同的概念创建链接而不显示所有内容。
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\' );