gpt4 book ai didi

php - wordpress:仅在短代码出现的地方加载 javascript

转载 作者:可可西里 更新时间:2023-10-31 22:44:12 24 4
gpt4 key购买 nike

有一个有趣的难题。我需要为我的插件加载大约 8 个 javascript 文件和相同数量的样式。只有在运行我的短代码的地方才需要这些。

我尝试使用 print_styles 和 print_scripts 加载它们,但它们没有正确呈现,而且这样做会破坏 xhtml 验证。因此,目前它们会加载到每个页面上,并且由于需要的文件数量,将其保留这样是不可行的。

在另一个项目中,我在我的插件的 index.php 文件中编写了一个函数,它会获取当前页面,在其中搜索我的短代码,如果只找到它,它就会打印脚本,但这是一个丑陋的 hack。

有没有人有任何建议或解决方案?任何帮助,将不胜感激,问候,大提

最佳答案

回答我自己的问题......我第一次写了它。您必须搜索每个页面以检查是否正在使用您的短代码。这必须在加载页面数据时和显示页面之前完成。对我来说,这对系统来说完全是矫枉过正,但不幸的是,它就是这样。我从以下位置获得了这些信息: get_shortcode_regexold nabble

那么首先:

add_action('template_redirect','wp_my_shortcode_head');

然后:

function wp_my_shortcode_head(){
global $posts;
$pattern = get_shortcode_regex();
preg_match('/'.$pattern.'/s', $posts[0]->post_content, $matches);
if (is_array($matches) && $matches[2] == 'YOURSHORTCODE') {
//shortcode is being used
}
}

将“YOURSHORTCODE”替换为您的简码名称,并将您的 wp_enqueue_scripts 添加到它显示//正在使用简码的位置。

关于php - wordpress:仅在短代码出现的地方加载 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6235338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com