Permalinks für Zitatautoren

Was ich habe: Eine Site von Zitaten mit Format: “Quote text.” -Quote Autor
Für meine Test-Website siehe quotup.com (ich entschuldige mich im Voraus für die Test-Profanität).

Was ich möchte : Klicken Sie auf “-Quote-Autor”, um eine Seite mit allen Zitaten dieses Zitat-Autors mit URL: example.com/SteveStevenson zu starten, wobei Steve Stevenson der Zitatautor ist.

Was ich getan habe: Eine benutzerdefinierte Tabelle mit dem Namen wp_qauthor erstellt, die mit post_meta (qauthor_id) an wp_posts gebunden ist.
Der function functions.php wurde der folgende Code hinzugefügt:

add_filter('query_vars', 'add_my_var'); function add_my_var($public_query_vars) { $public_query_vars[] = 'qaid'; return $public_query_vars; } 

Erstellt einen Link für den Namen des Angebotsautors als solchen:

 Steve Stevenson 

Ein Klick auf diesen Link lädt zur Zeit home.php, aber ich brauche es, um index.php zu treffen, wo ich diesen Code hinzugefügt habe:

 elseif (get_query_var('qaid')) { $qaid = get_query_var('qaid'); query_posts($query_string . "&meta_key=qauthor_id&meta_value=" . $qaid);} 

Die Fragen:

  • Wie sage ich WP, um index.php aufzurufen, wenn ich auf example.com?qaid=2 href klicke?
  • Nach dem Klicken auf den obigen Link, wie bekomme ich den gewünschten hübschen Link von example.com/SteveStevenson?
    Danke vielmals!

Solutions Collecting From Web of "Permalinks für Zitatautoren"

Erstellen Sie einen benutzerdefinierten taxonomy quoteauthor , aktivieren Sie hübsche Permalinks und Sie erhalten automatisch nette URIs. Bei diesen URIs wird der Name des Autors nicht direkt hinter der Wurzel angegeben, aber etwas wie /qa/steve-stevenson/ sollte gut genug sein.

Hier ist ein Beispielcode als Plugin, den Sie auf GitHub herunterladen können

 < ?php # -*- coding: utf-8 -*- /* Plugin Name: Custom Taxonomy Quote Author Plugin URI: https://gist.github.com/996608 Description: Creates a custom taxonomy Quote Author with an URI /qa/author-name/ Version: 1.0 Required: 3.1 Author: Thomas Scholz Author URI: http://toscho.de License: GPL */ ! defined( 'ABSPATH' ) and exit; add_action( 'after_setup_theme', 'register_quote_author' ); register_activation_hook( __FILE__, 'qua_flush' ); register_deactivation_hook( __FILE__, 'qua_flush' ); /** * Registers the taxonomy 'Quote Author'. * * To list the authors with links in your theme use * @link http://codex.wordpress.org/Function_Reference/get_the_term_list * print get_the_term_list( get_the_ID(), 'quoteauthor' ); * * @link http://codex.wordpress.org/Function_Reference/register_taxonomy * @return void */ function register_quote_author() { register_taxonomy( // Internal name 'quoteauthor' // Post types the taxonomy applies to. // The attachment field is not very nice, just a simple input field. // You may tweak that. , array ( 'post', 'attachment' ) // Visible labels , array ( 'labels' => array ( 'name' => 'Quote Authors' , 'menu_name' => 'Quote Authors' , 'singular_name' => 'Quote Author' , 'search_items' => 'Search Quote Authors' , 'popular_items' => 'Popular Quote Authors' , 'all_items' => 'All Quote Authors' , 'edit_item' => 'Edit Quote Author' , 'update_item' => 'Update Quote Author' , 'add_new_item' => 'Add Quote Author' , 'new_item_name' => 'New name for Quote Author' , 'separate_items_with_commas' => 'Separate Quote Authors by comma' , 'add_or_remove_items' => 'Add or remove Quote Authors' , 'choose_from_most_used' => 'Choose from most quoted authors' ) // Most important parameter. :) , 'public' => TRUE // Available in custom menus. , 'show_in_nav_menus' => TRUE // Standard box. , 'show_ui' => TRUE // Clickable list of popular authors. , 'show_tagcloud' => TRUE // URI , 'rewrite' => array ( 'slug' => 'qa' ) // If you want to use WP_Query. , 'query_var' => 'qa' ) ); } /** * Tells WordPress to rebuild the rewrite rules to include our custom URIS. * * @return void */ function qua_flush() { // The current instance of the class WP_Rewrite. global $wp_rewrite; $wp_rewrite->flush_rules(); } 

F: Wie sage ich WP, index.php aufzurufen, wenn ich auf example.zom klicken? Qaid = 2 href?
A: Nun, wenn du über die Template-Datei redest, solange es keine Vorlage in deinem Theme für author.php gibt, sollte es dir gut gehen. Oder solange es keine Vorlagen gibt, die das Laden von index.php stören, sollte es standardmäßig geladen werden

F: Nachdem ich auf den obigen Link geklickt habe, wie bekomme ich den gewünschten hübschen Link von example.com/SteveStevenson? Danke vielmals!
A: Diese finden Sie unter den Einstellungen in Ihrem Backend unter Permalinks und solange Ihr Server mod_rewrite erlaubt und Sie die .htaccess-Datei eingefügt haben sollte automatisch funktionieren