<?php
/**
* ReduxFramework Sample Config File
* For full documentation, please visit: http://docs.reduxframework.com/
* 文件直接汉化 @ INLOJV , visit: http://www.inlojv.com
*/
if ( ! class_exists( 'Redux' ) ) {
return;
}
// This is your option name where all the Redux data is stored.
$opt_name = "inlojv_inlobase";
// This line is only for altering the demo. Can be easily removed.
$opt_name = apply_filters( 'redux_demo/opt_name', $opt_name );
/*
*
* --> Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples
*
*/
$sampleHTML = '';
if ( file_exists( dirname( __FILE__ ) . '/info-html.html' ) ) {
Redux_Functions::initWpFilesystem();
global $wp_filesystem;
$sampleHTML = $wp_filesystem->get_contents( dirname( __FILE__ ) . '/info-html.html' );
}
$redux_folder_name = 'redux'; // 本框架文件夹名
// ×××××××××××××× 用于下拉图片选择设置项 - 注意修改路径
$sample_patterns_path = ReduxFramework::$_dir . '../'.$redux_folder_name.'/patterns/';
$sample_patterns_url = ReduxFramework::$_url . '../'.$redux_folder_name.'/patterns/';
$sample_patterns = array();
if ( is_dir( $sample_patterns_path ) ) {
if ( $sample_patterns_dir = opendir( $sample_patterns_path ) ) {
$sample_patterns = array();
while ( ( $sample_patterns_file = readdir( $sample_patterns_dir ) ) !== false ) {
if ( stristr( $sample_patterns_file, '.png' ) !== false || stristr( $sample_patterns_file, '.jpg' ) !== false ) {
$name = explode( '.', $sample_patterns_file );
$name = str_replace( '.' . end( $name ), '', $sample_patterns_file );
$sample_patterns[] = array(
'alt' => $name,
'img' => $sample_patterns_url . $sample_patterns_file
);
}
}
}
}
/**
* ---> SET 配置参数
* All the possible arguments for Redux.
* For full documentation on arguments, please refer to: https://github.com/ReduxFramework/ReduxFramework/wiki/Arguments
* */
$theme = wp_get_theme(); // For use with some settings. Not necessary.
$args = array(
// TYPICAL -> Change these values as you need/desire
'opt_name' => $opt_name, // 这个字段保存在你的数据库里,主题设置项opt_name 可以在数据库里面找到,也是你的全局变量名
'display_name' => $theme->get( 'Name' ), // 在面板上方显示主题名称
'display_version' => $theme->get( 'Version' ), // 在面板上方显示主题版本
'menu_type' => 'menu', // 在admin菜单上显示,参数:menu 或 submenu(只在开启时显示)
'allow_sub_menu' => true, // 是否在admin上显示主题设置子菜单
'menu_title' => __( '主题设置', 'redux-framework-demo' ), // 设置左侧栏主题设置菜单名
'page_title' => __( 'xx主题设置', 'redux-framework-demo' ), // 设置浏览器和admin工具条上的菜单名
// Please visit: https://developers.google.com/fonts/docs/developer_api#Auth
'google_api_key' => '', // 谷歌api key - 用于谷歌字体升级,可以不理会
'google_update_weekly' => false, // 是否使用谷歌字体,最好保持false
'async_typography' => true, // 异步排版
//'disable_google_fonts_link' => true, // Disable this in case you want to create your own google fonts loader
'admin_bar' => true, // 是否在admin工具条上显示主题设置菜单名
'admin_bar_icon' => 'dashicons-portfolio', // admin工具条图标
'admin_bar_priority' => 50, // 优先级,也就是显示位置
'global_variable' => 'inlojv_inlobase', // 设置主题设置的全局变量 参照本例:命名空间_主题名称
'dev_mode' => false, // 开发者模式
'update_notice' => false, // 升级通告
'customizer' => false, // 个人定制
// Enable basic customizer support
//'open_expanded' => true, // Allow you to start the panel in an expanded way initially.
//'disable_save_warn' => true, // Disable the save warning when a user changes a field
// OPTIONAL -> Give you extra features
'page_priority' => null, // 页面优先级,选择主题设置菜单在左侧显示的位置
'page_parent' => 'themes.php', // 参考 http://codex.wordpress.org/Function_Reference/add_submenu_page#Parameters
'page_permissions' => 'manage_options', // 设置权限
'menu_icon' => '', // 图标链接设置
'last_tab' => '1', // 强制面板总是打开一个 li(审查元素,找到li标签对应的id数值,比如id="1_section_group_li",就是1)
'page_icon' => 'icon-themes', // 设置菜单名左侧的图标
'page_slug' => '', // 主题设置页面的别名
'save_defaults' => true, // 更新设之前是否先保存一遍默认设置
'default_show' => false, // 若为true,那么不启用设置字段的默认值
'default_mark' => '', // 设置项标题后面的标记,可以使用*号
'show_import_export' => true, // 显示导入导出设置
// CAREFUL -> These options are for advanced use only
'transient_time' => 60 * MINUTE_IN_SECONDS,
'output' => false,
// Global shut-off for dynamic CSS output by the framework. Will also disable google fonts output
'output_tag' => true,
// Allows dynamic CSS to be generated for customizer and google fonts, but stops the dynamic CSS from going to the head
// 'footer_credit' => '', // Disable the footer credit of Redux. Please leave if you can help it.
// FUTURE -> Not in use yet, but reserved or partially implemented. Use at your own risk.
'database' => '', // 可以为: options, theme_mods, theme_mods_expanded
'use_cdn' => true, // 是否使用cdn
// 提示框的参数
'hints' => array(
'icon' => 'el el-question-sign',
'icon_position' => 'right',
'icon_color' => 'lightgray',
'icon_size' => 'normal',
'tip_style' => array(
'color' => '#333',
'shadow' => true,
'rounded' => false,
'style' => '',
),
'tip_position' => array(
'my' => 'top left',
'at' => 'bottom right',
),
'tip_effect' => array(
'show' => array(
'effect' => 'slide',
'duration' => '500',
'event' => 'mouseover',
),
'hide' => array(
'effect' => 'slide',
'duration' => '500',
'event' => 'click mouseleave',
),
),
)
);
/* // ADMIN BAR LINKS -> Setup custom links in the admin bar menu as external items.
$args['admin_bar_links'][] = array(
'id' => 'redux-docs',
'href' => 'http://docs.reduxframework.com/',
'title' => __( 'Documentation', 'redux-framework-demo' ),
);
$args['admin_bar_links'][] = array(
//'id' => 'redux-support',
'href' => 'https://github.com/ReduxFramework/redux-framework/issues',
'title' => __( 'Support', 'redux-framework-demo' ),
);
$args['admin_bar_links'][] = array(
'id' => 'redux-extensions',
'href' => 'reduxframework.com/extensions',
'title' => __( 'Extensions', 'redux-framework-demo' ),
);
// SOCIAL ICONS -> Setup custom links in the footer for quick links in your panel footer icons.
$args['share_icons'][] = array(
'url' => 'https://github.com/ReduxFramework/ReduxFramework',
'title' => 'Visit us on GitHub',
'icon' => 'el el-github'
//'img' => '', // You can use icon OR img. IMG needs to be a full URL.
);
$args['share_icons'][] = array(
'url' => 'https://www.facebook.com/pages/Redux-Framework/243141545850368',
'title' => 'Like us on Facebook',
'icon' => 'el el-facebook'
);
$args['share_icons'][] = array(
'url' => 'http://twitter.com/reduxframework',
'title' => 'Follow us on Twitter',
'icon' => 'el el-twitter'
);
$args['share_icons'][] = array(
'url' => 'http://www.linkedin.com/company/redux-framework',
'title' => 'Find us on LinkedIn',
'icon' => 'el el-linkedin'
);
*/
// Panel Intro text -> before the form
if ( ! isset( $args['global_variable'] ) || $args['global_variable'] !== false ) {
if ( ! empty( $args['global_variable'] ) ) {
$v = $args['global_variable'];
} else {
$v = str_replace( '-', '_', $args['opt_name'] );
}
$args['intro_text'] = sprintf( __( '<p><a href="http://www.inlojv.com" target="_blank">INLOJV</a>提示:此框架设置了一个全局变量: <strong>$%1$s</strong>,你可以通过调用<strong> $%1$s[\'设置项id\'] </strong>来调用设置保存值,同时可以通过配置文件来修改这个变量名!</p>', 'redux-framework-demo' ), $v );
} else {
$args['intro_text'] = __( '<p>这个信息将显示于面板顶部,不是必需的,但可以提供更多提示。允许使用html标签。</p>', 'redux-framework-demo' );
}
// Add content after the form.
$args['footer_text'] = __( '<p>这个信息将显示于面板底部,不是必需的,但可以提供更多提示。允许使用html标签。</p>', 'redux-framework-demo' );
Redux::setArgs( $opt_name, $args );
/*
* ---> END ARGUMENTS
*/
/*
* ---> START HELP TABS
*/
$tabs = array(
array(
'id' => 'redux-help-tab-1',
'title' => __( 'Theme Information 1', 'redux-framework-demo' ),
'content' => __( '<p>这是TAB内容,支持html标签</p>', 'redux-framework-demo' )
),
array(
'id' => 'redux-help-tab-2',
'title' => __( 'Theme Information 2', 'redux-framework-demo' ),
'content' => __( '<p>这是TAB内容,支持html标签</p>', 'redux-framework-demo' )
)
);
Redux::setHelpTab( $opt_name, $tabs );
// Set the help sidebar
$content = __( '<p>这是侧边栏内容,支持html标签</p>', 'redux-framework-demo' );
Redux::setHelpSidebar( $opt_name, $content );
/*
* <--- END HELP TABS
*/
// 引入参考设置section项
include dirname(__FILE__).'/config-section.php';
/*
*
* YOU MUST PREFIX THE FUNCTIONS BELOW AND ACTION FUNCTION CALLS OR ANY OTHER CONFIG MAY OVERRIDE YOUR CODE.
*
*/
/*
*
* --> Action hook examples
*
*/
// If Redux is running as a plugin, this will remove the demo notice and links
//add_action( 'redux/loaded', 'remove_demo' );
// Function to test the compiler hook and demo CSS output.
// Above 10 is a priority, but 2 in necessary to include the dynamically generated CSS to be sent to the function.
//add_filter('redux/options/' . $opt_name . '/compiler', 'compiler_action', 10, 3);
// Change the arguments after they've been declared, but before the panel is created
//add_filter('redux/options/' . $opt_name . '/args', 'change_arguments' );
// Change the default value of a field after it's been set, but before it's been useds
//add_filter('redux/options/' . $opt_name . '/defaults', 'change_defaults' );
// Dynamically add a section. Can be also used to modify sections/fields
//add_filter('redux/options/' . $opt_name . '/sections', 'dynamic_section');
/**
* This is a test function that will let you see when the compiler hook occurs.
* It only runs if a field set with compiler=>true is changed.
* */
if ( ! function_exists( 'compiler_action' ) ) {
function compiler_action( $options, $css, $changed_values ) {
echo '<h1>The compiler hook has run!</h1>';
echo "<pre>";
print_r( $changed_values ); // Values that have changed since the last save
echo "</pre>";
//print_r($options); //Option values
//print_r($css); // Compiler selector CSS values compiler => array( CSS SELECTORS )
}
}
/**
* Custom function for the callback validation referenced above
* */
if ( ! function_exists( 'redux_validate_callback_function' ) ) {
function redux_validate_callback_function( $field, $value, $existing_value ) {
$error = false;
$warning = false;
//do your validation
if ( $value == 1 ) {
$error = true;
$value = $existing_value;
} elseif ( $value == 2 ) {
$warning = true;
$value = $existing_value;
}
$return['value'] = $value;
if ( $error == true ) {
$field['msg'] = 'your custom error message';
$return['error'] = $field;
}
if ( $warning == true ) {
$field['msg'] = 'your custom warning message';
$return['warning'] = $field;
}
return $return;
}
}
/**
* Custom function for the callback referenced above
*/
if ( ! function_exists( 'redux_my_custom_field' ) ) {
function redux_my_custom_field( $field, $value ) {
print_r( $field );
echo '<br/>';
print_r( $value );
}
}
/**
* Custom function for filtering the sections array. Good for child themes to override or add to the sections.
* Simply include this function in the child themes functions.php file.
* NOTE: the defined constants for URLs, and directories will NOT be available at this point in a child theme,
* so you must use get_template_directory_uri() if you want to use any of the built in icons
* */
if ( ! function_exists( 'dynamic_section' ) ) {
function dynamic_section( $sections ) {
//$sections = array();
$sections[] = array(
'title' => __( 'Section via hook', 'redux-framework-demo' ),
'desc' => __( '<p class="description">This is a section created by adding a filter to the sections array. Can be used by child themes to add/remove sections from the options.</p>', 'redux-framework-demo' ),
'icon' => 'el el-paper-clip',
// Leave this as a blank section, no options just some intro text set above.
'fields' => array()
);
return $sections;
}
}
/**
* Filter hook for filtering the args. Good for child themes to override or add to the args array. Can also be used in other functions.
* */
if ( ! function_exists( 'change_arguments' ) ) {
function change_arguments( $args ) {
//$args['dev_mode'] = true;
return $args;
}
}
/**
* Filter hook for filtering the default value of any given field. Very useful in development mode.
* */
if ( ! function_exists( 'change_defaults' ) ) {
function change_defaults( $defaults ) {
$defaults['str_replace'] = 'Testing filter hook!';
return $defaults;
}
}
/**
* Removes the demo link and the notice of integrated demo from the redux-framework plugin
*/
if ( ! function_exists( 'remove_demo' ) ) {
function remove_demo() {
// Used to hide the demo mode link from the plugin page. Only used when Redux is a plugin.
if ( class_exists( 'ReduxFrameworkPlugin' ) ) {
remove_filter( 'plugin_row_meta', array(
ReduxFrameworkPlugin::instance(),
'plugin_metalinks'
), null, 2 );
// Used to hide the activation notice informing users of the demo panel. Only used when Redux is a plugin.
remove_action( 'admin_notices', array( ReduxFrameworkPlugin::instance(), 'admin_notices' ) );
}
}
}
redux框架config.php远山汉化版
最新推荐文章于 2020-02-22 00:50:06 发布