在网上找了几天都没有结果之后,我想问问你们所有人。
问题:我需要将自定义代码添加到文件的头部,作为插件使用的快捷代码的一部分。相同的文件和代码可以在管理页面(后端)中插入,但无法加载到模板文件中。
使用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”);将起作用。我已经尝试了很多,但没有找到有效的解决方案。如果有人知道一个有效的诀窍,我非常感激一些建议。
提前感谢!
赫比
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