Laden einer Seitenleiste bei einem Ajax-Anruf

Ich wollte eine benutzerdefinierte Sidebar laden, wenn ich einen Ajax-Anruf ausführe, also habe ich den Weg gefunden mit:

add_filter( 'loop_start', 'my_sidebar_widget', 25 ); 

aber es zeigt die Seitenleiste sogar im Media Admin Panel, also dachte ich darüber nach:

 if( !is_admin() ) { add_filter( 'loop_start', 'my_sidebar_widget', 25 ); } 

aber es war immer noch in der Medien-Admin-Panel geladen, also habe ich versucht:

 add_filter( 'loop_start', 'my_sidebar_widget', 25 ); if( is_admin() ) { remove_filter( 'loop_start', 'my_sidebar_widget', 25 ); } 

Auf diese Weise wird die Seitenleiste beim Ajax-Aufruf nicht geladen. Irgendeine Idee, wie man es triggers?

Solutions Collecting From Web of "Laden einer Seitenleiste bei einem Ajax-Anruf"

is_admin() gibt true zurück true wenn Sie eine Ajax-Anfrage machen. Deshalb hat mein Code nicht funktioniert. Stattdessen habe ich das getan:

 add_filter( 'loop_start', 'my_sidebar_widget', 25 ); function my_sidebar_widget() { if ( is_active_sidebar( 'my_sidebar' ) && (defined( 'DOING_AJAX' ) && DOING_AJAX ) || !is_admin() ) { echo '
'; dynamic_sidebar('my_sidebar'); echo '
'; } }

defined( 'DOING_AJAX' ) && DOING_AJAX gibt true zurück, wenn Sie einen Ajax-Aufruf durchführen, und !is_admin funktioniert, wenn Sie keine Ajax-Anforderung !is_admin . Auf diese Weise wird es im Media Admin Panel nicht angezeigt.