問題描述
我認為這可能是一個普通的 php 問題,但我釋出在這裡,因為它涉及一個 WP 功能。我在一個類中的 manage_posts_custom_column 上有一個 add_action 的問題。這是程式碼 (剝離了一點):
class The_class{
function __construct() {
$this->add_actions();
}
function add_actions() {
add_action('admin_notices', array($this, 'admin_notices'));
add_action('manage_posts_custom_column', array($this, 'manage_post_columns', 10, 2));
}
function admin_notices() {
// Works fine
}
function manage_post_columns($column_name, $post_id)
switch ($column_name) {
case 'xxxyyzz':
// The code
break;
default:
// Error
break;
}
}
}
我得到的錯誤是 Warning: call_user_func_array() expects parameter 1 to be a valid callback, array must have exactly two members in xxx/wp-includes/plugin.php on line 405 。
更深入地,我發現 manage_posts_custom_column 在擴充套件 WP_List_Table 的 WP_Posts_List_Table 類中被引用,我不知道這是否是錯誤的原因?
如何解決這個問題?
編輯:
對於初學者,我可以正確地寫出動作!而不是 add_action('manage_posts_custom_column', array($this, 'manage_post_columns', 10, 2));,它應該是 add_action('manage_posts_custom_column', array($this, 'manage_post_columns'), 10, 2); 。注意)的位置。 🙂
最佳解決方案
你的問題是一個簡單的打字錯誤:
array($this, 'manage_post_columns', 10, 2)VS.
array($this, 'manage_post_columns'), 10, 2
我想你看到了差異
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。