2016-12-21 139 views
2

爲了我可以通過在WordPress管理區域中使用文本框來輸入我的Google API密鑰,而不是將其添加到代碼中,我試圖附加文本字符串「$ options ['text_string ']「給wp_enqueue_script;將文本字符串添加到wp_enqueue_script

wp_enqueue_script($this->plugin_slug . '-gpstracker-google-maps', '//maps.googleapis.com/maps/api/js?libraries=places&key=' . $options['text_string'] , array(), self::VERSION ); 

不幸的是我沒有任何運氣。正如我使用PHP Myadmin檢查過的那樣,文本字符串正被存儲在選項表中。

該版本的腳本有效;

wp_enqueue_script($this->plugin_slug . '-gpstracker-google-maps', '//maps.googleapis.com/maps/api/js?libraries=places&key=MyGoogleAPIKey', array(), self::VERSION); 

所有幫助表示讚賞。

更新

目前,我想這裏面仍然沒有工作;

public function enqueue_scripts() { 
$gpl_key = get_option('gps_plotter_options'); 
wp_enqueue_script($this->plugin_slug . '-gpstracker-google-maps', 'https://maps.googleapis.com/maps/api/js?' . $gpl_key . 'libraries=places', array(), self::VERSION ); 
} 
+0

是否添加了一段後,$選項的作用? 'wp_enqueue_script($ this-> plugin_slug。'-gpstracker-google-maps','//maps.googleapis.com/maps/api/js?libraries=places&key='。$ options ['text_string']。,array( ),self :: VERSION);' – oompahlumpa

+0

不幸的是,這會導致語法錯誤。 – stpetedesign

回答

0

你已經在你的選擇關鍵單引號,這樣可能會引起問題,酪氨酸通過如下雙引號替換單引號:

wp_enqueue_script($this->plugin_slug.'-gpstracker-google-maps', '//maps.googleapis.com/maps/api/js?libraries=places&key='.$options["text_string"][0] , array(), self::VERSION ); 
+0

我嘗試過,但它仍然無法正常工作。 – stpetedesign

+0

你可以顯示存儲在$ options變量中的值嗎?你確定$ options [「text_string」]是字符串不是數組嗎? 請發佈$ options變量的內容。 – Yamu

+0

嗨雅姆。進一步研究後,我相信$ options [「text_string」]實際上是一個數組。如果是這樣的話,你有什麼建議嗎? – stpetedesign