使用 Piklist 插件为WordPress主题或插件添加设置选项
使用Piklist插件添加WordPress主题设置选项的方法
在本站之前的文章中,我介绍了WordPess开发插件Piklist的基本使用方法,今天为大家介绍一下使用Piklist插件添加主题设置选项的方法。首先,我们需要注册设置页面,然后是添加设置区域。Piklist添加设置选项的功能基于标准的WordPress设置API,并且在此基础上添加了一些更方便我们使用的特性。
注册一个设置页面
首先,注册一个设置页面
和Piklist的其他功能一样,添加设置页面的操作就是创建一个简单的数组,然后把这个数组作为参数传递给相应的Pikist函数,把下面的演示代码添加到主题的functions.php中,就可以在后台外观菜单下看到一个设置页面了。
add_filter('piklist_admin_pages','piklist_theme_setting_pages');
function piklist_theme_setting_pages($pages)
{
$pages[]=array(
'page_title'=>__('自定义设置')
,'menu_title'=>__('设置','piklist')
,'sub_menu'=>'themes.php'//在外观菜单下面
,'capability'=>'manage_options'
,'menu_slug'=>'custom_settings'
,'setting'=>'my_theme_settings'
,'single_line'=>true
,'default_tab'=>'基本设置'
,'save_text'=>'保存设置'
);
return$pages;
}
然后创建设置区域
现在,我们需要在主题中创建一个正确的文件夹结构,Piklist使用该文件夹结构自动为我们创建相应的字段输入表单,该文件夹结构为“你的主题/piklist/parts/settings/设置文件”
这个文件夹中的每个文件将在设置页面创建一个设置区域,在一个设置页面中可以有多个设置区域,整个操作非常简单,下面我们将通过几个设置区域来具体演示一下。
创建设置文件,例如demo-settings.php.
在这个文件的开头,是一个PHP注释块,用来控制该设置区域的表单,该注释块类似于标准的WordPress主题或插件的注释块,下面是必需的基本信息:
<?php
/*
Title:主题设置
Setting:demo-setting
*/
此注释块告诉Piklist我们需要添加的设置区域的名字为“主题设置”,并且关联该设置区域到“demo-setting”设置页面。
创建文本输入表单项:
piklist('field',array(
'type'=>'text'
,'field'=>'text'
,'label'=>'TextBox'
,'description'=>'FieldDescription'
,'help'=>'Thisishelptext.'
,'value'=>'Defaulttext'
,'attributes'=>array(
'class'=>'text'
)
));
此数组将使用WordPress设置API自动创建一个文本表单输入框,‘type’=>'text'告诉了Piklist渲染哪种类型的表单项,可以看出,创建表单输入项的数组非常简单明了。相信有经验的程序员通过猜测就可以知道其他类型的表单输入项的创建方法了,在这里就不一一演示了,有兴趣的朋友可以自行尝试。
设置区域的完整代码:
/*
Title:主题设置
Setting:demo_settings
*/
piklist('field',array(
'type'=>'text'
,'field'=>'text'
,'label'=>'文本输入框'
,'description'=>'文本输入框描述'
,'help'=>'帮助文本'
,'value'=>'默认文本'
,'attributes'=>array(
'class'=>'text'
)
));
获取设置选项的值在主题中使用
在本文的开头,我们提到过,Piklist使用的是默认的WordPress设置API,所以我们可以直接使用WordPress Option API获取这些设置的值,示例如下:
<?php
$theme_options=get_option('my_theme_settings');
$text_field=$theme_options['text'];
$select_field=$theme_options['select'];
$colorpicker_field=$theme_options['colorpicker'];
echo'这是一个文本字段:'.$text_field;
?>

-
搭建一个WordPress网站需要多少成本 2023-11-06 00:09:51
-
Symlink介绍(附:如何使用Symlink进行WordPress开发) 2023-11-05 23:38:32
-
让WordPress实现数据库同步的插件:HyperDB 2023-10-24 23:40:49
-
allegro电商平台值得做吗(附:2023年Allegro注册流程指南) 2023-10-08 21:53:39
-
印度跨境电商平台有哪些(附:印度跨境电商做什么产品好) 2023-10-08 21:34:23
-
跨境电商必看的几大海外二手电商平台 2023-10-08 18:04:42
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45
-
WordPress 6.3版本(2023年8月)性能提升了哪些? 2023-08-28 16:56:02