wordpress如**建模板页面

1、创建所需的文件

在进行主题定制前,应该首先创建一个可供自定义的“设置选项页面”。创建设置选项页的代码需要放置在主题目录下的functions.php文件中。如果我们的模板名为“OptionPage”,那么functions文件的路径为:wp-contentthemesOptionPagefunctions.php。

我们不需要让wordpress手动加载它,在执行时wordpress会自动加载。

2、建立设置选项页

首先**步需要在后台建立一个空白页面供我们使用。我们通过add_aaction来实现这一步。Actions可以在wordpress执行时的特定时间被响应,例如,当在控制面板创建菜单时,admin_menu就会被响应执行。因此,可以利用这些来实现我们所需的功能。这是我们创建选项页的*基本的功能。

<?php

//设置选项页

function themeoptions_admin_menu()

{

//在控制面板的侧边栏添加设置选项页链接

add_theme_page(“主题设置”,“主题选项”,‘edit_themes’, basename(__FILE__),‘themeoptions_page’);

}

function themeoptions_page()

{

//设置选项页面的主要功能

}

add_action(‘admin_menu’,‘themeoptions_admin_menu’);

?>

themeoptions_admin_menu()是在控制面板的侧边栏中添加一个链接,指向我们创建的选项页:themeoptions_page。

add_theme_page()的参数为:

页面标题:主题设置

菜单标题:主题选项(p.s.为了区分显示,页面与菜单标题我做了不同我命名)

作用功能:edit_themes;

Handle(句柄):当前文件;

执行的函数:themeoptions_page;

现在后台控制面板侧边栏的处就多了一个“主题设置”的菜单,但是现在还是空白的,我们后面要实现的定制内容就在这个空白页面上创建。

3、添加选项和字段

现在我们就可以在刚创建的空白页面上添加我们的选项和字段。这个页面你可以根据自己的需要进行样式风格化,但在本教程中我们将使用wordpress默认的类,这样可以节省我们的时间并且看起来更加原生。

页面内容的代码需包含在 themeoptions_page()函数内。首先,我们先添加一个class=”wrap”的div容器;然后,在头部添加一个默认图标作为作为页面标题;*后是设计表单。

<div class=“wrap”>

<div id=“icon-themes” class=“icon32″><br/></div>

<h2>主题设置</h2>

<form method=“POST” action=“”>

<input type=“hidden” name=“update_themeoptions” value=“true”/>

<p><input type=“submit” name=“submit” id=“submit” class=“button button-primary” value=“保存更改”></p>

</form>

</div>

在表单中,首先我们需要添加一个**的值,通过它来检查更新是否已经提交。然后添加一个提交按钮,这里我也使用wordpress默认的按钮样式。现在的效果为:

现在我们已经创建了设置选项页的基本结构,下面我们开始根据之前制定的内容进行完善:

首先,我们要允许主题使用者可以更改颜色方案。对于这一点,我们需要一个下拉列表提供可用的**方案。

其次,增加两个广告位的内容,我们需要增加两个文本框来输入图片的URL及广告链接URL。

*后,用户可选择是否显示搜索框。这一点,我们通过添加复选框来实现。

代码如下:

function themeoptions_page()

