Wie kann ich programmatisch eine bestimmte (Vorlagen-) Seite anzeigen, zB author.php?

Mein aktueller, hacky Weg , ist dies:

Im Moment habe ich in meiner functions.php Datei so etwas:

 /** * Create the query var so that WP catches the custom /profile/username url */ function userpage_rewrite_add_var( $vars ) { $vars[] = 'profile'; return $vars; } add_filter( 'query_vars', 'userpage_rewrite_add_var' ); /** * Create rewrite rule * @return [type] [description] */ function userpage_rewrite_rule() { add_rewrite_tag( '%profile%', '([^&]+)' ); add_rewrite_rule( '^profile/([^/]*)/?', 'index.php?profile=$matches[1]', 'top' ); } add_action('init','userpage_rewrite_rule'); /** * Catch the URL and redirect it to a template file * @return [type] [description] */ function userpage_rewrite_catch() { global $wp_query; if ( array_key_exists( 'profile', $wp_query->query_vars ) ) { require_once TEMPLATEPATH . '/author.php'; exit; } } add_action( 'template_redirect', 'userpage_rewrite_catch' ); 

Und in der Vorlage ” author.php , etwa so:

 query_vars['profile']; /** * Get the user * @var [type] */ $user = get_user_by('slug', $nice_name ); get_header(); echo '

Hello ' . $user->first_name . '

'; get_footer(); ?>

Dies hat jedoch zahlreiche Nachteile, unter anderem:

  • Fühlt sich hacky an
  • functionen wie get_the_author_meta() können nicht verwendet werden
  • Falsche Seite Meta (Titel, og: Bild, og: URL, etc). Momentan wird alles von der “Blog” -Seite erfasst

Was ist der richtige Weg?

Solutions Collecting From Web of "Wie kann ich programmatisch eine bestimmte (Vorlagen-) Seite anzeigen, zB author.php?"