2017-02-21 3 views
0

Я хочу перенаправить пользователя на OTP Verificatio n Страница после регистрации. Я использовал следующий код для этой функции в functions.php моей темы, он работал нормально, но когда я использовал этот код в своем настраиваемом файле плагина, он не работает.registration_redirect Не работает в файле плагина

add_filter('registration_redirect', 'wpesov_registration_redirect'); 

function wpesov_registration_redirect() { 

     return home_url('/otp-verification'); 

    } 

Что мне нужно изменить в моем плагине, или я что-то пропустил?

ТИА

ответ

0

Я думаю, ваша проблема заключается в файл плагин загружен до WordPress может работать с его содержанием.

Если вы используете класс в главном файле плагина, как это:

class my_plugin 
{ 

    public static function init() { 
     $class = __CLASS__; 
     new $class; 
    } 

    function __construct() { 
     add_filter('registration_redirect', array($this, 'wpesov_registration_redirect')); 
    } 

    public function wpesov_registration_redirect() { 
     return home_url('/otp-verification'); 
    } 
} 

add_action('plugins_loaded', array('my_plugin', 'init')); 

и загружая его должным образом, то вы должны добавить эту функцию как метод вашего класса плагин и зарегистрировать фильтр в конструкторе. Существуют различные способы инициализации вашего плагина, и поскольку я не знаю, какой из них вы используете, я не могу помочь. Попробуйте реализовать вышеприведенный код или разместите здесь свою основную файловую структуру плагина, если она не будет работать или ваш init будет отличаться.

EDIT: или добавить статический метод в классе плагин и зарегистрировать фильтр снаружи:

class my_plugin 
{ 

    public static function init() { 
     $class = __CLASS__; 
     new $class; 
    } 

    public static function wpesov_registration_redirect() { 
     return home_url('/otp-verification'); 
    } 
} 
// init plugin 
add_action('plugins_loaded', array('my_plugin', 'init')); 

// init registration_redirect hook 
add_filter('registration_redirect', array('my_plugin', 'wpesov_registration_redirect')); 
+0

Пробовали, но пока не работал. В чем проблема? –

+0

Как я спросил - вы уверены, что файл загружен и выполняет код? Например. если вы положили эхо «привет»; он распечатает его на странице сайта? – keyBeatz

+0

Если вы можете, вы можете добавить '' в регистрационную форму, которая должна всегда работать. – keyBeatz