Suche nach Richtung bezüglich benutzerdefinierter Beiträge

Ich arbeite gerade an einer Community-Site für einen ziemlich großen Blog (ca. 500.000 Uniques / Monat). Ich habe beschlossen, dass ich ein Netzwerk für alle verschiedenen Teile der Community-Seite erstellen möchte, um die DB-Belastung auf ein Minimum zu reduzieren.

IE: – Eine Website für eine vom Benutzer generierte Rezept-Website – Eine Website für ein Benutzer-Forum (mit WordPress) – Eine Website für Gast-Blog-Posts

Für die Rezeptseite wollte ich einen benutzerdefinierten Post-Typ namens Rezept verwenden. Mein Problem dabei ist, dass ich URLs wie die folgenden standardmäßig erhalten würde: recipes.domain.com/recipe/%post-name% oder domain.com/recipes/recipe/%post-name% (je nachdem, ob ich es verwende Subdomain oder Unterverzeichnis in meinem Netzwerk).

Also für Option 1 kann ich die Tags entfernen, die ich gefunden habe http://www.ultimatewebtips.com/remove-slug-from-custom-post-type/ ODER WordPress 3.3 benutzerdefinierte Beitragstyp mit /% postname% / permastruct ?

Obwohl dies gut aussieht, möchte ich keinen Overhead hinzufügen oder mir Sorgen machen, dass Dinge beim Aktualisieren von WordPress oder beim Verwenden eines Caching-Plugins nicht funktionieren. Ich sage nicht, dass es so sein wird, aber ich denke nur, dass das Durcheinander mit der Permalink-Struktur keine so gute Idee wäre.

Für die zweite Option könnte ich einfach den Standardposttyp als mein “Rezept” verwenden (da ich es für nichts anderes verwenden werde). Dadurch kann ich einen Filter wie den folgenden hinzufügen:

add_filter( 'gettext', 'change_post_to_recipe' ); add_filter( 'ngettext', 'change_post_to_recipe' ); function change_post_to_recipe( $translated ) { $translated = str_replace( 'Post', 'Recipe', $translated ); $translated = str_replace( 'post', 'Recipe', $translated ); return $translated; } 

Und dann benutze die remove_post_type_support (), um Dinge, die ich nicht brauche, wie “Editor” und “Auszug” zu entfernen.

Meine einzige Sorge dabei ist, dass die functionen gettext oder ngettext eine Tonne geladen werden würden, und ich würde eine übermäßige Menge von str_replace machen. Der Vorteil der Verwendung des Standard-Post-Typs besteht darin, dass ich alle eingebauten Standard-functionen verwenden kann, um das zu tun, was ich brauche, und die meisten Plug-ins funktionieren gut.

Irgendwelche Vorschläge würden geschätzt werden.

Solutions Collecting From Web of "Suche nach Richtung bezüglich benutzerdefinierter Beiträge"

Das Hauptproblem bei den Neuschreibungen sind Zusammenstöße, nicht Wartbarkeit, da dieser Code in 3.1 und 3.4 funktioniert hätte und wahrscheinlich nicht kaputt gehen würde, und wenn dies der Fall wäre, würde es veraltete Benachrichtigungen für einige Versionen geben.

Ich würde vorschlagen, umbenannte Beiträge zu verwenden, aber stattdessen Code wie folgt verwenden:

 function change_post_menu_label() { global $menu; global $submenu; $menu[5][0] = 'Recipes'; $submenu['edit.php'][5][0] = 'Recipes'; $submenu['edit.php'][10][0] = 'Add Recipes'; $submenu['edit.php'][16][0] = 'Recipe Tags'; echo ''; } function change_post_object_label() { global $wp_post_types; $labels = &$wp_post_types['post']->labels; $labels->name = 'Recipes'; $labels->singular_name = 'Recipe'; $labels->add_new = 'Add Recipe'; $labels->add_new_item = 'Add Recipe'; $labels->edit_item = 'Edit Recipe'; $labels->new_item = 'Recipes'; $labels->view_item = 'View Recipes'; $labels->search_items = 'Search Recipes'; $labels->not_found = 'No Recipes found'; $labels->not_found_in_trash = 'No Recipes found in Trash'; } add_action( 'init', 'change_post_object_label' ); add_action( 'admin_menu', 'change_post_menu_label' );