以正确的方式创建自定义博客页面模板

时间:2017-01-04 作者:Ryan Coolwebs

我想为博客帖子的演示创建一个新的自定义页面模板。我意识到,当你通过设置阅读指定一个页面来显示帖子时,它就会指定主页。php来显示页面内容,即页面上的帖子。此外,在页面编辑视图中指定页面模板的选项也将消失。

现在,它显示一个默认的逐条视图。我想为管理员提供另一个选项,以选择一个不同的模板,该模板可以在网格或砖石布局中设置博客的样式。我不知道该怎么做。

我可以这样做not assigning 在“设置”阅读管理区域中显示博客的页面,然后允许管理员用户使用页面编辑中的“页面属性”菜单将特定模板分配给页面,但根据https://make.wordpress.org/themes/2014/06/28/correct-handling-of-static-front-page-and-custom-blog-posts-index-template/, this is the WRONG way.

我曾尝试在谷歌上搜索解决方案,但我一直在寻找插件使用的建议。有人能给我指出一些有用的资源吗?

3 个回复
SO网友:Orun

别忘了Wordpress最初是为博客CMS设计的,所以当涉及到主题开发时,开发人员通常会选择非标准方法来换取更多功能的潜力。

主题开发人员有三种选择,您提到了其中一种(下面的#2)。

直接编辑index.php 修改博客索引。这不是一个好的选择,因为index.php 应该是一个后备方案,以防模板的另一部分丢失。

优点:快速简便;缺点:容易出错,违反面向对象原则;为博客索引创建页面模板。正如你所说,许多主题开发人员选择走这条路,因为这是一种让你控制博客索引的快速方法,而且它实际上让你能够使用不同的博客索引模板(这在开发多功能主题时很有用)。

优点:功能多样,可以构建一个强大的主题;缺点:您无法调用Wordpress与博客索引相关的本机功能front-page.php, home.phpindex.php 在您的主题中。这个front-page 将是主题的主页。home 将默认为您的博客索引和index 将是所有模板的后备方案。

优点:清理并充分利用Wordpress的原生对象和方法,缺点:受Wordpress限制:不适合您今天看到的许多选项丰富的主题,我个人喜欢使用#2,因为我现在的大多数Wordpress开发项目不仅仅是博客:它们是具有深度信息架构和复杂交互的完整网站。

SO网友:iguanarama

在我的回答中要涵盖几个基础。:)

如果您正在创建自己的主题,并且希望更改某些类型页面(例如类别存档页面或单个博客帖子页面)的默认显示,请查看diagram of the WordPress template hierarchy. 它显示主题目录中的哪些文件用于显示哪些类型的帖子。

通过在主题中有一个与该层次结构中的文件相匹配的php文件,WordPress将自动使用它,例如single.php 用于显示单个立柱。如果你已经有了一个带有该文件的主题,那么显然你可以更改该文件,它将反映在网站上。

另外,如果您想拥有自定义页面模板,但只希望管理员能够更改它们(在逐帖的基础上),那么您需要对角色和功能进行一些检查;this StackExchange answer 可能会有帮助。(您仍然需要创建这些自定义页面模板,请参见this Smashing Magazine article).

否则,如果您希望管理员根据某些标准更全局地选择页面/帖子模板,或者为整个网站选择自定义页面模板,那么您需要在主题中添加管理区域选项,并在主题中添加一些自定义代码,以根据该选项显示正确的页面。使用众多插件中的一个可以轻松地向管理区域添加选项,但也可以手动完成(例如,请参见,this article on SitePoint).

SO网友:Akram ul haq

好的,你的意思是你想创建自己的模板页面来显示博客文章,对吗?

然后这样创建一个名为blog-template.php

在该文件中,将此代码放在所有内容的顶部。

<?php 
/*
* Template Name: Blog Post
*/
?>
然后在下面给出的代码中,输入index.php/home.php 转到上面的页面,保存文件,然后从中创建页面dashboard, 该页面的名称是"Blog" 现在从右侧开始chose page template 我们刚刚创建的Blog Post 从模板下拉列表中。

发布页面,你就可以拥有自己的页面来显示你的帖子。

如果还需要什么,请告诉我。

相关推荐