Я пытаюсь создать ловушку на основе display_attached_media внутри класса Sensei_Media_Attachments в плагине Sensei LMS Media Attachments , чтобы активировать его в произвольном месте, используя в моих функциях. php:
add_action( 'custom_action', array( $this, 'display_attached_media' ), 35 );
Но я получаю следующую ошибку:
Неустранимая ошибка: Неперехваченная ошибка: использование $ this, когда не в контексте объекта
Плагин образец:
class Sensei_Media_Attachments {
private static $instance = null;
private $assets_dir;
private $assets_url;
private $token;
public function frontend_hooks() {
// Media files display.
add_action( 'sensei_single_lesson_content_inside_after', array( $this, 'display_attached_media' ), 35 );
add_action( 'sensei_single_course_content_inside_before', array( $this, 'display_attached_media' ), 35 );
} }
При использовании внутри класса он работал нормально, но я не хочу редактировать файлы плагина.
Обновление
Когда я последовал предложению @disin для Uncaught Error: Using $this when not in object context
, изменился с функций. php на class-sensei-media -attachments. php. php в строке 226, поэтому я провел небольшое исследование и нашел проблему. Внутри функции display_attached_media у меня есть вызов, основанный на $this
, поэтому я заменил его на self::
, и все работало хорошо.
Но кто-нибудь знает, есть ли у нас другой, чтобы исправить это, вместо этого замените плагин код?