如果您是wordpress主题控的话,都知道有一些主题都会有自己专属的主题控制选项,这类照片主题占大部分,因为要添加幻灯片等一些功能,所以集成在一个地方控制,管理非常方便灵活。如下图 如何给Wordpress主题添加独立的控制选项 image00122 150x150 但是只有部分主题才有这样的功能,但不是每款我们喜欢的主题都有这样的功能,怎么办呢?所以如果你想给任意一款wordpress主题,添加独立控制选项这个功能,就请你阅读下面由无忧主机([51php.com)小编为大家介绍如何来实现这个功能。 在本地新建一个记事本,把下列代码复制到里面。 1 <?php 2 $themename = "XXX主题"; //主题名称 3 $shortname = "jiuchuangzhuti"; //主题简写,必须是英文、数字、下划线组合 4 $options = array ( 5 array("name" => "这里是大标题","type" => "heading","desc" => "这里是描述信息"), 6 array("name" => "这里是小标题","id" => $shortname."_test","std" => "这里是默认值","type" => "text") 7 ); 8 function mytheme_add_admin() { 9 global $themename, $shortname, $options; 10 if ( $_GET['page'] == basename(__FILE__) ) { 11 if ( 'save' == $_REQUEST['action'] ) { 12 foreach ($options as $value) { 13 update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } 14 foreach ($options as $value) { 15 if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } else { delete_option( $value['id'] ); } } 16 //这里的 settings.php 就是这个文件的名称 17 header("Location: themes.php?page=settings.php&saved=true"); 18 die; 19 } else if( 'reset' == $_REQUEST['action'] ) { 20 foreach ($options as $value) { 21 delete_option( $value['id'] ); 22 update_option( $value['id'], $value['std'] ); 23 } 24 header("Location: themes.php?page=settings.php&reset=true"); //这里的 settings.php 就是这个文件的名称 25 die; 26 } 27 } 28 add_theme_page($themename." Options", "$themename 设置", 'edit_themes', basename(__FILE__), 'mytheme_admin'); 29 } 30 function mytheme_admin() { 31 global $themename, $shortname, $options; 32 if ( $_REQUEST['saved'] ) echo '<div id="message"><p><strong>'.$themename.' 设置已保存。</strong></p></div>'; 33 if ( $_REQUEST['reset'] ) echo '<div id="message"><p><strong>'.$themename.' 设置已重置。</strong></p></div>'; 34 ?> 35 <style type="text/css"> 36 th{text-align:left;} 37 input{width:100%;} 38 .submit{width:100px;padding:0;} 39 .defaultbutton{padding-left:745px;} 40 </style> 41 <div> 42 <h2><b><?php echo $themename; ?> 设置</b></h2> 43 <form method="post"> 44 <div style="padding:0;"> 45 <input style="font-size:12px !important;" name="save" type="submit" value="保存设置" /> 46 <input type="hidden" name="action" value="save" /> 47 </div> 48 <table > 49 <?php foreach ($options as $value) { 50 if ($value['type'] == "text") { ?> 51 <tr align="left"> 52 <th scope="row"><?php echo $value['name']; ?>:</th> 53 <td> 54 <input 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']; } ?>" size="40" /> 55 </td> 56 </tr> 57 <?php } elseif ($value['type'] == "heading") { ?> 58 <tr valign="top"> 59 <td colspan="2" style="text-align: left;"><hr /> 60 <h2 style="color:green;"><?php echo $value['name']; ?></h2></td> 61 <tr><td colspan=2> <p style="color:red; margin:0 0;" > <?php echo $value['desc']; ?> </p> <hr /></td></tr> 62 </tr> 63 <?php } ?> 64 <?php 65 } 66 ?> 67 </table> 68 <hr /> 69 <div> 70 <input style="font-size:12px !important;" name="save" type="submit" value="保存设置" /> 71 <input type="hidden" name="action" value="save" /> 72 </div> 73 </form> 74 <form method="post"> 75 <div> 76 <input style="font-size:12px !important;" name="reset" type="submit" value="还原默认设置" /> 77 <input type="hidden" name="action" value="reset" /> 78 </div> 79 </form> 80 </div> 81 <?php 82 } 83 add_action('admin_menu', 'mytheme_add_admin'); 84 ?> 添加完成后,把文件改名为settings.php,然后把settings.php这个文件上传到你的php虚拟主机相对主题的目录里,这样一来我们就建立出了主题的相应主题的控制选项功能了,这个只是一个简易的控制选项,还没有漂亮到跟专业主题的样式一样的效果,所以大家不要嫌弃,但是实现的功能是差不多的,我相信,这应该才是重点。