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

2017年10月20日 285点热度 0人点赞 0条评论

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

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

默认的话,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)

本文转自:DeveWork

Chi

互联网折腾者