为博客档案创建自定义URL

时间:2014-05-11 作者:RRikesh

我正在玩一个测试站点,我已经设置了一个静态页面作为主页。

现在,我想制作一个名为Blog - 使用urlexample.com/blog/ - 我将在这里列出最新的文章。我制作了一个自定义页面模板并更改了WP_Query 以便查询10篇最新帖子的列表。然后我创建了一个页面,并将永久链接设置为example.com/blog/.

对于permalinks,我使用自定义结构/blog/%postname%/ 所以我的博客帖子example.com/blog/post-name.

问题:我还希望每月存档页面和类别列表页面也使用我制作的自定义页面,而不是它们各自的模板文件。

或者我正在考虑的另一个解决方案是让普通归档页面正常工作,而不使用指向example.com/blog.

我对如何实现解决方案有点困惑。

2 个回复
最合适的回答,由SO网友:cybmeta 整理而成

当您将静态页面设置为主页时,还可以为博客存档设置页面。如果这样做,则无需更改博客页面模板中的WP\\u查询,只需像在存档模板文件中一样处理循环。当请求博客存档页面时,Wordpress将对博客存档进行正确的查询。

要使每月/类别存档使用不同于标准的模板文件,可以使用template_include 过滤器及其功能is_category()is_date():

add_filter( \'template_include\', \'inlcude_archive_page_template\' );
function inlcude_archive_page_template( $template ) {

    if ( is_category() ||  is_date() ) {
         $new_template = locate_template( array( \'the-archive-page-template.php\' ) );
         if ( \'\' != $new_template ) {
             return $new_template ;
         }
    }

    return $template;
}

SO网友:RachieVee

据我所知,你有两页纸。其中一页是主页,在仪表板上的“设置/阅读”下,您已将其设置为“首页”。您还将“帖子页面”设置为您创建的标题为“博客”的页面。

所以现在,帖子的存档,url是“yoursite/blog”,对吗?如果你不想让它成为“blog”,你可以把你的“blog”页面改名为其他页面,并确保slug是你想要的?因此,如果您将该页面命名为“新闻”,并且在编辑该页面时,在该页面的标题下,永久链接旁边有一个“编辑”选项,您可以确保该页面现在是新闻而不是博客,那么url应该改为“yoursite/News”。

结束

相关推荐

显示Archives.php中的所有自定义帖子类型

我该怎么做?archive.php 只有以下内容:wp_get_archives(\'type=monthly\'); 以及wp_get_archives() 没有显示所有帖子类型的参数。我也认为archive-[post_type].php 不是我要找的,因为我希望所有帖子类型都显示在一个归档页面中。谢谢W