2012-10-01 139 views
1

我想有條件地包含在WordPress的特定頁面上的JavaScript文件。我終於找到了一段代碼,它完全符合我的要求,但似乎沒有工作。有什麼想法嗎?我沒有包含真實的頁面名稱,但我使用的是頁面slu。。WordPress的條件JavaScript包括

<?php if (is_page(array('page-slug','page-slug','page-slug'))) { ?> 
    <script src="<?php echo get_template_directory_uri(); ?>/js/script.js"></script> 
<? } else { ?> 
    <script src="<?php echo get_template_directory_uri(); ?>/js/script.js"></script> 
    <script src="<?php echo get_template_directory_uri(); ?>/js/conditional-script.js"> </script> 
<? } ?> 

我把這段代碼放在我的自定義模板文件中調用其餘腳本的地方。

+0

雖然這並不解決您的眼前的問題,您應該真正[入隊(HTTP: //codex.wordpress.org/Function_Reference/wp_enqueue_script)你的腳本,而不是像你正在做的那樣將它們添加到標題中。關於你的問題,你可以擴展一下不起作用的東西嗎?所有頁面上都加載了哪些腳本?沒有腳本加載? – Ryan

+0

此代碼似乎打破了我的腳本在我的custom-footer.php中的所有調用,這導致我相信上面的代碼中存在語法錯誤。我無法弄清楚它是什麼。 – gschervish

+0

如果不包含在條件語句中,腳本是否正確工作? – Ryan

回答

0

在第三行和最後一行,看起來您正在使用<?打開該行。請嘗試使用<?php。所以,它應該是:

<?php 
if (is_page(array('page-slug','page-slug','page-slug'))) 
{ ?> 
    <script src="<?php echo get_template_directory_uri(); ?>/js/script.js"></script> 
<?php 
} 
else 
{ ?> 
    <script src="<?php echo get_template_directory_uri(); ?>/js/script.js"></script> 
    <script src="<?php echo get_template_directory_uri(); ?>/js/conditional-script.js"></script> 
<?php 
} 
?> 

而且正如我所說,我會建議enqueuing scripts在未來;)

+0

UGhhh !!這是一個簡單的解決方案,最多。並感謝您的排隊提示!我實際上已經在阻止默認的WP jquery調用,並通過谷歌的CDN排隊jquery。 – gschervish

+0

哈哈,最簡單的往往也是最容易忽略的。很高興我能夠幫助! – Ryan