Hinzufügen / Überschreiben eines Parameters für einen vorhandenen Posttyp / Taxonomie

Ich habe mehrere Websites mit benutzerdefinierten Post-Typen und Taxonomien von verschiedenen Plugins registriert. Gibt es eine Möglichkeit, einen Parameter wie diesen hinzuzufügen oder zu ändern?

"'rewrite' => array( 'hierarchical' => true )" 

indem Sie etwas zu functions.php hinzufügen, ohne den Typ / die Taxonomie vollständig neu zu registrieren? Ich möchte weiterhin bestimmte Plugins zur Verwaltung von Typen und Taxonomien verwenden, aber nicht alle Parameter werden bereitgestellt.

Solutions Collecting From Web of "Hinzufügen / Überschreiben eines Parameters für einen vorhandenen Posttyp / Taxonomie"

Sie könnten die globale Variable $ wp_post_types oder im Fall von Taxonomien $ wp_taxonomies ändern

Dies ändert beispielsweise den Menünamen und alle Beschriftungen für die Standard-Posts zu Bacon:

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

Quelle: http://new2wp.com/snippet/change-wordpress-posts-post-type-news/

WordPress hat mehrere functionen, die die Art der Sache, die Sie versuchen, ermöglichen.

Auschecken:

  • add_post_type_support ()
  • remove_post_type_support ()
  • register_taxonomie_for_object_type ()

Wenn Sie eine Taxonomie entfernen möchten, müssen Sie sie erneut registrieren, indem Sie register_taxonomy () verwenden, und dann die gewünschten Post-Typen aus dem Array des Array-Objekts $ object_type auslassen. Stellen Sie dann sicher, dass Sie einen Hook verwenden, der zu einem Hook funktioniert, der nach der ersten Registrierung ausgeführt wird (oder auf demselben Hook, jedoch mit einer niedrigeren Priorität).

ps Leider konnte ich nicht auf all diese verlinken (nicht genug Reputationspunkte). Alle diese functionen haben Einträge im Codex; google sie einfach.