Get_Current_Screen的简单/基本用法

时间:2014-08-28 作者:codeview

我只想在3个管理页面上加载样式表:

发布。php?post=7(&P);操作=编辑帖子。php?post=10(&;操作=编辑帖子。php?post=18(&P);操作=编辑我正在尝试admin_enqueue_script 但它似乎没有这种特异性(see my related wpse post), 这让我get_current_screen. 但是我找到的所有例子和文章get_current_screen 请参阅将其与插件和/或插件选项页面一起使用:

I would simply like to use get_current_screen in my functions.php to determine if the admin page loaded is 1 of the 3 pages and if so load a css file.

一个简单的示例将非常有用(这里是php新手)。谢谢你的帮助。

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

我没有对此进行测试,但理论上你可以这样做(以法典为例):

function load_custom_wp_admin_style() {
    $pageArr = array(1, 2, 3);
    if(isset($_GET[\'post\']) && in_array($_GET[\'post\'], $pageArr)){
        wp_register_style( \'custom_wp_admin_css\', get_template_directory_uri() . \'/admin-style.css\', false, \'1.0.0\' );
        wp_enqueue_style( \'custom_wp_admin_css\' );
    }
}
add_action( \'admin_enqueue_scripts\', \'load_custom_wp_admin_style\' );
我们获取当前屏幕并设置要包含任何脚本或样式的页面ID。然后确保$_GET[\'post\'] 设置保存我们的帖子->ID的位置,我们还想确保我们的帖子类型正确(尽管您可能会完全跳过当前屏幕的内容,只需使用$_GET). 然后检查当前帖子ID是否在我们接受的ID数组中,如果是,请排队。

结束