Wordpress if(if_page)和页面模板不起作用

时间:2014-10-31 12:15:35

标签: wordpress

我正在努力让我的wordpress enque脚本工作。不知道我做错了什么,尝试过很多但似乎没什么用。

我有一个tittle Ledenlijst的页面,id = 69。 我想只对那个页面进行enque。所以我试着添加到functions.php:

// Funtion to include stylesheet for page ledenlijst.
function enqueue_child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style')  );
}
// Function to add ledenlijst
function add_ledenlijst() {
    wp_enqueue_script(
        'your-script', 
        get_template_directory_uri() . '-child/ledenlijst.js', 
        array('jquery')
    );
}

if(is_page('ledenlijst') ){ // Only on ladenlijst page
echo "Page ledenlijst identified"; // debug
    // Register Stylesheet
    add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
    // Register ledenlijst script
    add_action( 'wp_enqueue_scripts', 'add_ledenlijst' );
}

由于某种原因,它没有被识别出来。我也尝试过: 如果(is__page(69) A已复制默认页面,在我的子主题文件夹中创建了pageLedenlijst.php,将该主题应用于此页面并尝试: 如果(is_page_template(' pageLedenlijst.php&#39)

没有任何工作,调试未显示,enque schript将无法加载。

2 个答案:

答案 0 :(得分:1)

你试过这个吗?

您只有一个要排队的功能,然后检查您所在的页面是否是您要将脚本排入队列的页面。

我认为你正在使用一个子主题,这个脚本(ledenlijst.js)在你的孩子主题中不在父主题中,我是对的吗?如果答案是肯定的,则必须更改get_template_directory_uri() get_stylesheet_directory_uri(),因为get_template_directory_uri()(在子主题的上下文中)它会调用父主题目录,而get_stylesheet_directory_uri()会引用子主题主题目录

function enqueue_child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style')  );
    if( is_page( 69 ) ){
        wp_enqueue_script('your-script', get_template_directory_uri() . '-child/ledenlijst.js', array('jquery') );
    }
}

资源:
get_template_directory_uri()
get_stylesheet_directory_uri()

抱歉英语不好

答案 1 :(得分:0)

感谢马科斯, 它的确奏效了。我再试一次,忘了改变get_template_directory_uri()。

此代码有效:

function enqueue_child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style')  );
    if( is_page( 69 ) ){
    wp_enqueue_script('your-script', get_template_directory_uri() . '-child/ledenlijst.js', array('jquery') );
    }
}
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);

不再需要自定义页面/模板。快乐与解决方案!