好的,对我原来的答案进行了全面的修改,结果变得一团糟。
您的代码的问题是,您正在启动init,这覆盖了每个管理页面,此外,检查管理变量来计算当前页面还为时过早(尽管您可以只检查$_GET
如果您真的需要那么早运行代码)。
虽然您没有指出需要在post列表上运行to(edit.php),但您希望专门挂钩到post-edit页面,因此我将从下面的示例中排除这一点。
您可以钩住管理头部内部发生的几个不同操作,并在那里执行任何需要执行的操作,并且能够通过提供$post_type
回调函数中的作用域。
所以你的回电会有点像这样。。
function mycallback() {
global $post_type;
if( \'events\' != $post_type )
return;
// Do your code here
}
你想挂接什么动作取决于你当时想运行什么,如果你没有做任何特别的事情,但想执行一些东西,那么也许通用的管理头钩子将是合适的。。
add_action( \'admin_head-post.php\', \'mycallback\', 1000 );
add_action( \'admin_head-post-new.php\', \'mycallback\', 1000 );
如果正在加载脚本,则可以使用。。
add_action( \'admin_print_scripts-post.php\', \'mycallback\', 1000 );
add_action( \'admin_print_scripts-post-new.php\', \'mycallback\', 1000 );
如果您正在加载样式表,那么可能。。
add_action( \'admin_print_styles-post.php\', \'mycallback\', 1000 );
add_action( \'admin_print_styles-post-new.php\', \'mycallback\', 1000 );
否则我需要更多地了解你在做什么……:)