2016-05-13 14 views
1

我在使用wp_localize_script時遇到了一些麻煩。關於這方面已經有很多問題了,但我不知道如何實施這些具體案例。我製作了一個jQuery文件,其中包含每個div後面帶有特定類的圖像。 jQuery本身很好,因爲我可以使用段落標記更改圖片標記,然後顯示在瀏覽器中。下面是我在functions.php的用於插入圖像的wp_localize_script

function wpa_scripts() { 
wp_enqueue_script(
    'divider', 
    get_template_directory_uri() . '/js/divider.js', 
    array('jquery'), 
    null, 
    true 
); 
$script_data = array(
    'image_path' => get_template_directory_uri() . '/images/' 
); 
wp_localize_script(
    'divider', 
    'divider_data', 
    $script_data 
); } add_action('wp_enqueue_scripts', 'wpa_scripts'); 

這裏就是我在我的.js

jQuery(document).ready(function($){ 

$('.contentpage').after('<img src=" '$script_data' + divider_placeholder.png">'); }); 

我誰能告訴我我做錯了什麼?提前致謝。

親切的問候, 燕姿

回答

1

你需要有'divider_data.image_path'而不是$script_data在你的jQuery函數:

jQuery(document).ready(function($){ 

    $('.contentpage').after('<img src="' + divider_data.image_path + 'divider_placeholder.png">'); 

}); 

參考:https://codex.wordpress.org/Function_Reference/wp_localize_script

+0

謝謝!我對WordPress很新,所以我的代碼可能是我在互聯網上找到的答案的憎惡。兩個答案都是對的:) – Stef

1

你的變量$script_data是不是在你的js文件正確的語法以及不訪問預定義的本地化變量divider_data

相反的:
$('.contentpage').after('<img src=" '$script_data' + divider_placeholder.png">'); });

它應該是:

$('.contentpage').after('<img src="' + divider_data.image_path + 'divider_placeholder.png">'); });