我试图通过过滤器在Wordpress LearnPress插件的levels字段中添加更多的选项,但我的代码不起作用。
在文件夹公司的LearnPress插件上,文件lp-template-functions.php s.php从第1709行开始。
/**
* Get level post meta.
*
* @param int $post_id
*
* @return string
*/
function learn_press_get_post_level( $post_id ) {
$level = get_post_meta( $post_id, '_lp_level', true );
return apply_filters(
'learn-press/level-label',
! empty( $level ) ? lp_course_level()[ $level ] : esc_html__( 'All levels', 'learnpress' ),
$post_id
);
}
function lp_course_level() {
return apply_filters(
'lp/template/function/course/level',
array(
'' => esc_html__( 'All levels', 'learnpress' ),
'beginner' => esc_html__( 'Beginner', 'learnpress' ),
'intermediate' => esc_html__( 'Intermediate', 'learnpress' ),
'expert' => esc_html__( 'Expert', 'learnpress' ),
)
);
}在我的functions.php中,我添加了以下过滤器,但它不起作用
//CHANGE LEVELS FROM LP-TEMPLATE-FUNCTIONS
add_filter('learn-press/level-label', 'modify_course_level');
function modify_course_level($level){
$level['beginner'] = esc_html__("1ere année primaire", "learnpress");
$level['intermediate'] = esc_html__("2e année primaire","learnpress");
$level['expert'] = esc_html__("3e année primaire", "learnpress");
return $level;
}
// ADD LEVELS
add_filter('learn-press/level-label', 'add_extra_course_level');
function add_extra_course_level($level){
$level['extra-level-1'] = esc_html__("4e année primaire", "learnpress");
$level['extra-level-2'] = esc_html__("5e année primaire", "learnpress");
return $level;
}我希望水平难度下降会改变,但仍然显示出原来的选择。
发布于 2022-04-02 02:58:03
我把过滤器命名错了,而不是add_filter('learn-press/level-label'),,而是add_filter('lp/template/function/course/level'), --这里是工作代码:
//CHANGE LEVELS FROM LP-TEMPLATE-FUNCTIONS
add_filter('lp/template/function/course/level', 'modify_course_level');
function modify_course_level($level){
$level['beginner'] = "1ere année primaire";
$level['intermediate'] = "2e année primaire";
$level['expert'] = "3e année primaire";
return $level;
}
//ADD LEVELS
add_filter('lp/template/function/course/level', 'add_extra_course_level');
if ( ! function_exists('add_extra_course_level')){
function add_extra_course_level($level){
$level['extra-level-1'] = "4e année primaire";
$level['extra-level-2'] = "5e année primaire";
return $level;
}
}https://stackoverflow.com/questions/71707761
复制相似问题