- 浏览: 388521 次
- 性别:
- 来自: 青岛
博客专栏
-
wordpress步步高
浏览量:74329
-
Web前端开发之路
浏览量:90468
-
Flex/ActionSc...
浏览量:62284
-
Android/IOS 开...
浏览量:34509
-
PHP项目实战
浏览量:23848
文章分类
最新评论
-
u013810758:
editplus
个人觉得 SublimeText 目前最好用的 文本编辑器 -
u010189889:
poll.zip (13.7 KB) 这个文件是干什么的?
手把手做一个PHP 投票系统 -
freerambo:
不错 赞一个
完美的 登录注册框 含漂亮的过渡、转换效果 -
uule:
不错不错,楼主好屌
国外经典JS、Jquery 各种资源集合 -
zyl324:
真心不错,学习了
用jquery都弱爆了 纯css 实现焦点图的 动态绚丽效果
项目需求:
1.添加多套style文件不定期 切换风格
2.后台方便切换管理
插件实现
步骤1.
在当前的主题文件下找到functions.php文件 没有的话自己写一个
copy如下代码到文件
$themename = "My theme"; $shortname = "MT"; $options = array ( array( "name" => "Style Sheet", "desc" => "Enter the Style Sheet you would like to use for Sweet Ass Theme", "id" => $shortname."_style_sheet", "type" => "select", "options" => array("default", "green", "blue", "yellow"), "std" => "default"), ); //presentation// function mytheme_add_admin() { global $themename, $shortname, $options; if ( $_GET['page'] == basename(__FILE__) ) { if ( 'save' == $_REQUEST['action'] ) { foreach ($options as $value) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } foreach ($options as $value) { if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } else { delete_option( $value['id'] ); } } header("Location: themes.php?page=functions.php&saved=true"); die; } else if( 'reset' == $_REQUEST['action'] ) { foreach ($options as $value) { delete_option( $value['id'] ); } header("Location: themes.php?page=functions.php&reset=true"); die; } } add_theme_page($themename." Options", "".$themename." Options", 'edit_themes', basename(__FILE__), 'mytheme_admin'); } function mytheme_admin() { global $themename, $shortname, $options; if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings saved.</strong></p></div>'; if ( $_REQUEST['reset'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings reset.</strong></p></div>'; ?> <div class="wrap"> <h2><?php echo $themename; ?> Settings</h2> <form method="post"> <?php foreach ($options as $value) { switch ( $value['type'] ) { case "open": ?> <table width="100%" border="0" style="background-color:#eef5fb; padding:10px;"> <?php break; case "close": ?> </table><br /> <?php break; case "title": ?> <table width="100%" border="0" style="background-color:#dceefc; padding:5px 10px;"><tr> <td valign="top" colspan="2"><h3 style="font-family:Georgia,'Times New Roman',Times,serif;"><?php echo $value['name']; ?></h3></td> </tr> <!--custom--> <?php break; case "sub-title": ?> <h3 style="font-family:Georgia,'Times New Roman',Times,serif; padding-left:8px;"><?php echo $value['name']; ?></h3> <!--end-of-custom--> <?php break; case 'text': ?> <tr> <td valign="top" width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td> <td width="80%"><input style="width:400px;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="<?php echo $value['type']; ?>" value="<?php if ( get_settings( $value['id'] ) != "") { echo get_settings( $value['id'] ); } else { echo $value['std']; } ?>" /></td> </tr> <tr> <td><small><?php echo $value['desc']; ?></small></td> </tr><tr><td colspan="2" style="margin-bottom:5px;border-bottom:1px dotted #000000;"> </td></tr><tr><td colspan="2"> </td></tr> <?php break; case 'textarea': ?> <tr> <td valign="top" width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td> <td width="80%"><textarea name="<?php echo $value['id']; ?>" style="width:400px; height:200px;" type="<?php echo $value['type']; ?>" cols="" rows=""><?php if ( get_settings( $value['id'] ) != "") { echo get_settings( $value['id'] ); } else { echo $value['std']; } ?></textarea></td> </tr> <tr> <td><small><?php echo $value['desc']; ?></small></td> </tr><tr><td colspan="2" style="margin-bottom:5px;border-bottom:1px dotted #000000;"> </td></tr><tr><td colspan="2"> </td></tr> <?php break; case 'select': ?> <tr> <td width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td> <td width="80%"><select style="width:240px;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>"><?php foreach ($value['options'] as $option) { ?><option<?php if ( get_settings( $value['id'] ) == $option) { echo ' selected="selected"'; } elseif ($option == $value['std']) { echo ' selected="selected"'; } ?>><?php echo $option; ?></option><?php } ?></select></td> </tr> <tr> <td><small><?php echo $value['desc']; ?></small></td> </tr><tr><td colspan="2" style="margin-bottom:5px;border-bottom:1px dotted #000000;"> </td></tr><tr><td colspan="2"> </td></tr> <?php break; case "checkbox": ?> <tr> <td width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td> <td width="80%"><?php if(get_option($value['id'])){ $checked = "checked=\"checked\""; }else{ $checked = "";} ?> <input type="checkbox" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" value="true" <?php echo $checked; ?> /> </td> </tr> <tr> <td><small><?php echo $value['desc']; ?></small></td> </tr><tr><td colspan="2" style="margin-bottom:5px;border-bottom:1px dotted #000000;"> </td></tr><tr><td colspan="2"> </td></tr> <?php break; } } ?> <p class="submit"> <input name="save" type="submit" value="Save changes" /> <input type="hidden" name="action" value="save" /> </p> </form> <form method="post"> <p class="submit"> <input name="reset" type="submit" value="Reset" /> <input type="hidden" name="action" value="reset" /> </p> </form> <?php } add_action('admin_menu', 'mytheme_add_admin');
步骤2
添加如下代码到header.php文件 替换掉原来的style.css加载文件 实现与前台的衔接
<?php global $options; foreach ($options as $value) { if (get_settings( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; } else { $$value['id'] = get_settings( $value['id'] ); } } ?> <?php switch ($mst_style_sheet) { case "default":?> <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" /> <?php break; ?> <?php case "green":?> <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/green.css" type="text/css" media="screen" /> <?php break; ?> <?php case "blue":?> <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/blue.css" type="text/css" media="screen" /> <?php break; ?> <?php case "yellow":?> <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/yellow.css" type="text/css" media="screen" /> <?php break; ?> <?php }?> ?>
步骤3.
部署文件
将不同套的green.css blue.css yellow.css 文件加到与style.css相同的路径下
步骤4.
在后台切换 保存后 查看效果
扩展:
前台切换 可以参考
http://www.dynamicdrive.com/dynamicindex9/stylesheetswitcher.htm
发表评论
-
PHP常见知识点梳理总结
2014-03-03 14:18 1271PHP方面:1,echo print print_r的区别E ... -
浅谈项目开发的一般流程
2014-03-03 14:16 8521、尽量完整的需求方案,具体到每个功能点上2、建模结构UM ... -
如何提高php应用的性能-牛人总结
2014-03-03 14:14 6391、 如果能将类的方法定义成static,就尽量定义成sta ... -
php/js/jquery等各种语言版本—检测终端类型和浏览器类型
2013-05-29 15:45 928<?php if ( (strpos( ... -
php版本 化妆程序 给图片添加饰物
2013-03-05 10:20 1592大家估计都用手机玩过 化妆整人的程序 也就是对照片加工处 ... -
PHP常见购物车模块详解
2013-03-01 11:17 0在网购过程中,购物车是最常见的一个版块,她能帮我们临时存储商 ... -
手把手做一个PHP 投票系统
2013-03-01 10:43 5749一个 基本的投票系统 即 根据一个主题 以提供投票选项为条 ... -
PHP+AJAX实现 分页
2013-02-28 17:21 1710分页功能在博客 日志 网站中等十分常见。往往我们会采用服务器 ... -
绑定QQ登录 PHP OAuth详解
2013-02-28 17:03 1766越来越多的网站开始采用 第三方账号登录 如qq 微博 开心网 ... -
PHP Cookie和 Session的重点应用与区别
2013-02-28 11:52 0一 Cookie管理 Cookie是在http协议下, ... -
PHP+JSON+瀑布流模式+三种风格+无限拖拽方式
2013-02-28 10:33 3695<!DOCTYPE html PUBLIC &quo ... -
PHP web版各省市 三日内天气预报
2013-02-28 10:20 1573<html> <head> & ... -
Wordpress第三方 Contact/Feedback 插件 Foxyform
2012-10-15 14:45 1368这个 插件虽然很多强制性 不能修改样式..不过对于基本的网站建 ... -
不断完善的 瀑布流 模型研究
2012-07-12 11:14 0近来 ,瀑布流 在各大网站 特别是 社交、 博客 、媒体 ... -
Wordpress初学者 必看 英文噢
2012-07-03 11:40 931http://www.wpdesigner.com/2007/ ... -
取消 wordpress 的分类 置顶
2012-06-26 09:32 1409wordpress默认会把 选中的分类 和最近常用的分类置顶放 ... -
js/jquery 进行动态统计 各种柱状图 饼状图 线条图 等
2012-06-25 16:15 6589国内网站有 http://www.ichartjs. ... -
一键生成各种多彩的 js 焦点图 幻灯切换效果
2012-06-25 15:27 2483网站开发中常常会用到jquery焦点图的展示 网上有很多 ... -
wordpress 评论板块 添加 自定义表情
2012-04-20 14:08 1443细心的人会发现 在wp-includes\images\smi ... -
自己写的wordpress breadcrumb
2012-04-20 08:39 1847几乎所有网站都需要一个 breadcrumb wordpre ...
相关推荐
Jquery switcher样式表切换插件css样式表切换实现 Jquery switcher样式表切换插件css样式表切换实现
Maxidix IP Switcher是一款网络配置切换工具,你可以添加多个配置文件,给每个配置文件设置不同的信息,如果有多个网络适配器,能为每个配置器设置各自的DHCP/IP/DNS信息。当您连接到一个新网络的时候,你是否还在...
向mapbox-gl添加样式切换器 安装: npm i mapbox-gl-style-switcher --save 演示: 用法: import { MapboxStyleSwitcherControl } from "mapbox-gl-style-switcher" ; import { Map as MapboxMap } from "mapbox...
通过该 Chrome 插件,快捷方便的切换、设置 hosts 代理规则,而不用修改系统 hosts 文件,方便web开发人员在 测试/开发/线上 等环境快速切换;同时顺便支持本地端口的代理设置
当前版本:3.1.1 软件语言:中文 ...华丽应用切换Fancy Switcher是一款增强型的应用快速切换和管理工具,它可以通过手势轻松调出最近使用的App。支持特效和风格包,并可自定义各项视觉元素。相当的漂亮!
内容索引:脚本资源,jQuery,样式切换,风格选择 Style Switcher 是一款使用jQuery 进行网页风格切换的例子,可能看上去不太直观,实例仅给出了使得jQuery控制不同的CSS片段,最后控制网页中某段文字的显示方式,以及...
Maxidix IP Switcher是一款方便实用的IP配置切换工具,你可以为指定的网络适配器设置不同的IP地址和DNS地址,方便你一键进行切换。点击添加配置文件,可以添加网卡的IP地址、子网掩码地址、网关的IP地址。可自动...
Elite Proxy Switcher 1.23 汉化版 可以切换代理
Flash版本切换器forIE flash_switcher_win.xpi
它是很棒的Proxy(代理服务)验证、切换工具,如需下载Proxy List需要购买订阅服务,或者从另一个工具Proxy Switcher PRO导出代理列表。这个注册版仅供学习、研究使用,如需商用或者个人有充足预算,请到官网购买...
浏览器UA切换 UserAgent UserAgentSwitcher.xml
User-Agent Switcher and Manager 0.4.9 CRX for Chrome.crx 用户代理切换器和管理器0.4.9 CRX for Chrome.crx。这个Chrome扩展允许你可靠地欺骗你的浏览器“用户代理”字符串自定义一个。该扩展为不同的浏览器和...
Maxidix IP Switcher是一款很不错的IP地址切换工具,创建好不同的网络配置文件,可以很方便地在不同网络IP之间进行切换。每个配置文件需要设置各自使用的网络适配器、IP地址、掩码及网关、DNS服务器等,支持使用...
低成本简易多通道8选1切换板-Switcher V1.2.zip
它是很棒的Proxy(代理服务)验证、切换工具,如需下载Proxy List需要购买订阅服务,或者从另一个工具Proxy Switcher PRO导出代理列表。这个注册版仅供学习、研究使用,如需商用或者个人有充足预算,请到官网购买...
地形切换器 使用tfswitch命令行工具可以在不同版本之间进行切换。 如果未安装特定版本的terraform,则tfswitch将下载所需的版本。 安装非常简单。 安装后,只需从下拉列表中选择所需的版本,然后开始使用terraform。...
1.通过imageSwitch实现图片的切换 2.有简单动画效果,显示流畅 3.有详细注释 4.亲测可用
User-Agent Switcher for Chrome 汉化版,适合于各类页面用不同的UA查看。 UA文件包括移动端和PC端的多种设备
谷歌切换页签插件-Popup Tab Switcher 1.7.11
Laravel开发-laravel-locale-switcher 一个Laravel本地切换中间件