Wp_en队列脚本、wp_寄存器_脚本来、wp_打印_脚本:我困惑了

时间:2011-12-17 作者:ptriek

关于这个问题,我读了一些书,但读得越多,我就越困惑。

谁能简单地向我解释一下wp_enqueue_scripts, wp_register_scriptswp_print_scripts?

例如,我的函数中有以下代码。php-它正在工作,但我不明白为什么我不能使用wp_print_scripts 对于样式表,如果使用wp_enqueue_scripts 对于javascript文件:

add_action(\'wp_print_scripts\', \'add_my_js\');
function add_my_js(){
    if(!is_admin()){
        wp_enqueue_script(\'default\',  get_bloginfo(\'stylesheet_directory\').\'/js/default.js\', array(\'jquery\'));
    }
}

add_action(\'wp_enqueue_scripts\', \'add_my_stylesheet\');
function add_my_stylesheet() {
    wp_register_style(\'default\', get_bloginfo( \'stylesheet_url\'));
    wp_enqueue_style( \'default\');
}

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

wp_print_scripts 是脚本输出到模板时运行的操作。wp_register_scriptwp_enqueue_script 是用于在以下情况下注册/排队输出脚本的函数wp_print_scripts 跑步。

您不能在wp_print_scripts 操作挂钩,因为样式已在中输出wp_print_styles 钩子,在之前运行wp_print_scripts.

请参阅action reference 要查看请求中执行内容的顺序,请执行以下操作:

22. wp_head
23. wp_enqueue_scripts
24. wp_print_styles
25. wp_print_scripts

结束

相关推荐

动态JAVASRIPT/CSS生成的解决方案

假设您需要根据当前上下文生成javascript或CSS代码。例如,您在主页上有一个表单,在提交时触发ajax请求,在单个页面上有一个不同的表单。或者在CSS的情况下,您希望创建一个主题,允许其用户构建自己的布局、更改颜色等。我目前看到的解决方案:在文档的开头部分包含代码(如果是JS,则在结尾)执行输出代码的特殊请求,如site。com?获取\\u资产。这很慢,因为WP加载了两次。将其存储在临时文件中一段时间,然后从那里加载。对于公共主题或插件来说不太可靠。仅Javascript-将其放入每次加载的普通文