如何使脚本和样式仅在短代码位于页面或帖子上时才显示在wp的页脚中?
联系表单7:只有在有短码时才加载脚本和样式?
这不是基于短代码检测,但您可以尝试
// Add the Contact Form 7 scripts only on the contact page
function deregister_cf7_js() {
if ( !is_page(\'contact\')) {
wp_deregister_script( \'contact-form-7\');
}
}
add_action( \'wp_print_scripts\', \'deregister_cf7_js\' );
function deregister_ct7_styles() {
wp_deregister_style( \'contact-form-7\');
}
add_action( \'wp_print_styles\', \'deregister_ct7_styles\');
发件人http://wptheming.com/2009/12/optimize-plug-in-script-wordpress/我想你可以改变wp_print_styles
和wp_print_scripts
挂钩到wp_enqueue_scripts
, 但我还没有测试过。
我刚刚为正在开发的自定义插件编写了以下内容:
/**
* Is User listing?
*
* @access public
* @return boolean
*/
function is_user_listing(){
global $post;
$listing = false;
if( is_page() && isset($post->post_content) && false !== stripos($post->post_content, \'[userlist\')) {
$listing = true;
}
return apply_filters( \'sul_is_user_listing\', $listing );
}
前提是搜索帖子内容中以[userlist
. 也许你可以调整它(或者至少是有条件的)来搜索contact7短代码。Script Logic 是一个WordPress插件,可以让您完全控制所有JavaScript和CSS文件。使用此插件,您可以控制文件仅在需要的页面上加载。