大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、创建所需的文件
创新互联建站是专业的前锋网站建设公司,前锋接单;提供成都网站建设、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行前锋网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
在进行主题定制前,应该首先创建一个可供自定义的“设置选项页面”。创建设置选项页的代码需要放置在主题目录下的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” /
pinput 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
pinput type=“text” name=“ad1image” id=“ad1image” size=“32” value=“?php echo get_option(‘mytheme_ad1image’); ?”/ 广告图片/p
pinput type=“text” name=“ad1url” id=“ad1url” size=“32” value=“?php echo get_option(‘mytheme_ad1url’); ?”/ 广告链接/p
h4图片广告位(2)/h4
pinput type=“text” name=“ad2image” id=“ad2image” size=“32” value=“?php echo get_option(‘mytheme_ad2image’); ?”/ 广告图片/p
pinput type=“text” name=“ad2url” id=“ad2url” size=“32” value=“?php echo get_option(‘mytheme_ad2url’); ?”/ 广告链接/p
h4input type=“checkbox” name=“display_search” id=“display_search” ?php echo get_option(‘mytheme_display_search’); ? / 显示搜索框/h4pinput 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 } ?
本文固定链接:
转载请注明: 品味人生
2013年08月22日
于 前端开拓者 发表
是通过DIV+CSS修改的,
先找到你的导航栏的DIV,如果只有个导航条的通常用了个div,然后导航菜单使用的ul,分类用li。
如果想把搜索框添加进导航条的右侧,个人做法是在原先的div中给导航条再添加个div,并添加新的class或id,另外search的搜索框使用另个div加搜索的class或id,
然后就是调整CSS的属性了。
以上只是方法,具体看实际操作,希望对你有启发吧,
1.functions.php 注册菜单项。
// 注册菜单
add_theme_support( 'Primary Menu );或register_nav_menu( 'primary', __( 'Primary Menu', '主题名称' ) );
2.后台添加菜单,名为:Primary Menu。
2.header.php 菜单位置调用如下代码:
你上面写的那段要用下面这段代码替换:
?php wp_nav_menu( array(
'theme_location' = 'primary',
'container_id' = 'primaryNav' ,
'menu_class' = 'fr ',
'menu_id' = 'topnav',
'link_before' = 'span',
'link_after' = '/span',
) );
?
然后用firebug,查看菜单位置的源码,修改上面的相应参数。