{

//这是产生主题选项页面的主要功能

?>

<div>

<div id=“icon-themes”><br/></div>

<h2>主题设置</h2>

<form method=“POST” action=“”>

<input type=“hidden” name=“update_themeoptions” value=“true”/>

<h4>主题**方案</h4>

<select name=“colour”>

<?php$colour= get_option(‘mytheme_colour’);?>

<option value=“gray”<?php if($colour==’gray’){ echo‘selected’;}?>>灰色</option>

<option value=“blue”<?php if($colour==’blue’){ echo‘selected’;}?>>浅蓝</option>

<option value=“pink”<?php if($colour==’pink’){ echo‘selected’;}?>>粉红</option>

</select>

<h4>图片广告位(1)</h4>

<p><input type=“text” name=“ad1image” id=“ad1image” size=“32” value=“<?php echo get_option(‘mytheme_ad1image’);?>”/>广告图片</p>

<p><input type=“text” name=“ad1url” id=“ad1url” size=“32” value=“<?php echo get_option(‘mytheme_ad1url’);?>”/>广告链接</p>

<h4>图片广告位(2)</h4>

<p><input type=“text” name=“ad2image” id=“ad2image” size=“32” value=“<?php echo get_option(‘mytheme_ad2image’);?>”/>广告图片</p>

<p><input type=“text” name=“ad2url” id=“ad2url” size=“32” value=“<?php echo get_option(‘mytheme_ad2url’);?>”/>广告链接</p>

<h4><input type=“checkbox” name=“display_search” id=“display_search”<?php echo get_option(‘mytheme_display_search’);?>/>显示搜索框</h4><p><input type=“submit” name=“bcn_admin_options” value=“更新数据”/></p>

</form>

</div>

<?php

}

到这里选项页面的内容就已经基本构建完毕了。

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、调用选项定制主题

我们主题的默认样式文件为style.css,如果使用其他的**方案,我们需要建立相应的样式文件,例如本例中的blue.css、pink.css,style.css为默认的灰色。

为了切换**方案样式表,需要在主题header中加入以下代码:

<link rel=“stylesheet” href=“<?php bloginfo(‘stylesheet_directory’);?>/default.css” type=“text/css”>

<link rel=“stylesheet” href=“<?php bloginfo(‘stylesheet_directory’);?>/<?php echo get_option(‘mytheme_colour’);?>.css” type=“text/css”>

增加广告位图片—在你想要放置广告的地方添加以下代码:

<a href=“<?php echo get_option(‘mytheme_ad1url’);?>”><img src=“<?php echo get_option(‘mytheme_ad1image’);?>” height=“125” width=“125”/></a>

<a href=“<?php echo get_option(‘mytheme_ad2url’);?>”><img src=“<?php echo get_option(‘mytheme_ad2image’);?>” height=“125” width=“125”/></a>

是否显示搜索框—在需要放置搜索框的地方添加以下代码,当用户选择显示搜索框时会显示,否则则不显示:

<?php if( get_option(‘mytheme_display_search’)==‘checked’){?>

<h3>搜索框</h3>

<form method=“get” id=“searchform” action=“<?php echo esc_url( home_url(‘/’));?>”>

<input type=“text” name=“s” id=“s” placeholder=“<?php esc_attr_e(‘Search’,’85Ryan’);?>”/>

<input type=“submit” name=“submit” id=“searchsubmit” value=“搜索”/>

</form>

<?php}?>

在当前使用的主题文件夹中创建一个新模板,将它命名为 about.php。

然后把 page.php模板中的内容拷贝到 about.php文件中。

接着,找到模板文件中调用 sidebar的函数,去掉或者注释掉它。

可能需要找到 content div标签,并手动给它增加一个 width样式来扩展宽度以便能够占满整个 container div标签。

完成之后,到 about.php的*上面插入以下代码:

做好上面修改之后,保存,并上传到服务器上的当前主题文件夹下。

然后就是让“关于”页面使用“关于”页面模板,登陆到 WordPress后台,创建新页面,或者编辑 about页面(如果已经创建了),在右边,点击页面模板的下拉菜单,在下拉列表中找到“关于”,选择它并点击保存。

1、打开wordpress首页,点击左侧工具栏里面的“外观”-“编辑”。

2、然后页面中,点击右侧的模板,找好想要修改的模板,点击进入。

3、点击之后,下滑页面,然后找到要修改的是文章页面(single.php)选项进入。

4、*后,可以看到模板中相应的位置,添加上事先准备的代码。回车键更新文件,即可修改成功,这样操作即可完成。

相关文章
在线客服
微信联系
客服
扫码加微信(手机同号)
电话咨询
返回顶部