欢迎光临
我们一直在努力
扫描二维码在手机上浏览
WordPress相关

WordPress框架 Option Framework 的自定义技巧

Option Framework框架我想不用我介绍太多了,玩WordPress的开发人员都知道它的名气,我接触过的主题有很多都是使用这个框架的,你可能只需要知道它是最具易用性的一款后台框架插件之一就行了,部署起来简单且它的前端调用我想应该是最方便易懂的。

上面的是源码地址以及教程,不懂的可以去看看,不过相信玩WP的都应该会吧,今天给大家说的是关于Option Framework的几个自定义技巧,相信大家都会用的上。

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

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

if ( ! function_exists( 'jsk_option' ) ) :
function jsk_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;
}

就可以实现函数名称为jsk_option。

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

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

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

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

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

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

自定义四:将菜单移动到顶级菜单

打开 inc/includes/class-options-framework-admin.php 文件,然后知道其中的 add_custom_options_page 方法,将其代码替换为如下代码:

public function add_custom_options_page() {
	$menu = $this->menu_settings();

	switch ($menu['mode']) {

		case 'menu':
		// http://codex.wordpress.org/Function_Reference/add_menu_page
			$this->options_screen = add_menu_page(
				$menu['page_title'],
				$menu['menu_title'],
				$menu['capability'],
				$menu['menu_slug'],
				array($this, 'options_page'),
				$menu['icon_url'],
				$menu['position']
			);
			break;
		default:
		// http://codex.wordpress.org/Function_Reference/add_submenu_page
			$this->options_screen = add_submenu_page(
				$menu['parent_slug'],
				$menu['page_title'],
				$menu['menu_title'],
				$menu['capability'],
				$menu['menu_slug'],
				array($this, 'options_page'));
			break;   
	}
}

添加完成后,在你的主题的 functions.php 文件中添加如下代码:

function jsk_options_menu_filter($menu) {
	$menu['mode'] = 'menu';
	$menu['page_title'] = 'Jsk 主题设置';
	$menu['menu_title'] = 'Jsk 主题设置';
	$menu['menu_slug'] = 'jsk-options';

	return $menu;

}
add_filter('optionsframework_menu', 'jsk_options_menu_filter');

就可以实现将主题配置移动到顶级菜单。

THE END
历史上的今天
四月
24
    哇哦~~~,历史上的今天没发表过文章哦
标签
喜欢就支持一下吧!!!
点赞1打赏分享
版权声明
本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自:灵阳星空 » WordPress框架 Option Framework 的自定义技巧
本文标题:WordPress框架 Option Framework 的自定义技巧
本文日期:本文发表于 2020/04/24 18:58:51,最后更新于 2020/04/24 19:18:26,如内容失效,请反馈给我们,谢谢!
本文地址: https://www.jsksky.com/wordpress-framework-options-framework-customization-tips.html

网络臭虫

已发布503篇文章
吃得苦中苦,方为人上人,不卧薪藏胆,哪能苦尽甘来?点击进入我的网站了解更多有关我的信息。

评论 抢沙发

A 作者 M 管理员

评论前必须登录!

 


觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