如果您的博客设置为显示主页上的最后一篇文章,那么您需要的链接就是主页链接,可以使用自定义链接插入该链接。
如果您的博客设置为将静态页面显示为首页,还可以创建一个页面并将其设置为“Posts page”,那么指向该页面的链接将成为帖子的链接。
如果您需要更改帖子的显示方式,例如显示的帖子数量,请使用pre_get_posts
行动挂钩,带is_home()
条件(即使站点主页是静态页面)。
add_action(\'pre_get_posts\',\'show_all_posts\');
function show_all_posts( $query ) {
if ( ! is_admin() && $query->is_main_query() && is_home() ) {
$query->set(\'posts_per_page\', -1);
}
}
正如评论中所指出的,当主页设置为显示最后一篇文章时,其样式通常与普通存档不同,在这种情况下,解决方案是创建页面模板。
E、 g.创建一个名为pages-posts.php
在主题根目录中(如果主题是由第三方开发的,最好创建一个子主题)。在这个文件中
<?php
/*
Template Name: Posts Page
*/
get_template_part(\'index\'); // or \'archive\' or whatever template you want to use
之后在
functions.php
添加:
add_action(\'pre_get_posts\',\'show_all_posts\');
function show_all_posts( $query ) {
if ( ! is_admin() && $query->is_main_query() && is_page_template(\'pages-posts.php\') ) {
$query->set(\'page\', false);
$query->set(\'pagename\', false);
$query->is_singular = false;
$query->is_page = false;
$query->is_home = true;
$query->set(\'post_type\', \'post\');
$query->set(\'posts_per_page\', 10);
}
}
现在你必须
create a page in dashboards, assign the page template and use this page to show posts.
这似乎是一项糟糕而艰巨的工作,但一旦WordPress不是标准帖子的特定存档,唯一的替代方法就是将查询放在pgae模板中,但在这种情况下,您将运行2个查询,一个用于检索页面,一个用于帖子,使用我的代码,您将运行一个查询,因此性能更好。
编辑2就在昨天,我发布了一个新插件Clever Rules 使用该插件,只需一行代码即可完成所需操作,无需添加任何其他页面。
安装并激活插件后,创建一个名为“myrules”的新文件。php在it中的应用:
<?php
/**
* Plugin Name: My Rules
*/
add_action(\'plugins_loaded\', \'register_my_rules\');
function register_my_rules() {
if ( function_exists(\'register_clever_rule\') )
register_clever_rule(\'/posts\')->query(\'post_type=post\')->template(\'index.php\');
}
之后,将此文件保存在插件文件夹中。转到仪表板并激活此“我的规则”插件。现在,当您访问url时,您就完成了
http://yoursite.com/posts/
您将看到使用
index.php
样板如果你想的话,可以改变它。
请注意,该插件是测试版,所以没有完全测试。