好的,我找到了一个解决方案,其中一部分要感谢上面的用户kaiser。使用该函数的组合(在我的每个页面上查找信息),我就可以使用以下代码:
https://gist.github.com/brasofilo/6947539
把它放在一起,适当地填写指针。
这是我的整个过程:
第一:我编辑了/wp admin/post new。php在“/”Show post表单之后添加以下代码备注:
$thisscreen = get_current_screen();
var_dump($thisscreen);
这给了我在我的帖子新页面上每个自定义帖子类型所需的信息。
第二:然后,使用这些值(即“id”和“screen”),我将它们插入到github代码中。现在我可以得到限制在我的自定义贴子页面上的管理指针了!
再次感谢上面提到的kaiser,希望这能帮助其他有类似问题的人。也许有一种更简单的方法可以从相关页面获取ID和其他信息,而无需修改代码和转储变量,我将对此进行研究。
更新:呃,这比我之前认为的要简单得多。您不需要添加上面的代码来获取该信息(尽管很有趣),实际上您只需要“屏幕”,这可以通过自定义帖子类型的url轻松推断出来,即:
post-new.php?post_type=dispatches
其中“dispatches”是您的屏幕名称。我仍在努力解决如何将指针限制在编辑或新屏幕上,但我可以接受这一点。。。
第二次更新:可以使用目标限制到新屏幕,如:
\'target\' => \'.post-new-php #insert-media-button\',
第三次更新(2014年5月25日):在使用此代码一段时间后,最终构建了一个部分基于此代码的插件(
https://wordpress.org/plugins/better-admin-pointers/), 我意识到gist代码中有一个错误,它阻止了多个指针被正确地解除。如果页面上有多个指针,代码只会忽略它在页面上找到的第一个指针,而不是获取正确的项目。为了更正此问题,我更改了以下内容:
close: function()
{
$.post( ajaxurl,
{
pointer: pointer.pointer_id,
action: \'dismiss-wp-pointer\'
});
}
对此:
close: $.proxy(function () {
$.post(ajaxurl, this);
}, {
pointer: pointer.pointer_id,
action: \'dismiss-wp-pointer\'
}),
现在,当一个页面上有多个指针时,它可以正常工作。