2017-02-01 16 views
1

Я создаю плагин WordPress, в котором мне нужно отслеживать, открыта ли какая-либо страница на лицевой стороне или какая-либо ссылка нажата? Я вроде как пустая. Может ли кто-нибудь сказать мне, что я должен сделать, чтобы добиться этого?add_action hook не удается найти объявленную функцию

Я пробовал это.

class WP_Adminmsp_Webservice{ 


    function __construct() { 
     add_action('init', 'msp_pages_permalink', 10, 2); 
} 

function msp_pages_permalink($permalink_structure, $post_id) 
     { 
     echo "called"; 
     } 
} 

Это показывает эту ошибку:

call_user_func_array() expects parameter 1 to be a valid callback function 'msp_pages_permalink' not found or invalid function name.

+0

вы знаете, что 'add_action' делает? – yivi

+0

есть. То, что я знаю и имею функцию msp_pages_permalink слишком – Shwet

+0

показать нам код. :) хотя бы объявление функции. – yivi

ответ

1

Когда закреплять метод объекта, вам нужно передать объект, который содержит метод к add_action вызова (который, в свою очередь, будет использовать его для call_user_func вызов).

Например, если вы работаете в действие от другого метода inside этого объекта вы могли бы сделать:

add_action('init', [$this, 'your_method'], 10, 2); 

Где «your_method» является имя (общественного) метод, вы должны позвонить ,

Если вы звоните add_actionиз вне объекта, вы могли бы сделать что-то вроде:

$plugin_object = new My_Plugin(); 
add_action('init', [$plugin_object, "your_method"], 10, 2) 
+0

позвольте мне попробовать это – Shwet

+0

это было в моем коде уже. Я полностью забыл об этом. – Shwet

+0

???? Пожалуйста, постарайся быть более внимательным. Если вы не публикуете код, в котором вам нужна помощь, вы просто заставляете людей тратить время на то, чтобы помочь вам, но это просто невозможно, если вы дадите нам ** неправильные ** данные. Отправьте свой код так, как есть на самом деле. – yivi