Ho notato che alcuni plugin come Contact-form-7 , Nextgen-gallery , forse altri, hanno un'interessante funzionalità anti-registrazione di non registrare i loro codici brevi quando is_admin()
è vero.
La cosa problematica è che se vuoi generare del contenuto dinamico (che può avere shortcode) da ajax e usare il modo wp "corretto" per farlo, admin-ajax.php, è impossibile non avere WP_ADMIN vero. Vedi le prime righe di admin-ajax.php:
define( 'DOING_AJAX', true );
if ( ! defined( 'WP_ADMIN' ) ) {
define( 'WP_ADMIN', true );
}
Ora, sembra che ci siano estensioni PHP che ti permetteranno di annullare l'impostazione di una costante definita (hacky), o potrebbe esserci un modo per pasticciare con il sistema WP_Screen non documentato e $GLOBALS['current_screen']
per rendere la is_admin()
funzione restituire false ?? La soluzione più utilizzabile sembra essere la pubblicazione nella pagina o nella radice del sito.
È comune per i plugin registrare i loro codici brevi quando is_admin()
è falso? In tal caso, non sono riuscito a trovare alcuna documentazione o motivo per questo se non che potrebbe essere un'ottimizzazione prematura.
is_admin
sta facendo it_it_wrong ci sono modi molto migliori in WP per verificare la presenza di richieste ajax. Infine, se il plugin accoda js / css, se lo fa bene (usando l''wp_enqueue_scripts'
azione) non influenzerà le pagine di amministrazione perché quell'hook non viene attivato nelle pagine di amministrazione.