Возможно ли отсрочить выполнение обратного вызова вывода короткого кода?

У меня есть проблема: короткое обращение к выходному сигналу короткого кода срабатывает слишком рано.

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

Перед отображением короткого кода необходимо запросить информацию о метафорах, которые отображаются в текущем главном цикле:

 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 После того, как вся информация получена, мне нужна разметка плагина вывода в том же месте, где находится короткий код.