前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Option Framework 框架的三个自定义技巧

Option Framework 框架的三个自定义技巧

作者头像
Jeff
发布2018-01-22 10:15:00
7220
发布2018-01-22 10:15:00
举报
文章被收录于专栏:DeveWorkDeveWork

陆陆续续将解密一些本站几个收费主题的核心功能,分享才会更好。虽然鄙人技术不称得上牛逼,好在足够专注也能学点。Option Framework 框架免费开源,采用GPL(意味着你可以用于收费项目中),用来开发主题中是再好不过的东西了。

关于Option Framework 框架,如果你之前没有了解过的,不妨通过下面这篇文章了解《5 款前沿的WordPress主题后台选项开发框架推荐》。很欣慰看到国内的WP开发者越来越多用上了这个框架而非像前几年那样抄来抄去某个代码段。本文例子所用的Option Framework 版本为最新版(写作本文时候为1.9)

自定义一:自定义设置函数名称

默认的话,Option Framework 的设置调用函数名称为 of_get_option(),如果你想自定义为其他,需要对源代码本身修改了——打开options-framework.php 这个文件,定位到最后一个定义函数的地方,将of_get_option 改为你需要的,比如:

if ( ! function_exists( 'mindia_option' ) ) : function mindia_option( $name, $default = false ) { $config = get_option( 'optionsframework' );   if ( ! isset( $config['id'] ) ) { return $default; }   $options = get_option( $config['id'] );   if ( isset( $options[$name] ) ) { return $options[$name]; }   return $default; }

就可以实现函数名称为mindia_option

自定义二:自定义设置页面标题、别名

默认的话,地址栏里面的设置页面别名(URL)类似于wp-admin/themes.php?page=options-framework。如果你控制欲犯了,想设置为其他,那么可以用下面的代码实现之:

function prefix_options_menu_filter( $menu ) { $menu['mode'] = 'menu'; $menu['page_title'] = 'Mindia 主题设置'; $menu['menu_title'] = 'Mindia 主题设置'; $menu['menu_slug'] = 'mindia-options'; return $menu; } add_filter( 'optionsframework_menu', 'prefix_options_menu_filter' );

自定义三:让主题设置的文本内容允许javascript代码

不知道从哪个版本开始,为了安全,Option Framework 框架默认的话会过滤掉js代码,因此如果你需要在设置里面做设置的话可能会遇到直接输出js代码的问题,解决这个的话jeff 目前使用这个方法:即在输出前自动添加javascript 标签,然后在设置页面要求用户不用输入javascript 标签。这样算是比较好的解决了这个问题。

function mindia_footer_code(){ echo "<script type='text/javascript'>"."\n" ; echo mindia_option('md_customjs'); echo mindia_option('md_tongji'); echo "</script>"."\n"; } add_filter("wp_footer", "mindia_footer_code",100)

以上演示代码均来自于开发的Mindia 主题中。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014/10/27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 自定义一:自定义设置函数名称
  • 自定义二:自定义设置页面标题、别名
  • 自定义三:让主题设置的文本内容允许javascript代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档