dynamische meta description aus get_the_excerpt

  • Hallo,

    in meinen Blogs lasse ich die Meta Description für Artikel automatisch im HTML header einfügen. Und zwar nimmt Wordpress dazu die eigens angelegten Auszüge (Excerpts), die ich beim Artikelschreiben angeben kann.

    Der Code dazu funktioniert prima:

    PHP
    <meta name="description" content="<?php if( is_single() ) { echo(get_the_excerpt());} else { bloginfo('name'); echo ' - '; bloginfo('description');}?>" />

    Leider funktioniert das bei einem einzigen Blog nicht. Die Startseite hat ganz normal die Bloginfo als metadescription, aber Artikelseiten haben immer leere meta descriptions, obwohl natürlich Auszüge vorhanden sind. :confused:

    Habt Ihr 'ne Ahnung woran das liegt oder könnt Ihr eine andere (vielleicht bessere) Schreibweise empfehlen?

    Auch den code habe ich versucht.

    PHP
    <?php if (is_single()||is_tag()): ?>
    <meta name="description" content="<?php echo strip_tags(get_the_excerpt()); ?>" />       <?php endif; ?>


    Aber der zieht mir ebenfalls nie den excerpt in die meta description.

    Die Excerpts werden übrigens korrekt auf der Startseite als Artikelinhalt Vorschauen angezeigt. Also schafft es WP auf jeden Fall sie zu speichern und zu finden. Nur in das meta description tag im header kriegt WP die excerpts irgendwie nicht rein. :confused:

    Einmal editiert, zuletzt von teflon_jim (24. Mai 2009 um 16:14)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • dein problem wird meines erachtens darin liegen, das du dich in der header.php ausserhalb des loops bewegst und die funktion the_excerpt() nicht intern mit dem entsprechenden index versorgt wird.

    um dein ziel zu erreichen musst du nach meiner einschätzung innerhalb der is_single-abfrage mit dem loop arbeiten und anschließend die post-auflistung entsprechend wieder "zurückspulen". näheres dazu lässt sich auch dem codex entnehmen: vgl. The Loop WordPress Codex

    vG

    Arno

    Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...

  • Mist, dafür fehlt mir das Verständnis. Auf einer Post Page (is_single) ist ja gar kein Loop. Da kommt ja nur the_content rein.

    Schon seltsam, dass es bei mehreren blogs mit meiner meta description Regelung funktioniert, und nur das eine rumzickt.

    Kann ich alternativ eine Variable $metabeschreibung = get_the_excerpt(); definieren?

    Dann brauch ich in der meta description nur content="$metabeschreibung" einfügen, oder so.

  • stalkerX, danke. Ich habe den Link zu WordPress: Dynamic Meta Description and Keywords howto verfolgt und denCode eingefügt. Es funktioniert auch so nicht.

    Warum findet WP das excerpt nicht? Auf der Homepage zeigt es die Auszüge ja auch an. Nur auf der post page (single.php) nicht.

    Vielleicht liegt's am Template. Ich kann in Absprache mit dem Kunden mal kurz ein default template laden um das zu testen. Dann melde ich mich hier wieder.

    Danke schon mal für die Meinungen :)


    achja, ich habe gerade folgendes ausprobiert:

    PHP
    <meta name="description" content="<?php if (is_single() ) {$metadescr = get_the_excerpt($post->ID); echo($metadescr);} else { bloginfo('name'); echo ' - '; bloginfo('description');}?>" />

    orientiert habe ich mich an den meta keywords, die sidewide wirklich funktionieren:

    PHP
    <meta name="keywords" content="<?php if(is_single() ) {$metatags = get_the_tags($post->ID); foreach ($metatags as $tagpost) {$mymetatag = apply_filters('the_tags',$tagpost->name); $keyword = utf8_decode($mymetatag); echo $keyword." ";}} else { echo 'maschine,gebraucht,neu,maschinenhandel,baumaschine,flurf&ouml;rderfahrzeug';}?>" />

    Könnte ich's mit ein paar Korrekturen so hinbekommen? :)

    Einmal editiert, zuletzt von teflon_jim (24. Mai 2009 um 22:52)

  • Ich habe mich ausgiebig damit befasst und keine brauchbare Lösung gefunden. Ich weiß aber, dass es am Template liegt, denn mein Code Schnipsel funktioniert im Default Theme ganz normal.

    Meine Problemlösung für rg-maschinenhandel.de ist jetzt, dass ich das izio SEO Plugin für Wordpress installiert habe. Das ist dem bekannten wpSEO Profiplugin etwas ähnlich und erledigt jetzt einigermaßen Brauchbar die Description Tag Geschichte.

    Danke für die Hilfsversuche :rolleyes:

  • dann poste doch mal die header.php des default-themes sowie die des themes in dem du das ganze verwendest. mit den oben geposteten bruchstücken, kommen wir doch offensichtlich nicht weiter ;)

    vG

    Arno

    Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!