有人能告诉我为什么这个代码不能工作吗?is_page()无效。
function tao_scripts() {
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery', get_template_directory_uri() . '/js/jquery-1.4.2.min.js', false, '1.4.2');
wp_enqueue_script('jquery');
if ( is_page() ) {
wp_register_script('jquery-validate', get_template_directory_uri() . '/js/jquery.validate.min.js', 'jquery', '1.7');
wp_enqueue_script('jquery-validate');
}
}
}
add_action('init', 'tao_scripts');代码在一个php文件中,该文件包含在我的functions.php中。
我已经试过我能找到/想到的所有东西了。如果没有is_page()条件,它就可以工作。我尝试过使用wp_reset_query(),没有帮助。我确信wordpress知道这是一个页面。is_page(34,'name','Name')也帮不上忙。
发布于 2010-07-14 21:56:22
从技术上讲,Torok是错的。is_page在循环之外运行得非常好。我想它不能工作是因为你没有正确地使用wp_register_script。依赖项需要是一个数组:
wp_register_script('jquery-validate', get_template_directory_uri() . '/js/jquery.validate.min.js', array('jquery'), '1.7');这应该就行了。
编辑:
正如TheDeadMedic所指出的,您还应该将其挂接到以后的钩子上。您应该使用的最早的是wp。实际上,我建议使用template_redirect,因为它只在前端运行(除非您也想在后端替换jQuery )。
发布于 2012-07-15 02:00:21
它与动作的顺序有关
add_action('init', 'tao_scripts');此操作发生在提取查询对象之前很久
发布于 2010-07-14 18:32:06
你能试着用特定的页面测试你的函数吗:
if ( is_page(34, 'name', 'Name') )
{
// your code here
}https://stackoverflow.com/questions/3245063
复制相似问题