上下文帮助覆盖现有内容的问题

时间:2011-06-19 作者:Niels

我遗漏了一些东西:

function page_help($contextual_help, $screen_id, $screen) {

if ($screen_id == \'page\') {

    $contextual_help = \'
    <h5>Shortcodes</h5>
    <p>Shortcodes help</p>
    \'.$contextual_help;

    return $contextual_help;
}

elseif ($screen_id == \'post\') {

    $contextual_help = \'
    <h5>Post help</h5>
    <p>Help is on its way!</p>
    \'.$contextual_help;

    return $contextual_help;
}
}       

add_filter(\'contextual_help\', \'page_help\', 10, 3);
代码正在插入正确的屏幕,但我有两个问题:

代码在顶部插入,我想在底部插入。

代码正在删除除上述屏幕之外的所有其他屏幕的帮助。

提前感谢您的提示!

尼尔斯

1 个回复
最合适的回答,由SO网友:helenhousandi 整理而成

为了不从所有其他屏幕删除帮助,您需要始终返回上下文帮助文本,否则您的过滤器不会为非页面/帖子屏幕返回任何内容,因此不会显示任何内容。将返回键移到函数的底部,在if/else之外。此外,原始上下文帮助将连接到自定义消息的末尾,因此将其移到前面,将文本放在底部。因此:

function myprefix_page_help($contextual_help, $screen_id, $screen) {

  if ($screen_id == \'page\') {
    $contextual_help = $contextual_help.\'
    <h5>Shortcodes</h5>
    <p>Shortcodes help</p>\';
  }

  elseif ($screen_id == \'post\') {
    $contextual_help = $contextual_help.\'
    <h5>Post help</h5>
    <p>Help is on its way!</p>\';
  }

  return $contextual_help;
}       

add_filter(\'contextual_help\', \'myprefix_page_help\', 10, 3);

结束

相关推荐

WordPress MS wp-admin/includes/post.php出现短码生成器错误

我对Wordpress 3.1启用多站点和我的主题自定义短代码生成器有一个严重的问题。出于某种原因,每当我创建一个新的页面/帖子/自定义帖子类型页面等时,我都会遇到以下错误。这特别是单选按钮和“name”标记的问题。移除后,一切正常。当它设置为变量时,我会得到错误。但是,将变量设置为常量(如文本)会使其再次工作。这就是我所犯的错误;我不知道这是什么意思,也不知道是什么原因造成的:Warning: Invalid argument supplied for foreach() in /home/matthe