これは一般的なphpの質問に近いかもしれないと思いますが、WP関数に関連しているのでここに投稿しています。クラス内のadd_action
のmanage_posts_custom_column
に問題があります。ここにコードがあります(少し削除):
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_Posts_List_Table
を拡張するWP_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
違いがわかると思います