您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
自己动手制作WordPress主题步骤教程
梁胤鸣2025-03-01WordPress教程已有人查阅
导读在制作的过程中发现一个问题,就是WP后台没有设置Meta的keywords的地方。于是想自己增加一个设置界面。如果用phpmyadmin查看过WP的数据库结构,就很容易明白后台设置的原理:只不
在制作的过程中发现一个问题,就是WP后台没有设置Meta的keywords的地方。于是想自己增加一个设置界面。如果用phpmyadmin查看过WP的数据库结构,就很容易明白后台设置的原理:只不过是在WP_Options表中增加一条记录,当然我们是用WP提供的标准函数来操作数据库。
机制
我们登录后台时,WP如何将控制权交给我们呢?是去调用我们主题的哪个文件呢?约定:functions.php文件。此处有一 :一旦我们的主题包含了functions.php,就在WP的请求响应处理管线中插入了一环,无论我们访问的是哪一个页面,都要经过functions.php,这显然不是我们想要的。我们需要的是:登录后台时才去执行functions.php里面的逻辑,用户访问前台网站不需要执行。这个“ ”可以通过Zend Studio的调试功能看到:
在functions.php中设置断点,然后访问前台index.php,却得到了上图的调用堆栈。这样的结果虽然有些意外,但让我们对WP的机制有了些了解,看来调试还是很重要的:) 下面会给出编码,来避免这个性能 。后台实现
了解了上面的 以后,为了方便增加了一个theme-options.php文件来实现主题选项的逻辑,这样functions.php的代码就简化了:
theme-options.php代码:
add_theme_page 函数在后台页面->外观菜单下插入一个"主题选项"的菜单。
当点击此菜单时调用display函数,显示设置界面。
add_action('admin_menu','init')相当于添加事件和事件处理程序。WP的常用actions参考这里。
init函数判断如果点击了"input_save"保存按钮,提交form表单,就保存更改。前台调用:
header.php中添加以下代码
机制
我们登录后台时,WP如何将控制权交给我们呢?是去调用我们主题的哪个文件呢?约定:functions.php文件。此处有一 :一旦我们的主题包含了functions.php,就在WP的请求响应处理管线中插入了一环,无论我们访问的是哪一个页面,都要经过functions.php,这显然不是我们想要的。我们需要的是:登录后台时才去执行functions.php里面的逻辑,用户访问前台网站不需要执行。这个“ ”可以通过Zend Studio的调试功能看到:
在functions.php中设置断点,然后访问前台index.php,却得到了上图的调用堆栈。这样的结果虽然有些意外,但让我们对WP的机制有了些了解,看来调试还是很重要的:) 下面会给出编码,来避免这个性能 。后台实现
了解了上面的 以后,为了方便增加了一个theme-options.php文件来实现主题选项的逻辑,这样functions.php的代码就简化了:
<?php
if(is_admin())
require ('theme-options.php');
?>
我们用is_admin()函数判断用户访问的是前台还是后台。theme-options.php代码:
<?php
function getOptions() {
$options = get_option('cnblogs_options');
if (!is_array($options)) {
$options['meta_keywords'] = '';
update_option('cnblogs_options', $options);
}
return $options;
}
/* 初始化 */
function init() {
if(isset($_POST['input_save'])) {
$options = getOptions();
$options['meta_keywords'] = stripslashes($_POST['meta_keywords']);
update_option('cnblogs_options', $options);
} else {
getOptions();
}
add_theme_page("主题选项", "主题选项", 'edit_themes', basename(__FILE__), 'display');
}
/* 界面 */
function display() {
$options = getOptions();
?>
<form action="#" method="post" enctype="multipart/form-data" name="op_form" id="op_form">
<div class="wrap">
<h2>当前主题选项</h2>
<table>
<tbody>
<tr>
<td>meta keywords</td>
<td>
<label>
<textarea name="meta_keywords" cols="50" rows="10" id="meta_keywords" style="width:98%;font-size:12px;" ><?php echo($options['meta_keywords']); ?></textarea>
</label>
</td>
</tr>
</tbody>
</table>
<p class="submit">
<input type="submit" name="input_save" value="保存" />
</p>
</div>
</form>
<?php
}
add_action('admin_menu', 'init');
?>
get_option函数获取选项值;update_option更新选项。我们这里定义了一个“cnblogs_options”的选项,为了和WP自己的选项分开来,这里定义成数组形式。php的数组可以当成C#的字典 使用,这里定义了字典项"meta_keywords“。add_theme_page 函数在后台页面->外观菜单下插入一个"主题选项"的菜单。
当点击此菜单时调用display函数,显示设置界面。
add_action('admin_menu','init')相当于添加事件和事件处理程序。WP的常用actions参考这里。
init函数判断如果点击了"input_save"保存按钮,提交form表单,就保存更改。前台调用:
header.php中添加以下代码
<meta name="keywords" content="<?php
$cnblogsopt=get_option('cnblogs_options');
echo $cnblogsopt['meta_keywords'];
?>"/>
本文标签:
很赞哦! ()
相关教程
- (响应式)WordPress主题Ripro9.0博客免扩展二开版
- (自适应)WordPress主题SEO自媒体博客资讯模板RabbitV2.0
- WordPress主题模板JustNews资讯博客类源码V5.2.2
- WordPress主题模板主题巴巴/博客X主题源码免费下载
- WordPress主题制作导航的多种方法介绍
- WordPress主题初始化优化教程
- WordPress主题WP_Query基本用法介绍
- WordPress主题开发常用数据调用介绍
- 修改WordPress主题的方法
- wordpress主题信息的删除方法
- WordPress主题怎么加密,WordPress主题加密怎么破解
- wordpress主题更改语言的方法
图文教程
WordPress添加投稿功能的方法
很多网站都想开放读者的投稿功能,接受读者的投稿,不仅可以丰富博客的内容,还可以增加与读者之间的沟通,可以说是一举多得的事情
wordpress网站怎么设置伪静态
wordpress网站设置伪静态有利于网站优化,并且有利于搜索引擎爬虫访问,提高网站文章收录的速度。下面我来分享一下wordpress站点伪静态设置的方法:
wordpress的hook机制介绍
稍有接触过WordPress布景或外挂客制修改的朋友,对WordPress的Hook机制应该不陌生,但通常刚接触WordPress Hook的新手,对其运作原理可能会有点混乱或模糊。本文针对WordPress Ho
WordPress批量修改文章信息的方法
你是否遇到过如下几种状况:博客更换域名,博客文章的内容也要跟着换使用的图片地址更换了写了很多文章,回过头来想切换作者想删除某个可恶留言者的所有留言想更改某个留言者所有留言的网站
相关源码
-
自适应黑色简繁双语轴承齿轮机械设备制造网站模板该模板为轴承齿轮机械制造企业提供一体化网站建设方案,着重解决行业特有的多语言展示、移动端适配和高效率内容管理需求,帮助企业精准展示产品特性与工艺流程查看源码 -
(自适应响应式)HTML5幕墙装饰工程建筑装修公司pbootcms模板下载基于PbootCMS开发的响应式模板,为幕墙工程、建筑装饰企业设计,通过数字化展示提升企业专业形象与项目展示能力。结构化数据标记增强项目案例收录,智能URL路由优化,支持每个工程案例独立设置关键词与描述查看源码 -
粉色家政月嫂保姆公司pbootcms网站模板(PC+WAP)为家政服务、月嫂保姆企业打造的营销型解决方案,基于PbootCMS内核开发,采用温馨粉色主题传递行业温度。PHP7.0+高性能架构支持SQLite/MySQL双数据库查看源码 -
(自适应响应式)蓝色环保机械设备网站pbootcms模板HTML5源码下载基于PbootCMS的生态环境技术展示平台,通过内容调整可应用于新能源设备、污水处理、空气净化等环保相关领域。设备参数采用对比表格展示,技术原理支持图文混排;查看源码 -
(自适应html5)重工业钢铁机械设备网站pbootcms响应式模板下载为重工业领域打造的响应式网站模板,助力企业高效展示产品与服务,基于PbootCMS开发的工业级网站模板,特别适合钢铁制造、机械设备生产等重工业企业使用。查看源码 -
帝国cms7.5女性护肤搭配美妆潮流网站源码带数据4.5G本模板专为女性美容护肤行业设计,提供美容护肤、发型设计、女性健康、时尚化妆、娱乐新闻、服饰搭配等女性潮流资讯内容展示。采用帝国CMS7.5开发,同步生成电脑端和手机端,满足用户对美容时尚信息的获取需求。查看源码
| 分享笔记 (共有 篇笔记) |

