Symbolleiste in einer virtuellen Seite ausgeblendet

Ich versuche eine virtuelle Seite zu erstellen, aber meine Admin-Symbolleiste wird nicht angezeigt.

So erstelle ich die virtuelle Seite:

functionen.php

add_action('init', function() { add_rewrite_rule('register$', 'index.php?virtualpage=1', 'top'); }); add_filter('query_vars', function($query_vars) { $query_vars[] = 'virtualpage'; return $query_vars; }); add_action( 'parse_request', function(&$wp) { if (array_key_exists('virtualpage', $wp->query_vars)) { switch ($wp->query_vars['virtualpage']) { case '1': include 'page-register.php'; } exit(); } return; }); 

page-register.php

  
add('label', 'label_email', 'email', 'Email'); $form->add('text', 'email', '', array('autocomplete' => 'off')); $form->add('submit', 'btnsubmit', 'Submit'); $form->render(); ?>
<?php get_footer();

Was mache ich falsch?

Lösung

Basierend auf der Antwort habe ich der Aktion ‘template_redirect’ anstelle der Aktion ‘parse_request’ eine function wie folgt zugeordnet:

 add_action('template_redirect', function() { global $wp; if (array_key_exists('virtualpage', $wp->query_vars)) { switch ($wp->query_vars['virtualpage']) { case '1': include 'page-register.php'; } exit(); } return; }); 

Solutions Collecting From Web of "Symbolleiste in einer virtuellen Seite ausgeblendet"

Die Admin-Leiste wird auf template_redirect initialisiert . Sie müssen das kurzschließen.

Die schnelle und schmutzige Methode wäre _wp_admin_bar_init(); ganz oben auf deiner Seite.

 add_filter('wp_title', function($title, $sep, $seplocation) { return 'Register'; }, 10, 2); _wp_admin_bar_init(); // < - this <- get_header(); get_template_part('includes/breadcrumbs'); get_template_part('includes/top_info'); 

Es wäre jedoch etwas schlichter, Ihre function einfach an template_redirect zu hängen, und wenn Sie nicht zwingende Gründe haben, die etwas seltsame Hook-Auswahl von parse_query , würde ich das empfehlen.

 add_action( 'template_redirect', function() { global $wp_query; if (array_key_exists('virtualpage', $wp_query->query_vars)) { switch ($wp_query->query_vars['virtualpage']) { case '1' : include 'page-register.php'; break; } exit(); } return; });