/*
*
* 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如果Redux是运行作为一个插件,这将删除演示通知和链接
//add_action( 'redux/loaded', 'remove_demo' );
// Function to test the compiler hook and demo CSS output.函数来测试编译器钩子和演示CSS输出。
// Above 10 is a priority, but 2 in necessary to include the dynamically generated CSS to be sent to the function.10以上是一个优先考虑的问题,但2需要将动态生成的CSS包括到函数中。
//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>编译器钩子已经运行。!</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
* 用于过滤节数组的自定义函数。对子主题进行重写或添加到节中是有好处的。只要包含这个功能的子主题functions.php文件。
* 注:定义的常数的URL和目录将无法使用,此时在孩子的主题,所以你必须使用get_template_directory_uri()如果你想使用任何内置的图标
* */
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.
* 滤波参数过滤钩子。儿童主题重写或添加到args数组好。也可用于其他功能。
**/
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删除演示环节和Redux框架插件集成演示的通知
*/
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' ) );
}
}
}
sample-config后半段讲解
最新推荐文章于 2024-09-03 16:21:05 发布