Do_action(‘ADMIN_ENQUEUE_SCRIPTS’,$HOOK_SUFFIX)和do_action(“ADMIN_PRINT_STYLES-$HOOK_SUFFIX”)语法的区别

时间:2012-04-23 作者:Chip Bennett

Source ref:

do_action(\'admin_enqueue_scripts\', $hook_suffix);
do_action("admin_print_styles-$hook_suffix");
撇开基础作用的明显差异不谈(admin_enqueue_scripts vs公司admin_print_scripts ), 这两者在句法上有什么区别?

我知道第二个add_action() 电话是这样的:

function wpse99999_enqueue_admin_scripts( \'appearance_page_pagename\' ) {
    // wp_enqueue_script() call here
}
add_action( \'admin_print_styles-appearance_page_pagename\', wpse99999_enqueue_admin_scripts );
但是第一个看起来怎么样?现在$hook_suffix 在这里通过?也许它是作为参数传递给回调的?

function wpse99999_enqueue_admin_scripts( \'appearance_page_pagename\' ) {
    // wp_enqueue_script() call here
}
add_action( \'admin_enqueue_scripts\', \'wpse99999_enqueue_admin_scripts\' );
还是回调返回的?

function wpse99999_enqueue_admin_scripts() {
    // wp_enqueue_script() call here
    return \'appearance_page_pagename\';
}
add_action( \'admin_enqueue_scripts\', \'wpse99999_enqueue_admin_scripts\' );
还是完全是其他原因?

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

对于…

do_action(\'admin_enqueue_scripts\', $hook_suffix);
…回调获取挂钩后缀作为第一个参数。因为这是一个动作,所以你不必返回任何东西。您可以在相当灵活的回调函数中使用它:

add_action(\'admin_enqueue_scripts\', \'wpse_49993_admin_script_callback\' );

function wpse_49993_admin_script_callback( $hook_suffix )
{
    switch ( $hook_suffix )
    {
        case \'index.php\': // dashboard
        // do one thing
        break;
        case \'options-general.php\': // settings
        // do another thing
        break;
    }
}
另外:您可以在不同的站点上重复使用一个功能
  • 减:将在每个管理页面上调用回调

  • do_action("admin_print_styles-$hook_suffix");
    
    这将仅在一页上调用。

    附加:速度稍快,碰撞风险较小add_action() 调用一个或多个回调函数来执行类似的操作

    结束

    相关推荐

    Custom Post Row Actions

    我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $