使用快捷码时,将样式表和js添加到模板文件

时间:2012-03-12 作者:herbie

在网上找了几天都没有结果之后,我想问问你们所有人。

问题:我需要将自定义代码添加到文件的头部,作为插件使用的快捷代码的一部分。相同的文件和代码可以在管理页面(后端)中插入,但无法加载到模板文件中。

使用add\\u操作(“admin\\u print\\u scripts”、“add\\u swm\\u scripts”)将文件插入管理头中&;add\\u操作(“admin\\u print\\u styles”、“add\\u swm\\u styles”);指向使用wp\\u enqueue\\u script()和wp\\u register\\u style()/wp\\u enqueue\\u style()的函数的调用这很好-但是-当我尝试在短代码的函数中注册相同的文件(用于模板)时,没有任何效果。

我检查了是否读取了短代码,并启动了相应的函数,但没有执行add\\u操作(“wp\\u enqueue\\u scripts”、“swm\\u scripts”),add\\u action(\'init\',\'register\\u swm\\u scripts\');也不添加操作(“wp\\u head”,“print\\u swm\\u scripts”);将起作用。我已经尝试了很多,但没有找到有效的解决方案。如果有人知道一个有效的诀窍,我非常感激一些建议。

提前感谢!

赫比

1 个回复
SO网友:helgatheviking

将wp\\u enqueue\\u script()放入短代码处理程序中。

add_shortcode(\'myshortcode\', \'my_shortcode_handler\');

function my_shortcode_handler($atts) {
  wp_enqueue_script(\'my-script\', plugins_url(\'my-script.js\', __FILE__), array(\'jquery\'), \'1.0\', true);

  // actual shortcode handling here
  return "bacon flavored shortcode here";
}
这肯定会加载我的脚本。js文件。但它会加载到页脚中。我认为没有一种方法可以有条件地在标题中加载它,因为它不会到达帖子内容来知道是否使用了短代码。

检查此项:http://scribu.net/wordpress/conditional-script-loading-revisited.html

结束