首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress中is_page()条件的问题

WordPress中is_page()条件的问题
EN

Stack Overflow用户
提问于 2010-07-14 18:00:17
回答 3查看 3.3K关注 0票数 2

有人能告诉我为什么这个代码不能工作吗?is_page()无效。

代码语言:javascript
复制
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')也帮不上忙。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-14 21:56:22

从技术上讲,Torok是错的。is_page在循环之外运行得非常好。我想它不能工作是因为你没有正确地使用wp_register_script。依赖项需要是一个数组:

代码语言:javascript
复制
wp_register_script('jquery-validate', get_template_directory_uri() . '/js/jquery.validate.min.js', array('jquery'), '1.7');

这应该就行了。

编辑:

正如TheDeadMedic所指出的,您还应该将其挂接到以后的钩子上。您应该使用的最早的是wp。实际上,我建议使用template_redirect,因为它只在前端运行(除非您也想在后端替换jQuery )。

票数 0
EN

Stack Overflow用户

发布于 2012-07-15 02:00:21

它与动作的顺序有关

代码语言:javascript
复制
add_action('init', 'tao_scripts');

此操作发生在提取查询对象之前很久

票数 2
EN

Stack Overflow用户

发布于 2010-07-14 18:32:06

你能试着用特定的页面测试你的函数吗:

代码语言:javascript
复制
if ( is_page(34, 'name', 'Name') ) 
{
    // your code here
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3245063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档