Wordpress免费主题插件

Redux框架为子主题增加选项

本站使用的Girdlove主题的主题设置用的是Redux框架,在对主题进行二次开发的时候,需要在菜单栏展示一个购物车的按钮,但是在主题设置中并没有这个选项,于是通过查找相关文档,增加了这个选项。为了不影响主题的升级,所以本站所有对主题的设置和修改都是在子主题中进行的,通过修改,在子主题的设置中就会出现下图Cart2的选项。

先研究原来的设置选项,在options-fields.php可以查看到,此部分设置的代码

array(
                'id'        => 'header_actions',
                'type'      => 'sortable',
                'mode'      => 'checkbox',
                'title'     => esc_html__( 'Enable special elements in header', 'gridlove' ),
                'subtitle'  => esc_html__( 'Check and reorder special elements you want to display', 'gridlove' ),
                'options'   => array(

                    'search-button' => esc_html__( 'Search button', 'gridlove' ),
                    'sidebar-button' => esc_html__( 'Header Sidebar button', 'gridlove' ),
                    'search-form' => esc_html__( 'Search form', 'gridlove' ),
                    'social-menu-drop' => esc_html__( 'Social menu button', 'gridlove' ),
                    'social-menu' => esc_html__( 'Social menu icons list', 'gridlove' ),
                    'login-form' => esc_html__( 'Login form (icon/dropdown)', 'gridlove' ),
                ),
                'default'   => array(
                    'search-button' => 1,
                    'sidebar-button' => 1,
                    'search-form' => 0,
                    'social-menu-drop' => 0,
                    'social-menu' => 0,
                ),
            ),

当然可以在这个文件中直接增加一个选项,当时考虑到将来主题升级会覆盖掉原来的文件,那么这样的修改就行不通了。通过查看redux的文档,可以在function.php中进行修改。

function add_option_for_redux( $field ){

	$field['options']['woo-cart']=esc_html__( 'Cart2', 'gridlove' );	
	$field['default']['woo-cart']=0;             
	return $field;
}
add_filter("redux/options/gridlove_settings/field/header_sticky_actions", 'add_option_for_redux');
add_filter("redux/options/gridlove_settings/field/header_actions", 'add_option_for_redux');

其中 gridlove_settingsopt_name,在option.php中可以查到。 header_sticky_actions header_actions为设置选项的ID,这里为两个设置都增加了这个选项。

这样在以后更新主题的时候就不会影响这些设置了。

添加评论

Your Header Sidebar area is currently empty. Hurry up and add some widgets.