我似乎无法使用此功能,并且想知道是否有人可以帮我看看。
我有一些使用特殊表单的静态页面,但我不希望/需要在网站的每个页面上加载css。
function skyform_check_function() {
global $post
if (has_shortcode( $post->post_content, 'skyform_function')) {
wp_enqueue_script( 'add_skyform_css_function');
}
}
add_action ('wp_enqueue_scripts', 'skyform_check_function');
[skyform_function]是表单的短代码 函数add_skyform_css_function()添加了css。 < - 如果我只是执行add_action,这项工作正常(' wp_head',' add_skyform_css_function');
function add_skyform_css_function () {
?>
<link rel="stylesheet" href="/assets/sky-forms/css/sky-forms.css">
<!--[if lt IE 9]><link rel="stylesheet" href="assets/sky-forms/css/sky-forms-ie8.css"><![endif]-->
<script src="/assets/sky-forms/js/jquery.min.js"></script>
<script src="/assets/sky-forms/js/jquery-ui.min.js"></script>
<script src="/assets/sky-forms/js/jquery.form.min.js"></script>
<script src="/assets/sky-forms/js/jquery.validate.min.js"></script>
<script src="/assets/sky-forms/js/jquery.maskedinput.min.js"></script>
<script src="/assets/sky-forms/js/jquery.modal.js"></script>
<!--[if lt IE 10]><script src="/assets/sky-forms/js/jquery.placeholder.min.js"></script><![endif]-->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<script src="/assets/sky-forms/js/sky-forms-ie8.js"></script>
<![endif]-->
<?php
}
答案 0 :(得分:1)
首先使用add_shortcode
注册您的短代码,否则您将无法使用has_shortcode
需要使用add_shortcode()注册短代码才能识别。
function skyform_check_function() {
global $post;
if( is_a( $post, 'WP_Post' ) && has_shortcode( $post->post_content, 'skyform_function') ) {
add_action ('wp_head', 'add_skyform_css_function');
}
}
add_action('wp_enqueue_scripts', 'skyform_check_function');
add_shortcode('skyform_function', 'skyform');
function skyform() {
// your shortcode
}
并将您的代码添加到wp_head
,因为wp_enqueue_script
是脚本脚本,而不是回显块。