我有一个基于 Wordpress 的网站(我认为这与这个问题无关,但我把它放在那里以防它影响答案)。
它实际上是相关的,因为那时你应该使用wp_register_script()和wp_enqueue_script() ..
wordpress 中的这些功能将允许您正确注册功能,还可以轻松过滤到您希望脚本注册的位置,并提供简单的方法来区分管理端脚本和常规前端脚本。这是在 wordpress 中加载脚本并过滤其外观的正确方法。
入队机制还将处理任何依赖项,并确保仅在此类依赖项之后加载您的脚本(例如 jQuery)
像这样(管理区域):
add_action('admin_enqueue_scripts', 'o99_cfsa_admin_load_scripts');
function o99_cfsa_admin_load_scripts($hook){ // notice the HOOK for admin pages
if( $hook != 'widgets.php' ) // this will load only on widgets pages admin
return;
// in this example , the chosen_k script will not load before the dependecies (first jquery, then chosen , then custom chosen_k script..)
wp_enqueue_script('chosen', plugins_url( '/js/chosen.jquery.js', __FILE__ ), array('jquery'),'099',TRUE);
wp_enqueue_script('chosen_k', plugins_url( '/js/k99.chosen.init.js', __FILE__ ), array('jquery','chosen'),'099',TRUE);
wp_enqueue_style('chosencss', plugins_url( '/js/chosen.css', __FILE__ ), array(),'all');
}
该示例适用于管理端,但要在前端使用它,您只需要使用不同的操作:
add_action('enqueue_scripts', 'o99_cfsa_load_scripts'); // Different action
function o99_cfsa_load_scripts(){
if( is_front_page() ) // example : this will load on all EXCEPT front page
return;
// in this example , the chosen_k script will not load before the dependecies (first jquery, then chosen , then custom chosen_k script..)
wp_enqueue_script('chosen', plugins_url( '/js/chosen.jquery.js', __FILE__ ), array('jquery'),'099',TRUE);
wp_enqueue_script('chosen_k', plugins_url( '/js/k99.chosen.init.js', __FILE__ ), array('jquery','chosen'),'099',TRUE);
wp_enqueue_style('chosencss', plugins_url( '/js/chosen.css', __FILE__ ), array(),'all');
}
这将允许您使用简单的wp 条件标签轻松控制前端的页面:
if ( is_front_page() ) {
wp_enqueue_script('chosen', plugins_url( '/js/chosen.jquery.js', __FILE__ ), array('jquery'),'099',TRUE);
}
或者在你的情况下
if ( is_single( array( 17, 19, 1, 11 ) ) ) { // array of your single posts ID´s
wp_enqueue_script('chosen', plugins_url( '/js/chosen.jquery.js', __FILE__ ), array('jquery'),'099',TRUE);
}
甚至
is_page( 'my-page' ) // for pages, using slug . see the conditional tags .
请注意,最好先注册,然后将脚本排入队列。(阅读上面链接的函数的文档)
在此处查看更多信息:
http://scribu.net/wordpress/optimal-script-loading.html
http://www.paulund.co.uk/add-stylesheets-to-wordpress-正确
或者只是在谷歌搜索“正确加载 javascript wordpress”
另一种不太推荐的方法是使用wp_footer
andwp_head
操作直接打印您的脚本(但同样,这不是最佳做法):
function your_script_print_function() {
if ( is_single( array( 17, 19, 1, 11 ) ) ){
echo '<script type="text/javascript">
// <![CDATA[
jQuery(document).ready(function() {
// your script here ..
});
// ]]>
</script>';
}
}
add_action('wp_footer', 'your_script_print_function', 100); // or wp_head