@Evdokim001
Начинающий PHP программист

Как выключить хук myCRED?

Добрый день. Есть такой код. Как я понял все это вызывается хуком mycred_load_hooks. Я планирую выключить все это, если мета поля не соответствуют нужным данным. Remove_actions не работает внутри add_actions. add_filter также не работает. Менял хуки, вообще перестает работать. По умолчанию этот плагин начисляет баллы при прохождении курса, я эту функцию пытаюсь удалить. Можете помочь?
Класс не пустой, его не смог перенести в сообщение. Думаю, дело только в хуках. Не понимаю как можно отключть этот хук.

add_filter('mycred_setup_hooks', 'Learndash_myCRED_Hook');

function Learndash_myCRED_Hook($installed) {

    $installed['hook_learndash'] = array(
        'title' => __('LearnDash', 'mycred'),
        'description' => __('Awards %_plural% for LearnDash actions.', 'mycred'),
        'callback' => array('myCRED_Hook_Learndash')
    );

    return $installed;
}

/**
 * Hook for LearnDash
 */
add_action('mycred_load_hooks', 'mycred_load_learndash_hook', 10);

function mycred_load_learndash_hook() {
    if (!class_exists('myCRED_Hook_Learndash') && class_exists('myCRED_Hook')) {

        class myCRED_Hook_Learndash extends myCRED_Hook {}
}

add_action("wp", "custom_learndash_automatically_mark_complete");
//function for Mark Complete Button Removal
function custom_learndash_automatically_mark_complete() { 
  global $post, $current_user; 
  $course_id = learndash_get_course_id(); 

  $course_turn = get_post_meta($course_id, 'turn')[0];
  if(empty($course_id) || $course_turn !== "turned"){

    echo $course_turn;
    return;
  }else{
    add_filter( 'mycred_setup_hooks', 'Learndash_myCRED_Hook0');
    function Learndash_myCRED_Hook0(){
        unset( $installed['hook_learndash'] );
        return $installed;
    }
    if( !empty($current_user->ID) && !empty($post->post_type) && $post->post_type == "sfwd-lessons") { 
        learndash_process_mark_complete($current_user->ID, $post->ID); 
      }
    
      if( !empty($current_user->ID) && !empty($post->post_type) && $post->post_type == "sfwd-topic") { 
        learndash_process_mark_complete($current_user->ID, $post->ID); 
      }
  }
}
  • Вопрос задан
  • 10 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы