仅当调用函数时才将脚本和样式入队

时间:2019-10-23 作者:Jaro

我正在使用一个函数来显示一个库,只有在调用库函数时,我才需要加载它的JS/CSS。这两个函数都在自定义插件中。

现在,我有了第一个将脚本和样式以及函数本身排队的函数:

function gallery_assets() {
            $upload_dir = wp_get_upload_dir();
            wp_enqueue_style(\'flex-gallery\', trailingslashit( $upload_dir["baseurl"]).\'gallery-assets/css/flex-gallery.css\');

            wp_enqueue_script(\'flex-gallery-jquery\', trailingslashit( $upload_dir["baseurl"]).\'gallery-assets/js/jquery.min.js\');
            wp_enqueue_script(\'flex-gallery\', trailingslashit( $upload_dir["baseurl"]).\'gallery-assets/js/flex-gallery.js\');
            } 
add_action( \'wp_enqueue_scripts\', \'gallery_assets\', 10);
function portfolio_gallery () {}
我的问题是:如何从portfolio\\u gallery()中执行gallery\\u assets()?

非常感谢。

2 个回复
SO网友:Dallas Price

不要使用两个函数,只需将gallery assets代码放在portfolio gallery函数中即可。

或将其嵌套。不过筑巢有点难看。

SO网友:butlerblog

我的问题是:如何从portfolio\\u gallery()中执行gallery\\u assets()?

不幸的是,你还没有给出任何指示portfolio_gallery() 已执行。是否从其他函数/位置调用?还是它被什么东西钩住了?

实际上很可能你不需要执行gallery_assets() 从…起portfolio_gallery(). 如果portfolio_gallery() 在正文中运行(例如显示内容),gallery_assets() 它应该已经执行了。你已经把它挂到了wp_enqueue_scripts 动作,如所写,它将在头部执行。

This page in the Codex has a general list of actions and the order they come in.

相关推荐

如何在PHP文件/WordPress插件中访问jQuery/AJAX数据

我有一个jQuery UI可排序列表,连接到另一个列表,到目前为止,我的JavaScript可以将两个列表中的HTML ID显示到屏幕上,但我很难确定如何将这些数据定向到PHP文件,以便使用它。是wp_localize_script 对我来说有必要吗?我把它指向ajaxurlplugins_url( \'my-ajax.php\' ). 是否需要转到admin_url( \'admin-ajax.php\' )?我试图在我创建的管理页面上使用它,而不是在前端。这非常令人困惑。这就是我在WordPress中