如何在脚本url后添加get变量?

时间:2013-05-17 作者:Sisir

因此,我已经注册并将脚本排入队列。

http://mysite.com/wp-content/plugins/my-plugin/script.js?ver=3.6

但是如何在脚本src url上添加GET变量呢?

http://mysite.com/wp-content/plugins/my-plugin/script.js?ver=3.6&myVar=whatever

感谢您的帮助。

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

滤器script_loader_src 和使用add_query_arg(). 您可以使用parse_url() 或者第二个参数$handle 要以特定脚本为目标。。。

我在这里包括了多个冗余选项:

add_filter( \'script_loader_src\', \'wpse_99842_add_get_var_to_url\', 10, 2 );

function wpse_99842_add_get_var_to_url( $url, $handle )
{
    if ( \'my_handle\' !== $handle )
        return $url;

    if ( empty ( $_GET[\'myvar\'] ) )
        return $url;

    $parts = parse_url( $url );

    // specific host
    if ( \'example.com\' !== $parts[\'host\'] )
        return $url;

    // specific path
    if ( \'/foo/bar\' !== $parts[\'path\'] )
        return $url;

    // or specific start of path
    if ( 0 !== strpos( $parts[\'path\'], \'/foo/\' ) )
        return $url;

    return add_query_arg( \'myVar\', $_GET[\'myvar\'], $url );
}

结束

相关推荐

ADMIN_ENQUEUE_SCRIPTS未正确呈现JS文件

我会保持简短,我想在管理面板中加载一个JS文件作为插件的一部分,通过大量的研究,我有几个不同的选项,这些选项都以没有其他人会遇到的相同问题结束,所以最后我在这里发布了一个解决方案。当我使用以下代码时,我得到一个错误:function register_scripts(){ wp_register_script(\'payee\',plugins_url(\'iBudget/modules/payee/payee.js\',__FILE__)); } function pay