WordPress — переписывающая функция класса плагина

Я работаю с плагином под названием SEO Ultimate, где есть следующий класс:

class SU_Titles extends SU_Module {
function init() {
......
}
function change_title_tag($head) {
......
}
......
}

Я хочу переопределить функцию change_title_tag и удалось переопределить его, используя следующий код:

Class SU_Titles_Extended extends SU_Titles
{
function change_title_tag($head) {

$title = $this->get_title();
if (!$title) return $head;
// Pre-parse the title replacement text to escape the $ ($n backreferences) when followed by a number 0-99 because of preg_replace issue
$title = preg_replace('/\$(\d)/', '\\\$$1', $title);
//Replace the old title with the new and return
$title = do_shortcode($title);
$title .= "<!--- IF YOU CAN SEE THIS, IT IS WORKING -->";
return preg_replace('/<title>[^<]*<\/title>/i', '<title>'.$title.'</title>', $head);
}
}

remove_action( 'after_setup_theme', array( 'SU_Titles', 'change_title_tag' ) );
add_action( 'after_setup_theme', array( 'SU_Titles_Extended', 'change_title_tag' ), 99 );

Однако это вызывает Фатальная ошибка: Использование $ this, когда не в контексте объекта. (вызывается в первой строке моей функции переопределения).

У кого-нибудь есть какие-либо идеи?

Спасибо!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector