Ist es möglich, die Ausführung des callbacks für den Shortcode-Ausgang zu verzögern?

Ich habe ein Problem: Shortcode Output Callback wurde zu früh ausgetriggers.

/* Defined in plugin constructor */ add_shortcode( 'foobar' , array($this,'pre_render_routine')); function pre_render_routine () {/* Do something*/} 

Bevor der Shortcode angezeigt wird, müssen Informationen über Metafields angefordert werden, die in der aktuellen Hauptschleife angezeigt werden:

 add_action( 'loop_end', array($this,'retrieve_metadata') ); function retrieve_metadata( WP_Query $wp_query ) { if( is_main_query() && $wp_query->found_posts > 0 ) { $GLOBALS['collected_metafields'] = array(); foreach($wp_query->posts as $post) { $GLOBALS['collected_metafields'][] = array_keys(wp_cache_get($post->ID,'post_meta')); } } } 

PS Nachdem alle Informationen empfangen wurden, brauche ich das Plugin-Markup an der gleichen Stelle wie der Shortcode.

Solutions Collecting From Web of "Ist es möglich, die Ausführung des callbacks für den Shortcode-Ausgang zu verzögern?"