我被自定义插件的“帮助”选项卡卡住了。过去我用过
//ADD HELP INFO
// add_action(\'contextual_help\', array($this, \'my_plugin_help\'));
现在我正在尝试转换插件帮助部分
add_action(\'load-\' .CUSTOM_POST_TYPE, \'my_plugin_add_help\');
function my_plugin_add_help() {
wp_die(\'it works!\');
$screen = get_current_screen();
//
$screen->add_help_tab(array(
\'id\' => CUSTOM_POST_TYPE,
\'title\' => \'Plugin help\',
\'content\' => \'help content\'));
}
但是没有显示“帮助”选项卡?有什么建议吗?
[编辑]我意识到我在班上工作,所以这里有一点
class Participant{
public function __construct() {
add_action(\'load-\' .CUSTOM_POST_TYPE, \'my_plugin_add_help\');
.......
}
function my_plugin_add_help() {
wp_die(\'it works!\');
$screen = get_current_screen();
//
$screen->add_help_tab(array(
\'id\' => CUSTOM_POST_TYPE,
\'title\' => \'Plugin help\',
\'content\' => \'help content\'));
}
,但我仍然没有正确的钩。我测试过
add_action(\'admin_init\', array($this, \'my_plugin_add_help\'));
[编辑2]可行的解决方案
class MyClass {
public function __construct() {
add_action(\'admin_head\' , array($this, \'my_plugin_add_help\'));
......
}
public function my_plugin_add_help() {
$screen = get_current_screen();
//print_r($screen);
if($screen->post_type == CUSTOM_POST_TYPE){//make it only visible on custom plugin page
$screen->add_help_tab(array(
\'id\' => CUSTOM_POST_TYPE,
\'title\' => \'Help title\',
\'content\' => \'help content\'));
}
}
}
最合适的回答,由SO网友:Tom J Nowell 整理而成
这里的问题是:
add_action(\'load-\' .CUSTOM_POST_TYPE, \'my_plugin_add_help\');
而你的直觉需要
array( $this, \'my_plugin_add_help\' )
因为它在一个类中是正确的,所以问题的根源是您试图将其附加到的挂钩从未被调用,并且不是标准WordPress的一部分。
相反,试着抓住init
, 或者更好,admin_init
(帮助选项卡仅显示在管理区域):
add_action( \'admin_init\', array( $this, \'my_plugin_add_help\' ) );