Problema con output buffering e pagine "esterne" a Wordpress #170

Open
dariocaregnato opened this Issue May 18, 2016 · 3 comments

Projects

None yet

2 participants

@dariocaregnato

Salve, prima di tutto grazie per il plugin-in! Davvero utile in questa situazione così caotica creata da una legge "mal riuscita" :)

Attualmente ho un problema di implementazione con un sito: ho alcune pagine che si interfacciano al database di Wordpress pur NON essendo vere e proprie "pagine web". Sono infatti pagine che devono riportare i contenuti di WP in JSON per un'applicazione mobile. Per fare questo sto usando in una cartella a parte nomesito.com/api/ l'istruzione require_once("/wp-load.php"); in maniera da poter utilizzare tutti i comandi di Wordpress tranquillamente. Funziona perfettamente, solo che mi mostra anche nella versione JSON del codice che non dovrebbe esserci...

Una buona parte del codice l'ho rimossa utilizzando questo codice qui:

add_filter( 'icc_output_html', 'modifica_output' );
function modifica_output( $output ){
    $output = '';
    echo $output;
}

Ma non riesco a rimuovere e .... sono legati all'output buffering da quello che capisco, ma davvero non so come fare. Vedo che in passato qualcuno ha segnalato un problema simile con i FEED RSS ( #78 ). Forse potrebbe essere utile avere un'istruzione/filtro che DISATTIVI del tutto il plugin tramite codice? Grazie mille!

@overclokk
Contributor

Ciao @dariocaregnato
per quanto riguarda #78 quello era un problema legato al plugin per la cache, una situazione come la tua non era stata prevista e bisogna apportare alcune modifiche alla logica del plugin, in questo periodo ho delle consegne urgenti e non riesco a dedicarmici, spero di riuscire prossimamente.

La funzione che utilizzi invece non è corretta, quando si filtra un valore non va mai usato echo ma return e volendo la si può riscrivere così:

add_filter( 'icc_output_html', 'modifica_output' );
function modifica_output( $output ){
    return = '';
}
@overclokk overclokk self-assigned this May 19, 2016
@dariocaregnato

Ciao Enea, grazie per l'echo, m'era scappato ;)
Per ora ho risolto con questo approccio qui, un po' radicale ma funziona!

http://subharanjan.com/selectively-disable-plugins-on-wordpress-for-a-specific-request/

Spero di aver segnalato una cosa utile, a presto e grazie.

@overclokk
Contributor

Tengo la issue aperta così appena riesco a lavorarci su vedo come applicare la modifica.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment