Derzeit werden meine Seitentitel von WordPress in einem Aufruf von wp_head (ich habe add_theme_support ('title-tag') in functions.php) behandelt. Ich möchte das Seitentitelformat für Kategoriearchive ändern - derzeit sehen diese so aus
<Category name> Archives - <Site name>
Ich möchte, dass sie nur sind:
<Category name> - <Site name>
Gibt es eine Möglichkeit, dies zu erreichen?
Wenn Sie das Yoast SEO-Plugin verwenden (wie es aussieht), kann Ihnen this answer helfen
Wenn Sie das SEO-Plugin von yoast verwenden, ist es am einfachsten, das Archiv-Word aus "title & metas-> Taxonomies-> category" zu entfernen.
finden:
%% term_title %% Archives %% page %% %% sep %% %% sitename %% ersetzen durch:
%% term_title %% %% page %% %% sep %% %% sitename %%
Alternativ können Sie versuchen, es mit dem get_the_archive_title
-Filter zu ändern (siehe hier ).
add_filter( 'get_the_archive_title', function ($title) { if ( is_category() ) { $title = single_cat_title( '', false ); } elseif ( is_tag() ) { $title = single_tag_title( '', false ); } elseif ( is_author() ) { $title = '<span class="vcard">' . get_the_author() . '</span>' ; } return $title; });
Sie müssen den Hook wp_title verwenden. Probieren Sie diesen Code aus, er sollte für Sie funktionieren:
add_filter ('wp_title', 'my_new_category_title', 10, 2); function my_new_category_title ($ title) { if (is_category.) () || is_archive ()) { $ title = '-' .get_bloginfo ('name'). ' '. $ title; } return $ title; }
Wenn Sie nur das Title-Tag () bearbeiten möchten und nicht das, was oben auf der Seite angezeigt wird, können Sie dies tun:
// define the document_title_parts callback
function filter_document_title_parts( $title ) {
if( is_category() ){
$title[title] = str_replace( 'Archives', '', $title[title] );
}
return $title;
};
// add the filter
add_filter( 'document_title_parts', 'filter_document_title_parts', 10, 1 );