Closed overclokk closed 9 years ago
BIsogna fare allora che il plugin se rileva polylang venga caricato dopo la sua inizializzazione e cosí il problema si dovrebbe risolvere.
La cosa interessante è che function_exists( 'pll__' )
restituisce true
Ok, ho capito ora cosa intendevi, ti faccio sapere.
credo che per risolvere basterebbe mettere un ordine in plugins_loaded molto alto in modo che venga eseguito per ultimo http://wordpress.stackexchange.com/questions/63141/in-what-order-does-wordpress-load-plugin-files
Ti stavo per scrivere, si, bisogna usare plugins_loaded e farlo attivare dopo Polylang
Polylang usa questo:
add_action('plugins_loaded', array(&$this, 'init'), 1);
E io ho fatto così:
if ( function_exists('pll__') )// Compatibility with Polylang
add_action( 'plugins_loaded', array( $this, 'dependency_init' ), 11 );
else
new Italy_Cookie_Choices_Front_End;
Così setta correttamente la variabile. Con WPML e Ceceppa non ho provato, male che vada basta aggiungere un function_exist anche per loro.
vedró di aggiungere questa cosa nel file e nel wiki
:+1:
altrimenti penso che potrei riorganizzare il boilerplate in modo che il plugin venga caricato per ultimo che non é sbagliato come ragionamento facendo caricare anche la libreria.
E se poi uno ha bisogno di caricare prima il proprio plugin per altri motivi? Forse è più logico fare decidere allo sviluppatore.
uhm beh per ultimo hai accesso a tutte le api di altri plugin altrimenti avresti problemi. Mi sembra raro che qualcuno abbia la necessità di essere caricato prima ma potrei mettere dei commenti di spiegazione nel codice.
Anche questo è vero, si, al limite con la wiki e le varie opzioni poi uno si regola di conseguenza.
Scoperto una cosa nuovo per Polylang che ti può essere utile https://github.com/ItalyCookieChoices/italy-cookie-choices/issues/68#issuecomment-121302152 Polylang se imposti la lingua in base ai contenuti la stringa non viene settata con plugins_loaded ma dopo, appena ho un attimo vedo quando esattamente.
beh in questo caso é fuori dalla mia polyfill peró buono a sapersi.
Si, certo, può sempre tornare utile, ora vedo se posso risolverlo io altrimenti apro un ticket a polylang
Te lo scrivo in italiano che faccio prima, la funzione get_string non ritorna la stringa tradotta se è richiamata prima che questa venga settata da Polylang, se ti viene in mente una soluzione bene, se no comunque ci lavoro io e poi te la passo.
Un esempio veloce, stessa istanza, in __construct non becca la stringa di pll, in una funzione appesa a wp_footer la becca senza problemi. (Il plugin è Italy Cookie Choices, forse anche perché viene caricato in ordine alfabetico?)
Al max setto la variabile in una funzione e la appendo prima di wp_footer