Geben Sie den Kategorietitel in wp_title ein

Ich benutze dies in functions.php um meine Seite </code> auszugeben: </p> <pre> <code>/** * Creates a nicely formatted and more specific title element text * for output in head of document, based on current view * * @param string $title Default title text for current view * @param string $sep Optional separator * @return string Filtered title */ function sitename_wp_title( $title, $sep ) { global $paged, $page; if ( is_feed() ) return $title; // Adds the site name $title .= get_bloginfo( 'name' ); // Adds the site description for the front page $site_description = get_bloginfo( 'description', 'display' ); if ( $site_description && ( is_front_page() ) ) $title = "$title $sep $site_description"; // Adds a page number if necessary if ( $paged >= 2 || $page >= 2 ) $title = "$title $sep " . sprintf( __( 'Page %s' ), max( $paged, $page ) ); return $title; } add_filter( 'wp_title', 'sitename_wp_title', 10, 2 );</code> </pre> <p> Ich möchte den <strong>Top-Level-Kategorienamen</strong> auf Unterseiten einfügen. </p><ul><li><a href="http://de.wordpressask.com/brauchen-sie-hilfe-mit-seitentitel-statische-titelseite.html" rel="bookmark" title="Brauchen Sie Hilfe mit Seitentitel (statische Titelseite)">Brauchen Sie Hilfe mit Seitentitel (statische Titelseite)</a></li><li><a href="http://de.wordpressask.com/wie-man-den-seitentitel-im-blogpost-der-wordpress-site-zeigt.html" rel="bookmark" title="Wie man den Seitentitel im Blogpost der WordPress-Site zeigt">Wie man den Seitentitel im Blogpost der WordPress-Site zeigt</a></li><li><a href="http://de.wordpressask.com/titel-trennzeichen-andern.html" rel="bookmark" title="Titel Trennzeichen ändern">Titel Trennzeichen ändern</a></li><li><a href="http://de.wordpressask.com/andern-des-titels-einer-seite-dynamisch-innerhalb-eines-plugins.html" rel="bookmark" title="Ändern des Titels einer Seite dynamisch innerhalb eines Plugins">Ändern des Titels einer Seite dynamisch innerhalb eines Plugins</a></li><li><a href="http://de.wordpressask.com/der-titel-eines-anhangs-funktioniert-nicht.html" rel="bookmark" title="Der Titel eines Anhangs funktioniert nicht">Der Titel eines Anhangs funktioniert nicht</a></li><li><a href="http://de.wordpressask.com/wordpress-filtert-caps-in-wp_title-aus-uppercase-wird-in-grosbuchstaben-geandert.html" rel="bookmark" title="wordpress filtert Caps in wp_title aus? (UpperCase wird in Großbuchstaben geändert)">wordpress filtert Caps in wp_title aus? (UpperCase wird in Großbuchstaben geändert)</a></li></ul> <p> Zum Beispiel derzeit mit einer Site-Struktur von diesem: </p> <ul> <li> Zuhause </li> <li> Über </li> <li> Arbeit <ul> <li> Groß </li> <li> Klein </li> </ul> </li> <li> Kontakt </li> </ul> <p> Beiträge in der Kategorie “Groß” geben einen Seitentitel wie diesen aus: </p> <p> <code><title>$postname | $blog_name

Ich möchte, dass die Ausgabe wie folgt aussieht:

$postname | Work | $blog_name

Daher wird der Kategoriename der obersten Ebene hinzugefügt, nicht jedoch die Kategorie der sekundären Ebene (Large).

Solutions Collecting From Web of "Geben Sie den Kategorietitel in wp_title ein"

Erstellen Sie eine Hilfsfunktion, um alle übergeordneten Kategorien zu erhalten (jeder Beitrag kann aus mehreren Kategorien bestehen):

 function parent_cat_names( $sep = '|' ) { if ( ! is_single() or array() === $categories = get_the_category() ) return ''; $parents = array (); foreach ( $categories as $category ) { $parent = end( get_ancestors( $category->term_id, 'category' ) ); if ( ! empty ( $parent ) ) $top = get_category( $parent ); else $top = $category; $parents[ $top->term_id ] = $top; } return esc_html( join( $sep, wp_list_pluck( $parents, 'name' ) ) ); } 

Fügen Sie den übergeordneten Begriff mit … hinzu

 if ( '' !== $parent_cats = parent_cat_names( $sep ) ) $title .= "$parent_cats $sep ";