Cum să apelezi calea pluginului în JavaScript?

16 oct. 2014, 11:15:14
Vizualizări: 14K
Voturi: 3

Folosesc pluginul wp-store-locator și vreau să adaug calea directorului pluginului în JavaScript-ul meu.

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'>Mai multe detalii</a></span></div></li>";

return html;

Cum pot face acest lucru? Calea pluginului se află la sfârșitul variabilei html.

EDITAT:

Iată ce am făcut:

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__)));

Apoi am adăugat această linie în wpsl-gmap.js

var href = wpsl-gmap.pluginsUrl + '/calea/catre/resursa';
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'>Mai multe detalii</a></span></div></li>";

Nu primesc erori, dar nici nu-mi afișează locația magazinului.

NOTĂ Funcționa corect înainte de această modificare.

0
Toate răspunsurile la întrebare 1
1
10

Folosește wp_localize_script() pentru a transmite orice tip de date către scripturile încărcate, în acest caz avem nevoie de 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(),
));

Acum vei avea acces la myScript.pluginsUrl în fișierul tău de script:

var href = myScript.pluginsUrl + '/calea/către/resursa';
16 oct. 2014 18:44:15
Comentarii

În primul rând, al doilea argument al funcției wp_localize_script este numele obiectului sau variabilei care va fi accesibilă în JS, iar acest nume ar trebui să conțină doar caractere valide, iar liniuța - nu este permisă, așa că încercați wp_localize_script('wpsl-gmap', 'wpslGmap' .. în schimb. În al doilea rând, nu știu dacă este o greșeală de scriere, dar primul argument trebuie furnizat în plugins_url() pentru a transmite al doilea argument, așa că corectați codul la plugins_url('', __FILE__).

Ahmad M Ahmad M
16 oct. 2014 21:11:30