您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
WordPress页面模板是从哪里来的
帅黎2025-03-24 14:39:20WordPress教程已有8人查阅
导读今天看到WordPress中的可以自定义页面模板,很好奇在添加页面时,这些页面模板的选项从哪里来的?首先找到Post.php,竟然没有找到这区域是在post.php的那个函数内输出的,后来通过查
今天看到WordPress中的可以自定义页面模板,很好奇在添加页面时,这些页面模板的选项从哪里来的?
首先找到Post.php,竟然没有找到这区域是在post.php的那个函数内输出的,后来通过查找输出页面Html代码,找到了输出位置是在wp-admin/includes/meta-boxes.php的“page_attributes_meta_box”方法中。
page_attributes_meta_box方法就是用来显示页面属性,它被“edit-form-advanced.php”页面所调用,使用的语句是: 通过add_meta_box来调用了“page_attributes_meta_box”。meta-boxes.php是一个插件,是在”wp-admin\edit-form-advanced.php”通过require_once('./includes/meta-boxes.php');引入到程序中的。而”wp-admin\edit-from-advanced.php”也是通过require_once被包含在post.php中。
在meta-boxes.php中,使用了page_template_dropdown方法来输出select的内容。 在文件”wp-admin/includes/template.php "中找到了这个方法,而在wp-admin\includes\admin.php":require_once(ABSPATH . 'wp-admin/includes/template.php');中引入了template.php这个文件到wordpress中。在template.php中,page_template_dropdown方法主要是通过”get_page_templates“方法获取到option的值。get_page_templates是来自于”wp-admin/includes/theme.php”文件的。 在这个方法中,首先通过get_themes方法获取所有的模板,然后再通过get_current_theme()获取到当前的模板保存信息。通过输出$theme的内容,我们获取的是一个所有模板的目录列表。wordpress是通过什么来确定哪个模板是页面模板?
通过”$template_data = implode( '', file( $template )); “方法来获取模板的内容。然后通过正则匹配有在模板内容中指定”Template Name“的模板,获取的模板名后,这个模板就是页面模板。我们可以打开wordpress默认自带的模板”onecolumn-page.php“在这个模板的注释部分可以看到” * Template Name: One column, no sidebar“我们如果需要给wordpress增加新的页面模板的话,就需要在模板中带上Template Name这个注释,wordpress就自动会把这个模板识别成页面模板。
Tips
可以通过在wp-config.php中把define('WP_DEBUG', false);设置为true,就可以通过print_r和die来逐步输出我们需要查看的内容。
首先找到Post.php,竟然没有找到这区域是在post.php的那个函数内输出的,后来通过查找输出页面Html代码,找到了输出位置是在wp-admin/includes/meta-boxes.php的“page_attributes_meta_box”方法中。
page_attributes_meta_box方法就是用来显示页面属性,它被“edit-form-advanced.php”页面所调用,使用的语句是: 通过add_meta_box来调用了“page_attributes_meta_box”。meta-boxes.php是一个插件,是在”wp-admin\edit-form-advanced.php”通过require_once('./includes/meta-boxes.php');引入到程序中的。而”wp-admin\edit-from-advanced.php”也是通过require_once被包含在post.php中。
在meta-boxes.php中,使用了page_template_dropdown方法来输出select的内容。 在文件”wp-admin/includes/template.php "中找到了这个方法,而在wp-admin\includes\admin.php":require_once(ABSPATH . 'wp-admin/includes/template.php');中引入了template.php这个文件到wordpress中。在template.php中,page_template_dropdown方法主要是通过”get_page_templates“方法获取到option的值。get_page_templates是来自于”wp-admin/includes/theme.php”文件的。 在这个方法中,首先通过get_themes方法获取所有的模板,然后再通过get_current_theme()获取到当前的模板保存信息。通过输出$theme的内容,我们获取的是一个所有模板的目录列表。wordpress是通过什么来确定哪个模板是页面模板?
通过”$template_data = implode( '', file( $template )); “方法来获取模板的内容。然后通过正则匹配有在模板内容中指定”Template Name“的模板,获取的模板名后,这个模板就是页面模板。我们可以打开wordpress默认自带的模板”onecolumn-page.php“在这个模板的注释部分可以看到” * Template Name: One column, no sidebar“我们如果需要给wordpress增加新的页面模板的话,就需要在模板中带上Template Name这个注释,wordpress就自动会把这个模板识别成页面模板。
Tips
可以通过在wp-config.php中把define('WP_DEBUG', false);设置为true,就可以通过print_r和die来逐步输出我们需要查看的内容。
本文标签:
很赞哦! (1)
暂无内容 |
暂无内容 |
暂无内容 |
暂无内容 |
随机图文
wordpress安装主题时提示超时的解决方法
wordpress安装主题时提示超时要怎么处理?这段英文的意思是下载文件超时,由于你的主机网速比较慢,建议将这一时间调的长一些wordpress创建多个网站的方法介绍
以前Wopus团队分别用Wordpress建立了Wopus中文平台、WopusIDC平台WordPress主题站、WordPress插件基地等系列网站。这个方法虽然很简单很实用,但确实很傻瓜wordPress数据结构表分析
wordpress中各个表的字段,折腾WordPress必备良品~wp_categories: 用于保存分类相关信息的表。包括了5个字段,分别是:wordpress后台登陆地址怎么修改
wordpress博客后台登陆地址默认的是,这个后台中没有修改项,只能靠我们自己了。为了安全这个还是一定要改掉后台路径的。下面为大家分享下修改后台路径的方法。
留言与评论 (共有 0 条评论) |