Wordpress: переопределение функции в производном классе - PullRequest
0 голосов
/ 24 февраля 2020

Мне нужно переопределить функцию adforest_profile_full_top() из profile.php. Эта функция находится в классе с именем adforest_profile.

Я добавил этот код в свой function.php:

add_action( 'after_setup_theme', function() {

  class Myclass extends adforest_profile {

    function adforest_profile_full_top() {
      //original function code with my custom modifications      
    }   

  }   
  new Myclass();
});

При этом я получил следующую ошибку:

Синтаксическая ошибка синтаксического анализа: неожиданная ошибка '$ user_pi c'

Это родительский файл PHP, содержащий функцию, которую я хочу переопределить:

<?php
if (!class_exists('adforest_profile')) {

    class adforest_profile {

// user object
        var $user_info;

        public function __construct() {
            $this->user_info = get_userdata(get_current_user_id());
        }

// Full Width Profile Top
        function adforest_profile_full_top() {
$user_pic = adforest_get_user_dp($this->user_info->ID, 'adforest-user-profile');
//and more code...
}

}
}

?>

Можете ли вы дать мне хороший способ переопределить эту функцию в моем файле function.php? Я не хочу переопределять весь класс, только одну функцию внутри класса. Спасибо.

...