Ändern Sie die Beschriftungen des benutzerdefinierten Posttyps über das untergeordnete Thema

Ich habe ein übergeordnetes WordPress-Theme, das einen benutzerdefinierten Post-Typ namens portfolio , den ich in property ändern möchte.

Ich möchte alle Kontextelemente geändert haben, um property wie "show properties" , "add new property" , "delete property" usw. zu zeigen.
Ich weiß, dass ich dies tun kann, indem ich das übergeordnete Thema aktualisiere, aber ich möchte es lieber nicht, wenn ich es vermeiden kann.

Ich habe diese Antwort gefunden , aber leider bin ich nicht so schlau genug, um meine eigene function zu schreiben und dies zu ändern.

Kann mir jemand dabei helfen? Ich stecke irgendwie fest.
Ich habe das Gefühl, das ist etwas Einfaches für einen PHP-Entwickler. Ich weiß einfach nicht, wie ich es machen soll.

Solutions Collecting From Web of "Ändern Sie die Beschriftungen des benutzerdefinierten Posttyps über das untergeordnete Thema"

$wp_post_types ist ein globales Array, das post_type Objekte enthält, die wiederum eine labels Eigenschaft haben.
Sie können $wp_post_types[$post_type]->labels ändern $wp_post_types[$post_type]->labels nachdem das übergeordnete Thema den CPT gesetzt hat.

Fügen Sie init Hook eine höhere Priorität hinzu.

Fügen Sie den folgenden Code in die Datei functions.php Ihres Themes ein.

Weitere Informationen finden Sie im Codex-Artikel zu get_post_type_object .

 function change_post_object_label() { global $wp_post_types; $labels = &$wp_post_types['portfolio']->labels; $labels->name = 'Property'; $labels->singular_name = 'Property'; $labels->add_new = 'Add Property'; $labels->add_new_item = 'Add Property'; $labels->edit_item = 'Edit Property'; $labels->new_item = 'Property'; $labels->all_items = 'All Properties'; $labels->view_item = 'View Property'; $labels->search_items = 'Search Property'; $labels->not_found = 'No Property found'; $labels->not_found_in_trash = 'No Property found in Trash'; } add_action( 'init', 'change_post_object_label', 999 ); 

Fügen Sie den folgenden Code in functions.php , um die Beschriftung des Hauptmenüs von der Seitenleiste zu ersetzen

 function change_post_menu_label() { global $menu; //print_r($menu); Print menus and find out the index of your custom post type menu from it. $menu[27][0] = 'Bacons'; // Replace the 27 with your custom post type menu index from displayed above $menu array } add_action( 'admin_menu', 'change_post_menu_label' ); 

Fügen Sie den folgenden Code in functions.php hinzu, um ein Bild zum CPT-Menü der Admin-Seitenleiste hinzuzufügen

 add_action('admin_head', 'change_CPT_icon'); function change_CPT_icon() {?>  < ?php }