如何在wordpress主题中添加设置页面

时间 : 15-09-23 栏目 : Web开发 作者 : noway 评论 : 0 点击 : 286 次

将自己设计的题发布或是销售是一件很棒的事情,但并不是每一个主题使用者都有很熟练的HTML/CSS技巧。但是如果在主题中整合一个设置选项页面,就可以使那些完全不懂代码的用户能够很容易地根据他们的喜好来修改主题。下面我将告诉大家如何从零开始做一个最简单的主题选项页(下图为最终效果)。

如何在wordpress主题中添加设置页面 - 第1张  | 前端开拓者

我们的最终目的是什么?

在开始之前,要先了解我们的最终目的是什么?我们主题可以自行定制哪些内容?这些是需要你在设计主题前就应该考虑好的。

每个主题都可以有很多的可编辑元素,本例中我将通过实现下面这三个方面的定制来说明如何给主题增加设置选项页,你应该要有自己更好的想法。

  • 改变主题配色方案;
  • 增加两个广告位内容;
  • 自定是否显示搜索框;

    1、创建所需的文件

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

    如何在wordpress主题中添加设置页面 - 第2张  | 前端开拓者

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

     

    • 首先,我们要允许主题使用者可以更改颜色方案。对于这一点,我们需要一个下拉列表提供可用的配色方案。
    • 其次,增加两个广告位的内容,我们需要增加两个文本框来输入图片的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.csspink.cssstyle.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 } ?>

     

     

本文标签

除非注明,文章均为( noway )原创,转载请保留链接: http://blog.z3a105.com/?p=556

如何在wordpress主题中添加设置页面:等您坐沙发呢!

发表评论





       ==QQ:122320466==

 微信    QQ群

推广

  • 104726drf320ff09r7i62f.jpg
  • 103217vn3333zbk3snwz2u.jpg

0

Aujourd’hui, une partie avec le développement du e-commerce, achats en ligne est devenu une partie de la vie pour beaucoup de gens. La mariage a commencé achats en ligne. Si vous choisissez achats les mariages en ligne, il peut être beaucoup moins cher que le salon de la Robe de mariée pas chermariée local, réduisant le budget de mariage. vous pouvez avoir beaucoup de choix si acheter de mariage en ligne. vous pouvez ramasser une robe de mariée bon marché sur Internet.
Piercing fascinerande figur, och nu tittar vi på 2016 senast brudklänning, kan du vara den vackraste bruden det!2016 senaste Bra brudklänning, söt temperament Bra design, romantiska spetsar blomma kjol, som du lägger till en elegant och charmig temperament.Kvinnan tillbaka mjuka linjer, människor brudklänningofta få en känsla av oändlig frestelse. Fall 2016 mässan, lämnar uppgifter om ditt bröllop charmig.
Yesterday afternoon, the Chinese team was training in the Guangzhou Gymnasium, when the reporter asked Zhao Yunlei the feeling of wearing the new cheap jersey , cheap jerseys online shopshe readily took a shirt from the bag crumpled ball to reporters, and she said with a smile: ” This shirt is light. ”Zhao Yunlei said: “Our material is very light like with the clothes of the tennis King Nadal, Federer, after the sweat, sweat does not drip down to the ground, when we do move, it is easy pace slipping if the sweat drip on the floor.”Tennis players Zhang Yawen, told reporters: “You might think the clothes attached to the body, fearing we swing will be affected, in fact, we do not feel anything, because the clothes are very light, very soft, put on quite comfortable. And it’s particularly good clothes to dry, washing and will dry in 15 minutes. ”
China’s sports enthusiasts NFL sweatshirt with mad love and the pursuit of, and therefore, NFL jerseys have a good market in China and development. China is a populous country, is the consumer, the economic momentum is so good, the sales prospects sportswear is immeasurable. With hot sales sweatshirt, but also to promote the importance of sports fans, on health, on the other hand is a matter of concern for the World Cup, fans wearing NFL jerseys and also can express themselves more fully love and obsession Therefore, NFL jerseys Wholesale jerseys online shopwholesale has good prospects and development in China.
ANTA-ANTA Sports Products Limited, referred to as ANTA Sports, Anta, is China’s leading sporting goods companies, mainly engaged in the design, development, manufacture and marketing of ANTA brand sporting goods, including sports footwear, apparel and accessories. Anta sweatshirt design advantages, warm stretch knit fabric, using Slim version of model, more personal fit, bid farewell to bloated, so wearing more stylish.GUIRENNIAO-This logo is a spiritual totem, smooth graphics implication unstoppable force; flexible deliver an elegant arc Wholesale jerseys china shop movement, strength and speed of the United States, a symbol of passion and rationality publicity “Heart” and “meaning”, “concept” unity; pass the fearless and enterprising mind, showing beyond the realm of self, to unstoppable force to create the future.XTEP-Xtep (China) Co., Ltd. is a comprehensive development wholesale jerseys china shop, production and marketing of Xtep brand (XTEP) sports shoes, clothing, bags, caps, balls, socks mainly large sporting goods industry enterprises.
There are a lot of fans in identifying the authenticity of the above cheap jerseys have great distress, so here to i will show you some methods to definitely affordable inexpensive cheap jerseys : Firstly, we should look at if it is working fine. China has been called the world’s factory, a lot cheap jerseys factories in China have foundries, but our cheap jerseys are all from here! Secondly, should to see whether it is the , we all know that it is difficult to get out of print once a genuine cheap cheap jerseys free shipping jersey was print. and we have all kind of stocka on the whole website, in other words, we have all you want ! Finally, look at the price, our price is not necessarily the lowest in the whole website but it must be most fair on the whole website, we certainly you will not regret later when you buy it. Of course, except that cheap jerseys, we also have the other products, such as socks, leggings and some other related products, everyone can enjoy the best services of here!