javascript - Wordpress:仅在使用短代码的页面上加载 CSS 和 JS
问题描述
我只想在某个页面中使用短代码(embedyt)时才显示 css 和 javascript 文件。
我不是 php 专家,但我需要修改我的 wordpress 网站中的一些内容。
这是css和js文件:
<link rel='stylesheet' id='__EPYT__style-css' href='***/wp-content/plugins/youtube-embed-plus/styles/ytprefs.min.css?ver=13.4.1.2' type='text/css' media='all' />
<script type='text/javascript' defer src='***/wp-content/plugins/youtube-embed-plus/scripts/ytprefs.min.js?ver=13.4.1.2' id='__ytprefs__-js'></script>
这是我在function.php(子)中插入但不起作用的代码
function youtubeembed_css_js() {
global $post;
if( is_a( $post, 'WP_Post' ) && has_shortcode( $post->post_content, 'embedyt') ) {
wp_enqueue_script('youtube-embed-plus');
wp_enqueue_style('youtube-embed-plus');
}else{
wp_dequeue_script( 'youtube-embed-plus' );
wp_dequeue_style( 'youtube-embed-plus' );
}
}
add_action( 'wp_enqueue_scripts', 'youtubeembed_css_js', 100);
我该如何解决?感谢您的帮助
解决方案
谢谢你的帮助。但我很新,所以我一步一步地尝试
我做错了什么,因为我仍然在 html 中看到该文件。
我用这个代码注册
add_action('init', 'register_style');
function register_style() {
wp_register_style( 'youtube-embed-plus', plugins_url('/styles/ytprefs.min.css', __FILE__));
wp_register_script( 'youtube-embed-plus', plugins_url('/scripts/ytprefs.min.js', __FILE__));
}
推荐阅读
- database-migration - Flyway - 迁移文件名长度限制?
- command-line-tool - xcode 命令行工具无法找到 git
- php - 在 ARM 服务器上运行 node.js / vue.js 和 PHP 的性能问题
- css - Flex 或网格容器,其大小与其内容一样大,每个项目的大小相同
- python - 第一和第三四分位数的计算
- r - 使用 tibble 类将 R 中的数据集作为双精度导入
- java - java.lang.VerifyError: JVMVRFY010 多个jsrs使用单返回
- java - @Autowired 比嵌套的内部 bean 构造函数更优越?
- weblogic - Oracle 12c Fusion Middleware(Weblogic 和 Forms & Reports)中等效的“opmnctl status”命令是什么?
- python - 从头开始计算逻辑回归的对数损失