在我们使用wordpress 原始主题时 ,文章列表-category.php 只为我们提供一种模板样式。如果我们想实现不同的文章分类调用不同的样式模板,例如当我们做一些企业站的时候,往往不同的分类栏目会有不同的显示方式,像新闻列表、产品列表、公司简介之类等等… 那么下面就介绍一种简单实用的调用方法。这个方法需要借助一个Custom Post Template插件实现,使用方法也很简单。
Step1
首先安装Custom Post Template插件,你会发现文章发布页面会多出一个栏目,这个栏目是在你发布文章的时候可以选择不同模版,前提是你要事先创建好文章发布模版,如图
是不是很熟悉?这个就类似页面发布的时候所使用的模版啦,功能一样只不过是换到了文章发布区域而不是页面发布区域而已。
接下来打开主题里面的 single.php ,这个是用来显示文章显示的页面文件,复制三份重命名为 newlist.php 用来显示新闻列表的页面、 product.php 产品列表,以及about.php用来显示公司简介。
在newslist.php 文件的<?php get_header(); ?>前加入
- <?php
- /*
- Template Name Posts: newlist //声明模版名称
- */
- ?>
product.php,about.php 同理。
Step2
再次打开文章编辑页面你会发现多出了newslist.php 选项。
这里就是你刚才创建的模版了,newlist.php,product.php,about.php这三个文件如何显示根据个人需要通过调用不同的结构跟样式来决定。
Step3
在function.php 文件中注册菜单,目的是为了在导航栏目中自由添加新闻列表、产品列表、公司简介等栏目。代码如下添加名为Main Navigation Menu 的菜单导航栏。
- if (function_exists('register_nav_menus')) {
- register_nav_menus(
- array(
- 'main_nav' => 'Main Navigation Menu'
- )
- );
- }
接下来打开后台界面,在文章的分类目录中添加三个分类,新闻列表、产品列表、公司简介。
先在head.php文件中添加刚才已经注册好的菜单项目 在想要显示菜单导航栏目的相应位置加入如下代码
- <?php wp_nav_menu(array('menu' => 'Main Nav Menu')); ?>
到后台页面打开外观选项中的菜单选项,创建菜单名称(Main Nav Menu)并添加好三个栏目就OK了。
把你想发布的文章添加到相应的分类栏目就行了!
Step4
最后一步根据不同模版调用不同样式。
在header.php 文件中加入
- <?php if (is_category('newslist')) { ?>
- <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/newslist.css"> //加载新闻列表样式
- <?php } ?>
- <?php if (is_category('product')) { ?>
- <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/product.css">//加载产品列表样式
- <?php } ?>
- <?php if (is_category('about')) { ?>
- <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/about.css">//加载关于公司简介样式
- <?php } ?>
当然在is_category()中使用中文名字也是可以识别的 例如is_category('新闻列表'),不过最好使用英文比较好些。
总结:虽然刚开始的步骤有点多,但是使用这个方法的好处就是省去了记录cat id 的步骤,你想添加某个栏目的模版都可以任意添加,一劳永逸,个人觉得挺方便的。
文章来源:数字生活 web前端资源 wordpress 文章分类调用不同模板