wp-store-locator pluginを使用していますが、プラグインのディレクトリパスを自分のJSに追加したいです。
html = "<li data-store-id='" + id + "'><div><p>" + storeImg + "<strong>" + store + "</strong><span class='wpsl-street'>" + address + "</span>" + address2 + city + " " + state + " " + Zip + "</p>" + moreInfo + "<span><a href='plugin-urlpath/store-listings.php' class='more-details'>More details</a></span></div></li>";
return html;
どうやってやるの ?プラグインのパスはhtml
の末尾です。
_編集済み_ :
これが私がしたことです。
wp_enqueue_script( 'wpsl-gmap', ( "//maps.google.com/maps/api/js?sensor=false&libraries=places&language=" . $this->settings['api_language'] ), false, '', true );
wp_localize_script('wpsl-gmap', 'wpsl-gmap', array('pluginsUrl' => plugins_url(,__FILE__)));
そしてこの行を wpsl-gmap.js に追加しました。
var href = wpsl-gmap.pluginsUrl + '/path/to/resource';
html = "<li data-store-id='" + id + "'><div><p>" + storeImg + "<strong>" + store + "</strong><span class='wpsl-street'>" + address + "</span>" + address2 + city + " " + state + " " + Zip + "</p>" + moreInfo + "<span><a href='" + href + "' class='more-details'>More details</a></span></div></li>";
それはエラーを与えていません。しかしそれはまた私に店の場所を見せていません。
_ note _ これをする前に正しく表示されていました。
ロードしたスクリプトにあらゆる種類のデータを渡すには wp_localize_script()
を使用します。この場合は plugins_url()
が必要です。
wp_enqueue_script('my-script', get_stylesheet_directory_uri() . '/js/my-script.js');
wp_localize_script('my-script', 'myScript', array(
'pluginsUrl' => plugins_url(),
));
これで、スクリプトファイルのmyScript.pluginsUrl
にアクセスできるようになります。
var href = myScript.pluginsUrl + '/path/to/resource';