Doppelte Titel bei Verwendung von All in One SEO mit benutzerdefinierter Vorlage

Ich habe eine separate Vorlage erstellt, attachment.php, um Bildanhänge anzuzeigen. Es ist relativ einfach; im Grunde eine abgespeckte Version von single.php. Alles funktioniert gut, außer wenn ich das All in One SEO-Plugin aktiviert habe (und Titel neu schreiben), werden die Titel auf diesen Anhangseiten verdoppelt.

Der Titel dieses Anhangs sollte beispielsweise lauten: “11 Stunden Batterielebensdauer des MacBook Air”, aber das Title-Tag wird als “11 Stunden Akkulaufzeit des MacBook Air 11 Stunden Akkulaufzeit des MacBook Air” gerendert.

Dies geschieht nur auf den attachment.php-Seiten, nicht auf den restlichen Posts und Seiten.

Irgendeine Idee, was könnte das verursachen?

Solutions Collecting From Web of "Doppelte Titel bei Verwendung von All in One SEO mit benutzerdefinierter Vorlage"

Das Problem ist, dass All in One SEO eingerichtet ist. Es wird davon ausgegangen, dass Sie Ihre Mediendateien immer an einen Post oder eine Seite anhängen. Ein einfacher Weg besteht darin, sie an einen Post oder eine Seite anzuhängen, und Ihr Attachment-Titel lautet “PostName AttachmentName – Blogname”.

Der andere Weg ist auch einfach, aber Sie müssen das Plugin ändern. Sie öffnen die Datei aioseop.class.php und finden diesen Codeabschnitt:

else if (is_attachment()) { $title = get_the_title($post->post_parent).' '.$post->post_title.' – '.get_option('blogname'); $header = $this->replace_title($header,$title); } 

Das Problem bei dieser Konfiguration besteht darin, dass das Elternelement unabhängig davon, ob es sich um ein Kind handelt, erfasst wird. Wenn es keinen Elternteil hat, ist sein Elterntitel ein eigener Titel, daher der Doppeltitel. Um dies zu beheben, können wir eine if-statement hinzufügen, um zu überprüfen, ob es einen Elternteil hat, um den doppelten Titel zu vermeiden. Also würde der Code so aussehen:

 else if (is_attachment()) { if(get_the_title($post->post_parent) != $post->post_title) { $title = get_the_title($post->post_parent).' '.$post->post_title.' – '.get_option('blogname'); } else { $title = $post->post_title.' – '.get_option('blogname'); } $header = $this->replace_title($header,$title); } 

Dann laden Sie es einfach in den All in One SEO Plugin Ordner und Ihr Problem sollte behoben sein.

Ich hoffe, das hilft.

{R: S}