2013-06-27 154 views
0

我現在需要一些自定義的jQuery添加到我的WordPress的功能,我添加了一些jQuery的方式如下:如何添加自定義JavaScript使用WordPress的functions.php

add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11); 
function my_jquery_enqueue() { 
    wp_deregister_script('jquery'); 
    wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", false, null); 
    wp_enqueue_script('jquery'); 
} 

我需要添加以下內容:

$(document).ready(function() { 
$(".infobfn").append('<a href="#" rel="tooltip" title="<?php echo $variable; ?>"><i class="icon-info-sign"></i></a>');}); 

我遇到的問題是我不能將它添加到外部.js文件,因爲它包含php變量。

有了它留在我的功能我得到以下:

​​3210

我已經加入ob_start();這是建議。我雖然這工作,但後來只實現了我的網頁的一半已加載。

我目前沒有在我的functions.php中使用php頭,也檢查了空格。

任何想法,我可以解決這個問題?

+0

您是否添加了ob_start()? – Anigel

+0

您是否遺漏了您的實際PHP代碼和完整的錯誤信息後的猜測答案?你在哪裏讀過'ob_flush()'會有幫助? – mario

+0

[Headers already sent]可能重複(http://stackoverflow.com/questions/8028957/headers-already-sent-by-php) – mario

回答

0

兩件事情你做錯了:

  1. 出列WP捆綁jQuery的

  2. 使用jQuery而不使用noConflict模式。下面的例子是這樣做的正確方法:

jQuery(document).ready(function($) { 
    // Now, $ will refer to jQuery 
    // Write all your logic inside this block 
}); 

而且,解決了使用PHP變量的JavaScript文件中,使用wp_localize_script。這個函數會將你想要的任何變量傳遞給正確入隊的Javascript文件。

檢查this Answer爲一個工作示例。

相關問題