在加载插件中的特定页面时执行jQuery

时间:2014-01-13 作者:user1632018

我正在建立一个插件,我想能够隐藏wordpress管理侧菜单和顶栏时,一个特定的页面显示(或菜单项点击)?

我应该直接在插件页面的代码中作为脚本调用jquery吗,或者当页面加载时,或者使用ajax或类似的工具从挂钩函数中单击菜单项时,是否有办法执行jquery?以下是我不想运行的jquery:

$("#wpadminbar, #adminmenuwrap").hide();

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

您需要使用get_current_screen()

get_current_screen()->id
然后,用以下工具钩住它:

function my_script_function() {
    if ( strpos( get_current_screen()->id, \'screen_id\' ) !== false ) {
        wp_enqueue_script( \'my_javascript_handle\', \'path/to/my/script.js\', \'jquery\', \'1.0\' );
    }
}
add_action( \'admin_enqueue_scripts\', \'my_script_function\' );
这将使您的脚本与jQuery核心一起在WordPress系统中正确排队(以防万一它还没有出现)。

http://digwp.com/2009/06/including-jquery-in-wordpress-the-right-way/ 对在WordPress中使用jQuery有很好的概述。请注意,默认情况下,虽然您不能使用jQuery调用jQuery,因为它处于安全模式(本文将向您展示如何更改它,使其不必使用jQuery)。

结束

相关推荐

如何在进行AJAX调用时加载插件?

我发布了以下问题:How to use shortcodes on a widget sidebar when doing an ajax call?, 没有答案。现在我想问一个更具体的问题。问题似乎是插件没有处理短代码。,好像我用例如。[audio src=\"audioFile.ogg\"] 它工作得很好。所以我猜测,如果之前加载了插件,我可以让它工作。但我不知道如何实现它(也许我错了)。有什么建议吗?这是中的代码functions.php:add_action( \'init\', function