不到50行代码就实现一个 WordPress 主题的选项框架

建站笔记1年前 (2023)发布 小萝卜头
472 0 0

相信很多订阅我博客和公众号的同学是想自己做 WordPress 开发的,那么对于使用 WordPress 二次开发的同学来说,最快上手的方法就是开发一个 WordPress 主题,是的,很多使用 WordPress 进行开发的同学,一开始的想法就是自己做一个 WordPress 主题。

对于 WordPress 主题开发,其中最重要的一步就是就是在后台做一个选项设置页面,然后在主题中调用这些选项来对主题进行一些自定义设置。

主题选项开发框架

现在网上有很多这方面适合二次开发的选项框架(Option Framework),但是我看了一圈下来,感觉一是这些选项框架都做得非常大,文件非常多,另外样式布局也是和 WordPress 原生差距甚大,点击进去显得和 WordPress 后台其他页面格格不人,并且使用起来有一定的门槛,上手比较难。

所以我就把之前制作制作 Sweet 主题中选项设置部分代码,做一些简单的整理,也出了一个主题的选项开发框架,全部加起来不到50行代码,只需要修改或者增加设置的选项字段,和其他的一些名字即可直接使用。

开始使用主题框架

我们的主题开发框架使用是非常简单的,首先在自己开发的主题中引入该文件,假设我们把它放到主题的 inc 目录下,那么在主题的 functions.php 文件通过一下代码引入框架:

include TEMPLATEPATH.'/inc/option.php';

然后我们先看看效果,目前在后台增加了一个「主题设置」的后台主菜单:

「主题设置」这个名字和左边的图标,你可以修改成你主题的名字即可,修改的位置大概在30行,相关的代码:

public static function get_menu_page(){
	return [
		'menu_slug'		=> 'wpjam-theme',
		'menu_title'	=> '主题设置',			// 改成你主题的名字
		'icon'			=> 'dashicons-hammer',	// 改成自己喜欢的 icon
		'capability'	=> 'manage_options',
		'position'		=> '59',
		'function'		=> 'option',
		'option_name'	=> 'wpjam_theme',
	];
}

修改的位置,我都通过注释做了标记。

最后点击进去,可以看到设置页面有两个标签页:

第一个标签页有两个图片上传按钮和一个多图上传器。

然后第二个标签页,简单罗列了常用的几种表单字段:

标签页名字和这些字段如何修改也非常简单,相关的代码在 get_sections 方法中:

public static function get_sections(){
	return [
		'section1'		=> [
			'title'		=>'标签页1', 
			'fields'	=>[
				'logo'		=> ['title'=>'网站 LOGO',	'type'=>'img',		'item_type'=>'url',	],
				'favicon'	=> ['title'=>'Favicon',		'type'=>'img',		'item_type'=>'url',	],
				'images'	=> ['title'=>'多图上传',		'type'=>'mu-img',	'item_type'=>'url',	],
			]
		],
		'section2'	=> [
			'title'		=>'标签页2', 
			'fields'	=>[
				'text'		=> ['title'=>'普通输入框',	'type'=>'text'],
				'number'	=> ['title'=>'数字输入框',	'type'=>'number'],
				'checkbox'	=> ['title'=>'选择框',		'type'=>'checkbox',	'description'=>'你要开启该功能'],
				'checkboxs'	=> ['title'=>'复选框',		'type'=>'checkbox',	'options'=>[1=>'选项1', 2=>'选项2', 3=>'选项3', ]],
				'radio'		=> ['title'=>'单选框',		'type'=>'radio',	'options'=>[1=>'选项1', 2=>'选项2', 3=>'选项3', ]],
				'textarea'	=> ['title'=>'文本框',		'type'=>'textarea'],
			]
		],
	];
}

可以说完全是配置型代码,先备份一下,然后自己尝试一下去修改。

在主题中调用选项

选项字段都设置好了,并且也保存了设置,怎么获取设置呢?这个框架还提供了函数:

wpjam_theme_get_setting($name, $default=null);

它有两个参数,$name 是选项名称,$default 是默认值,一眼就明白怎么用了吧?

有了这个选项框架,制作 WordPress 主题的选项页面,和应用这些选型,变得异常的简单,但多说无用,最重要的是自己亲手试一下。

最后说一下,使用该框架制作的后台设置页面,都是 WordPress 默认的 UI 样式,感觉和 WordPress 后台原生的页面几乎一样,对于用户的体验是最好的。

该文件我也一起打包到了「使用 WPJAM Basic 进行快速开发指南」电子书的下载包里面,文件名是 option.php,下载方式还是一样:

收录于{我爱水煮鱼}

© 版权声明

相关文章

暂无评论

暂无评论...