世界上超过20%的网站的都是使用Wordpress搭建的,学习和使用Wordpress开发建设网站的人越来越多,今天就讲解一下如何在WordPress主题中添加设置页面。我们以一个例子来说明。
每个主题都可以有很多的可编辑元素,本例中我将通过实现下面这三个方面的定制来说明如何给主题增加设置选项页,你应该要有自己更好的想法。
在进行主题定制前,应该首先创建一个可供自定义的“设置选项页面”。创建设置选项页的代码需要放置在主题目录下的functions.php文件中。如果我们的主题名为“OptionPage”,那么functions.php文件的路径为:\wp-content\themes\OptionPage\functions.php。 我们不需要让wordpress手动加载它,在执行时wordpress会自动加载。如果你是修改主题忽略这一步,主题中肯定会存在functions.php这个文件的。
首先第一步需要在后台建立一个空白页面供我们使用。我们通过add_aaction来实现这一步。Actions可以在wordpress执行时的特定时间被响应,例如,当在控制面板创建菜单时,admin_menu就会被响应执行。因此,可以利用这些来实现我们所需的功能。这是我们创建选项页的最基本的功能。
themeoptions_admin_menu() 是在控制面板的侧边栏中添加一个链接,指向我们创建的选项页:themeoptions_page。
add_theme_page() 的参数为:
现在后台控制面板侧边栏的处就多了一个“主题设置”的菜单,但是现在还是空白的,我们后面要实现的定制内容就在这个空白页面上创建。
现在我们就可以在刚创建的空白页面上添加我们的选项和字段。这个页面你可以根据自己的需要进行样式风格化,但在本教程中我们将使用wordpress默认的类,这样可以节省我们的时间并且看起来更加原生。
页面内容的代码需包含在 themeoptions_page() 函数内。首先,我们先添加一个 class="wrap" 的 div 容器;然后,在头部添加一个默认图标作为作为页面标题;最后是设计表单。
function themeoptions_page() { // here's the main function that will generate our options page ?>主题设置
在表单中,首先我们需要添加一个隐藏的值,通过它来检查更新是否已经提交。然后添加一个提交按钮,这里我也使用wordpress默认的按钮样式。现在的效果为:
现在我们已经创建了设置选项页的基本结构,下面我们开始根据之前制定的内容进行完善:
示例代码如下所示:
function themeoptions_page() { // 这是产生主题选项页面的主要功能 ?>主题设置
到这里选项页面的内容就已经基本构建完毕了。
4、数据库更新
到目前为止,我们已经创建了一个主题选项页面,下一步要做的就是如何将数据透过POST提交的wordpress数据库。要做到这一点,需要创建一个新的功能函数themeoptions_update(),这个函数将会被themeoptions_page()调用,所以将下面的代码添加到themeoptions_page()函数的最上面。
if ( $_POST['update_themeoptions'] == 'true' ) { themeoptions_update(); }下一步是增加一个更新函数。
function themeoptions_update() { // 数据更新验证 update_option('mytheme_colour', $_POST['colour']); update_option('mytheme_ad1image', $_POST['ad1image']); update_option('mytheme_ad1url', $_POST['ad1url']); update_option('mytheme_ad2image', $_POST['ad2image']); update_option('mytheme_ad2url', $_POST['ad2url']); if ($_POST['display_search']=='on') { $display = 'checked'; } else { $display = ''; } update_option('mytheme_display_search', $display); }5、调用选项定制主题
5.1 更改配色方案
我们主题的默认样式文件为 style.css,如果使用其他的配色方案,我们需要建立相应的样式文件,例如本例中的 blue.css、pink.css,style.css 为默认的灰色。
为了切换配色方案样式表,需要在主题 header 中加入以下代码:
5.2 增加广告位图片
在你想要放置广告的地方添加以下代码:
5.3 是否显示搜索框
在需要放置搜索框的地方添加以下代码,当用户选择显示搜索框时会显示,否则则不显示:
搜索框
Wordpress添加设置选项是制作主题的基础,同时也可以动态设置一些值来动态改变Wordpress网站的显示,Wordpress非常强大,所以要学制作主题的朋友,一定要学会给Wordpress主题添加设置页面。