• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >WordPress > WordPress 不同页面对应不同模板解决方法

WordPress 不同页面对应不同模板解决方法

作者:小兽 字体:[增加 减小] 来源:互联网 时间:2018-11-02

小兽向大家介绍了WordPress 不同页面对应不同模板解决方法等相关知识,希望对您有所帮助

先来看看不同的页面模板如何制作

我们在制作 WordPress 主题时,很多页面写专门的页面模板,如 tpl-contact.php 专门给页面 contact 使用。

举个例子:还是刚才说的 tpl-contact.php,刚好使用 tpl-contact.php 作为模板的页面的 footer 部分有个电话号码,而默认的 page.php 和其他页面模板又不需要,虽然可以给 tpl-contact.php 复制一个 footer.php 改名为其他名(如 footer-contact.php)给 tpl-contact.php 专用(用 get_footer(‘contact’) 调用),但这样好像有点小题大做了。

我以前不知道 WordPress 本身提供了一个函数来判断的,我用了比较麻烦的判断方法,在 footer.php 加了这样的判断来实现,经过比较“坎坷”……

从前有座山,山里有个庙,我用了『 get_page_template() 』函数:

if (is_page()){
$page_tpl_name = get_page_template(); //获取模板文件全路径
$page_tpl_name = split(‘/tpl-‘, $page_tpl_name); //分割,??br/> if ($page_tpl_name[1] == ‘contact.php’) {
/* 显示电话号码 */
}
}

自从庙里有个老和尚和小和尚后,我用了『 get_post_custom_values() 』来实现

if (is_page()){
$page_tpl = get_post_custom_values(‘_wp_page_template’); //获取字段 _wp_page_template 的数组值
if ( $page_tpl[0] == ‘tpl-contact.php’ ) { //判断第一个数组值(模板文件名)是否是 tpl-contact.php
/* 显示电话号码 */
}
}

当老和尚开始向小和尚讲故事的时候,我才知道 WordPress 本来就有个『 is_page_template() 』函数用来判断模板文件是否使用时,我立即打住老和尚讲无限循环的故事!

if ( is_page_template(‘tpl-contact.php’) ) {
/* 显示电话号码 */
}

注1:is_page_template 不能用在 loop 里面,如果之前有 loop,先在 loop 后面使用 wp_reset_query(),然后再使用 is_page_template
注2:如果模板文件在某个文件夹里,如 template/tpl-contact.php,那么这样 if ( is_page_template(‘template/tpl-contact.php’) )

实现WordPress不同分类目录调用不同模板的方法

为了网站的美观及用途, 类目以及内容页面的差异性,需要让不同的页面使用不同的模版。这时候就需要实现不同的分类调用不同的模板,今天笔者就给大家介绍实现WordPress不同分类调用不同模板的两个方法,你可以根据情况选择使用。

方法一:

首先我们要做的就是找到你网站正在使用的主题文件(默认路径..\wp-content\themes\),并用编辑器打开 category.php文件,然后用下面的代码替换里面除get_header()与get_footer()除外的代码,并将原来被替换的代码拷贝出 来并粘贴到你新建的模板文件中,如category_default.php

<?php

$post = $wp_query->post;

if(in_category(’2′)) {

include(TEMPLATEPATH.’/category_2.php’);

}

else if (in_category(’3′)){

include(TEMPLATEPATH.’/category_3.php’);
}

else {

include(TEMPLATEPATH.’/category-default.php’);

}

?>

最终结果如下:

<?php get_header(); ?>

<?php

$post = $wp_query->post;

if(in_category(’2′)) {

include(TEMPLATEPATH.’/category_2.php’);
}

else if (in_category(’3′)){

include(TEMPLATEPATH.’/category_3.php’);

}

else {

include(TEMPLATEPATH.’/category-default.php’);
}

?>

<?php get_footer(); ?>

这段代码函数的主要作用就是根据分类目录的ID去判断并调用对应的模板,如果分类目录ID为2,则为这个分类目录调用 category_2.php模板,如果ID为3,则调用category_3.php模板,如果以上两者都不是则调用category- default.php这个默认的模板。当然了,如果你如果需要给更多的分类目录指定模板,你只需要再添加一个else if语句既可,如下面代码所示:

<?php get_header(); ?>

<?php

$post = $wp_query->post;

if(in_category(’2′)) {

include(TEMPLATEPATH.’/category_2.php’);
}

else if (in_category(’3′)){

include(TEMPLATEPATH.’/category_3.php’);

}

else if (in_category(’6′)){

include(TEMPLATEPATH.’/category_6.php’);

}

else {

include(TEMPLATEPATH.’/category-default.php’);

}

?>

<?php get_footer(); ?>

另外要注意的就是category_6.php等这些模板文件的调用路径了,如果你想单独新建一个文件夹来放这些分类目录模板文件,那上面代码中也要一起修改。

方法二:

这是一种比较简便的调用方法,加入wordpress这个分类的ID=1, 那么就新建一个模板category-1.php,系统会自动调用这个ID的,重点是记住这个文件命名格式category-*.php,这里的*代表着 category的ID。怎么样,简单的不行了吧?

到这里为不同的分类目录调用不同的模板就结束了,最后你要做的就是根据自己的完美思想去定义wordpress模板文件了。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-13如何进行Wordpress的后台设置
  • 2018-11-02未开启的插件会影响WordPress速度吗?是否应该删除?
  • 2018-11-02WordPress批量转换文章分类
  • 2018-11-02WordPress 显示相对日期
  • 2017-05-13WordPress 2.8的8个特色的新增功能
  • 2018-11-02WordPress调用其它站点文章显示在自己网站上
  • 2018-11-02显示WordPress登录用户角色
  • 2018-11-02三个用WordPress制作企业网站的理由
  • 2017-05-13能有效改善WordPress CMS功能的8个插件分享
  • 2017-05-13百度官方推出的WordPress结构化数据插件百度sitemap

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 有几十个企业官网要部署,wordpress模式选择
    • WordPress统计当前页面数据库查询次数及消耗时间的方法
    • 4行代码解决wordpress密码忘记问题
    • WordPress禁止冒充管理员评论
    • WordPress教程:网站中使用自定义字体
    • wordpress设置友情链接只在首页显示的方法
    • WordPress一键开启全站SSL
    • WordPress主题中移除多余的评论字段
    • wordpress添加顶级菜单实现思路
    • WordPress取消英文标点符号自动替换中文标点符号的优雅方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有