您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
wordpress文件template-loader.php代码说明
寻雁2025-03-28WordPress教程已有人查阅
导读再看template-laoder.php,这个文件总共只有45行。它的作用是基于访问的URL装载正确的模板,文件第六行,也是第一条语句,如下:
再看template-laoder.php,这个文件总共只有45行。它的作用是基于访问的URL装载正确的模板,文件第六行,也是第一条语句,如下:
‘template_redirect’的Action(动作)在include下的文件中出现。除了这里的do_action外,还有其他三个文 件中:default-filters.php,和ms-default-filters.php中以及canonical.php中出现。不包括wp- content目录下面出现的。
接下来是个判断语句;
do_robots函数位于functions.php1779行。作用:显示robot.txt的内容。
然后是个大的if语句:
以get_index_template为例:作用在当前或父模板下检索index模板路径,位置在theme.php725行。function get_index_template() { return get_query_template('index'); }
在这个函数里面,就把主题的模板给装载进来了,如何操作的?马上来~~
if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) do_action('template_redirect');
首先判断是否使用Themes,这个WP_USE_THEMES常量在index.php中第一句就被设置为true。因此条件成立,会执行do_action(‘template_redirect’)语句。do_action('template_redirect')都做了什么?wordpress默认的有如下:‘template_redirect’的Action(动作)在include下的文件中出现。除了这里的do_action外,还有其他三个文 件中:default-filters.php,和ms-default-filters.php中以及canonical.php中出现。不包括wp- content目录下面出现的。
canonical.php (411行): add_action(‘template_redirect’, ‘redirect_canonical’);
default-filters.php(200行): add_action( ‘template_redirect’, ‘wp_shortlink_header’,11, 0 );
default-filters.php(243行): add_action( ‘template_redirect’, ‘wp_old_slug_redirect’);
ms-default-filters.php(32行): add_action( ‘template_redirect’, ‘maybe_redirect_404′ );
ms-functions.php(1353行): add_action( ‘template_redirect’, ‘redirect_mu_dashboard’ );
default-filters.php文件设置了wordpress大部分默认的filter和action。文件内容都是诸如下面的形式。
add_action( ‘xxx’,'xxxx’);
ms-default-filters.php是多站点时候设置的,内容类似default-filters.php。wordpress默认情况下没有开启多站点。如果需要开启,请按照wordpress的指导文件操作。
add_action( 'template_redirect', 'wp_shortlink_header',11, 0)
wp_shortlink_header位于文件link-template.php 2230行。作用是如果当前页面定义了短连接,就在header中发送个短链接.形容:<link rel='shortlink' href='http://localhost/?p=1234' />这样的缩短网址。
add_action( 'template_redirect', 'wp_old_slug_redirect');
wp_old_slug_redirect() 在query.php2807行,slug是什么?slug是url的一部分。在wordpress后台的长久链接设置(/wp-admin /options-permalink.php)里,用户可以自定义链接格式。绝大多数自定义的用户喜欢在url中包含由文章标题生成的一串字符,这一串 字符就是post slug。这个函数功能是重定向old slug到正确的链接。接下来是个判断语句;
// Process feeds and trackbacks even if not using themes. if ( is_robots() ) : do_action('do_robots'); return; elseif ( is_feed() ) : do_feed(); return; elseif ( is_trackback() ) : include( ABSPATH . 'wp-trackback.php' ); return; endif;
is_robots函数判断当前查询是否是robot。位于query.php491行。do_robots函数位于functions.php1779行。作用:显示robot.txt的内容。
然后是个大的if语句:
if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) : $template = false; if ( is_404() && $template = get_404_template() ) : elseif ( is_search() && $template = get_search_template()) : elseif ( is_tax() && $template = get_taxonomy_template()) : elseif ( is_front_page() && $template = get_front_page_template()) : elseif ( is_home() && $template = get_home_template()) : elseif ( is_attachment() && $template = get_attachment_template()) : remove_filter('the_content', 'prepend_attachment'); elseif ( is_single() && $template = get_single_template()) : elseif ( is_page() && $template = get_page_template()) : elseif ( is_category() && $template = get_category_template()) : elseif ( is_tag()&& $template = get_tag_template()) : elseif ( is_author()&& $template = get_author_template()) : elseif ( is_date()&& $template = get_date_template()) : elseif ( is_archive()&& $template = get_archive_template()) : elseif ( is_comments_popup() && $template = get_comments_popup_template() ) : elseif ( is_paged()&& $template = get_paged_template() ) : else : $template = get_index_template(); endif; if ( $template = apply_filters( 'template_include', $template ) ) include( $template ); return; endif;
这个大if语句中形如get_xxxx_template()的函数都定义在theme.php中。以get_index_template为例:作用在当前或父模板下检索index模板路径,位置在theme.php725行。function get_index_template() { return get_query_template('index'); }
在这个函数里面,就把主题的模板给装载进来了,如何操作的?马上来~~
本文标签:
很赞哦! ()
相关教程
图文教程
wordpress获取路径和URl地址函数总结
wordpress中的路径也不是很负责,有人为了让wordpress运行速度更快,就直接写了绝对地址,其实这样是很不好的,有可能别人修改了wordpress程序的地址,那么这样你编写的这个插件或者是主题就只有你自己用
wordpress能做什么,为什么选择WordPress
wordpress是一个开源建站程序,wordpress能做论坛网站、在线商城、表单提交功能等;wordpress是使用PHP语言开发的博客平台
WordPress如何推广,WordPress推广的方法
如果你了解过wordpress网站就会知道这样的网站可以安装很多插件,每种插件都有特定的功能,我们把插件安装在wordpress网站上之后,我们的网站也相应的多出了某些功能
wordpress语言文件.po.pot.mo汉化
.po文件,.mo文件,.pot文件是由gettext程序生成或者使用的源代码和编译结果。其中。是一种模板文件,其实质与.po文件一样,其中包含了从源代码中提取所有的翻译字符串的列表,主要提供给翻译人员使用。
相关源码
-
帝国CMS7.5手游资讯下载综合门户免费网站模板本模板基于帝国CMS7.5内核开发,为手游打造的综合门户网站解决方案。模板设计充分考虑了手业的特性,包含游戏资讯发布、手游下载、礼包发放、开测信息等核心功能模块,满足手游门户网站的各项业务需求。查看源码 -
自适应电子科技类产品公司pbootcms网站模板基于PbootCMS内核开发,为电子科技类企业设计,适用于电子产品展示、企业官网等场景。该模板采用开源架构,用户可自由访问和修改源码,灵活适配各类行业需求,无需二次开发成本查看源码 -
(自适应)英文绿色精密模具零件加工五金零件pbootcms外贸网站模板本模板基于PbootCMS开发,为五金零件、精密模具加工等英文外贸企业设计。采用响应式布局,适配各类移动设备,是五金零件企业开展国际贸易的专业展示平台。查看源码 -
(自适应响应式)HTML5幕墙装饰工程建筑装修公司pbootcms模板下载基于PbootCMS开发的响应式模板,为幕墙工程、建筑装饰企业设计,通过数字化展示提升企业专业形象与项目展示能力。结构化数据标记增强项目案例收录,智能URL路由优化,支持每个工程案例独立设置关键词与描述查看源码 -
(自适应手机端)锁锁芯锁具网站pbootcms模板 智能防盗锁网站源码下载本模板基于PbootCMS系统开发,为智能锁具、防盗锁芯及相关安防产品企业设计。采用响应式布局技术,确保在手机、平板和电脑等不同设备上都能获得良好的浏览体验,数据实时同步更新。查看源码 -
工商注册财务代理记账类自适应pbootcms网站工商注册、财务代理记账企业打造的数字化门户模板,基于PbootCMS内核深度开发。采用前沿响应式架构,无缝适配手机端触控交互与PC端展示需求查看源码
| 分享笔记 (共有 篇笔记) |
