Questions tagged «wp-register-script»

8
存在简码时,排队脚本/样式
注册/排队脚本和/或样式以便在插件中使用的想法是什么? 我最近制作了一个插件简单插件,以使用简码添加用户头像/ gravatar。我有不同的样式选项来显示化身(正方形,圆形等),并决定将CSS直接放入简码本身。 但是,我现在意识到这不是一个好方法,因为每次在页面上使用简码时,它将重复css。我在该站点上还看到了其他几种方法,并且wp Codex甚至有自己的两个示例,因此很难知道哪种方法最一致,最快。 这是我目前知道的方法: 方法1:直接包含在简码中- 这是我目前在插件中所做的,但由于重复代码而显得不太好。 class My_Shortcode { function handle_shortcode( $atts, $content="" ) { /* simply enqueue or print the scripts/styles in the shortcode itself */ ?> <style type="text/css"> </style> <?php return "$content"; } } add_shortcode( 'myshortcode', array( 'My_Shortcode', 'handle_shortcode' ) ); 方法2:使用类有条件地排队脚本或样式 class My_Shortcode { static …

3
我什么时候应该将wp_register_script()与wp_enqueue_script()结合使用而仅将wp_enqueue_script()与?
当您需要使用时,我很难理解wp_register_script()。目前,我只使用以下内容: add_action( 'admin_enqueue_scripts', array( $this, 'enqueue' ) ); function enqueue() { $handle = 'some-handle'; $js = 'http://example.com/my.js'; wp_register_script( $handle, $js ); wp_enqueue_script( $handle ); } 我已经读了很多书(Codex,博客等),但是我不太明白什么时候应该首先注册,或者什么时候应该入队。作为示例,我注意到TwentyTwelve没有注册任何样式或脚本,而只是将它们排入队列。



1
如何正确地使子主题中的脚本和样式出队?
我在一个项目中制作了一个父主题和一个子主题。我将CSS和JavaScript放入了父主题中,如下所示: function project_necessary_scripts() { //Stylesheets wp_register_style( 'bootstrap-css', get_template_directory_uri() .'/css/bootstrap.min.css' ); wp_register_style( 'bootstrap-map', get_template_directory_uri() .'/css/bootstrap.css.map' ); wp_register_style( 'project-css', get_stylesheet_uri() ); wp_enqueue_style( 'bootstrap-css' ); wp_enqueue_style( 'bootstrap-map' ); wp_enqueue_style( 'project-css' ); //JavaScripts wp_register_script( 'modernizr-js', get_template_directory_uri() .'/js/modernizr-2.8.3.min.js', array(), '2.8.3' ); wp_register_script( 'project-js', get_template_directory_uri() .'/js/project.min.js', array('jquery'), '20150401', true ); wp_enqueue_script( 'modernizr-js' ); wp_enqueue_script( 'project-js' ); …

1
注册并排队有条件的(浏览器特定的)javascript文件?
该WP.SE社区一直建议使用wp_register_script,并wp_enqueue_script在主题/模板添加脚本(同样地,wp_register_style并wp_enqueue_style为样式表)。 这就是我注册和排队脚本的方式... 首先,我在functions.php中添加类似的内容 add_action('init','wpse54189_register_script'); function wpse54189_register_script(){ //Register scripts wp_enqueue_script( 'jquery' ); wp_register_script( 'aahan_bootstrap_transition', get_template_directory_uri().'/js/bootstrap-transition.js'); wp_register_script( 'aahan_bootstrap_carousel', get_template_directory_uri().'/js/bootstrap-carousel.js', array('aahan_bootstrap_transition')); wp_register_script( 'wpse54189_ajax_comment', get_template_directory_uri().'/js/no-reload-comments.js'); } 然后像这样在模板文件(例如header.php)中调用它 <?php wp_enqueue_script( 'aahan_bootstrap_carousel' ); ?> <?php wp_enqueue_script( 'wpse54189_ajax_comment' ); ?> 现在,至此,我该如何注册和入列特定浏览器可以识别的“条件JavaScript文件”?例如: <!--[if lt IE 9]> <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script> <![endif]--> 如何正确注册和入队? PS:我使用Reddle主题,该主题由Automattic的主题牧马人开发。主题的header.php直接使用前面提到的代码-即未排队。那么,这是否意味着这是唯一的方法?

3
从wp_register_script删除?ver =
我在Google速度测试中对脚本中的查询字符串感到na恼。因此,我试图通过传递false作为该参数的参数来删除它们。但是,它似乎没有效果: wp_register_script('myscript', get_bloginfo('template_directory').'/scripts.myversionnumber.js',false,false,true); wp_enqueue_script('myscript'); PS:js文件名的“ myversionnumber”部分是我控制缓存/版本控制的方法,而不是?ver =方法,该方法显然会使某些代理服务器跳闸(根据Google pagespeed测试): 从静态资源中删除查询字符串在静态资源的HTTP标头中启用公共缓存可使浏览器从附近的代理服务器而不是从远程源服务器下载资源。学到更多 此页面的建议 资源带有“?” 某些代理缓存服务器未缓存URL中的。删除查询字符串,并将参数编码为以下资源的URL:

1
wp_enqueue_scripts,wp_register_scripts,wp_print_scripts:我很困惑
我一直在阅读有关该主题的文章,但是阅读的次数越多,我越会感到困惑。 有人可以在短向我解释什么是之间的确切区别wp_enqueue_scripts,wp_register_scripts和wp_print_scripts? 例如,我在functions.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'); }
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.