WordPress 主题选项简易添加

再简单的主题若想折腾也是能折腾出新东西的,如导航菜单CSS样式的预设(这儿),还有CSS3 Media Queries属性(这儿),以及此文准备介绍的WordPress主题后台选项。

直接放function功能代码:

 
add_action('admin_menu', 'simple_theme_page');
 
function simple_theme_page (){
 
	if ( count($_POST) > 0 && isset($_POST['simple_settings']) ){
 
		$options = array ('analytics');
 
		foreach ( $options as $opt ){
 
			delete_option ( 'simple_'.$opt, $_POST[$opt] );
 
			add_option ( 'simple_'.$opt, $_POST[$opt] );	
 
		}
 
	}
 
	add_menu_page(__('主题选项'), __('主题选项'), 'edit_themes', basename(__FILE__), 'simple_settings');
 
}
 
function simple_settings(){?>
 
<div class="wrap">
 
	<h2>主题选项</h2>
 
	<form method="post" action="">
 
		<fieldset style="border:1px solid #ddd;padding-bottom:20px;margin-top:20px;">
 
		<legend style="margin-left:5px; padding:0 5px;color:#2481C6;text-transform:uppercase;"><strong>统计代码添加</strong></legend>
 
		<table class="form-table">
 
			<tr>
 
			<td>
 
				<textarea name="analytics" id="analytics" rows="5" cols="70" style="font-size:11px;width:100%;"><?php echo stripslashes(get_option('simple_analytics')); ?></textarea>
 
			</td>
 
			</tr>
 
		</table>
 
		</fieldset>
 
		<p class="submit">
 
			<input type="submit" name="Submit" class="button-primary" value="保存设置" />
 
			<input type="hidden" name="simple_settings" value="save" style="display:none;" />
 
		</p>
 
	</form>
 
</div>
 
<?php }

调用代码,一般放footer页尾:

 
<?php if (get_option(' simple_analytics')!="") {?>
 
	<?php echo stripslashes(stripslashes(get_option('simple_analytics'))); ?>
 
<?php }?>

实现的效果就是如果后台填入代码,则会显示~不填不显示~ ^ ^

主机格调
  1. Veezy
    二月 19, 2011 00:38:0 #1

    午夜沙发. :smile:

  2. Kimcool
    二月 19, 2011 00:39:0 #2

    午夜板凳。

  3. Veezy
    二月 19, 2011 00:42:0 #3

    刚玩wp的时候,还没用过你们的主题…
    那时候官网好多老外的主题都有这个,很方便.
    越来越方便菜鸟了 :mrgreen:

    • 恩,WordPress技术还是国外牛X~

  4. 西门
    二月 19, 2011 01:01:1 #5

    前几天在WP论坛,看见一个人的主题好多选项,当时还问他怎么弄,可惜他没写教程。

    • 这个后台完整教程肯定不会有人放出来,自己偷偷看国外主题看着写咯~

  5. 万戈
    二月 19, 2011 09:44:9 #8

    哟西,果然很精简

  6. hzlzh
    二月 19, 2011 11:09:11 #9

    主题的 自定义域还是很有必要的,造福啊 :mrgreen:

    • 恩,比较修改代码这事儿对于新手来说很头疼的~

  7. gsid
    二月 19, 2011 11:30:11 #10

    一砖一瓦搭楼 :wink:

  8. Maplews
    二月 19, 2011 12:48:12 #11

    原来主题设置是这样。

  9. 炮炮
    二月 19, 2011 13:03:13 #12

    原来是这样实现的,学习了

  10. heson
    二月 19, 2011 18:32:18 #14

    这个折腾了····· :smile:

    • 恩哈~还是很实用的一个功能~

  11. Solo
    二月 19, 2011 23:12:23 #17

    倒是没注意这个属性。

    • 呵呵,看来是有一部分都不知道~

  12. 老饕
    二月 21, 2011 19:00:19 #18

    这些功能介绍的人确实比较少~~呵呵,收藏学习中!

  13. 很精简……唉,多设置项就要用数组,数组太多时会有点晕 :???:

  14. Demon
    二月 22, 2011 00:45:0 #20

    呵呵。这个拿去折腾一下。以后不用手动加统计了

  15. 呵呵,不错,支持一下!不过我每次添加都会出错,我用的是WP 3.0.5!

  16. :oops: 让博客变得简单很多..

  17. 自己摸索,扩展成功了,嘿嘿,代码太强悍了啊,原来的后台选项还要另外弄一个文件。

  18. Standar
    四月 29, 2011 11:31:11 #25

    这个东西不错. 以前自己写了段比你这个复杂.. :?:

  19. 木木,我用add_menu_page添加顶级菜单,然后用add_submenu_page添加子菜单,不过这时菜单中的第一项子菜单也就是顶级菜单。但是如何设置使第一项子菜单的名字和顶级菜单名字不一样?

  20. 描述的可能不清楚,再补充下,比如后台的顶级菜单“外观”,点击“外观”后也就是第一项子菜单“主题”;但是用add_menu_page这样添加后第一项的名字就是顶级菜单的名字。请问如何解决?

  21. delete_option ( ‘simple_’.$opt, $_POST[$opt] );

    delete_option刚才查了一下,就一个形参$name。不需要后面那个value值

    • 这后台代码也是我提取国外主题的~

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">