Zu faul, Ihren Artikeln eine Meta-Beschreibung hinzuzufügen? Warum nicht automatisch eine Meta-Beschreibung aus Ihrem WordPress-Beitrag generieren, indem Sie alle Shortcodes und Tags entfernen? Hier erfahren Sie, wie es geht.
Anweisungen:
Fügen Sie diesen Code in die functions.php-Datei Ihres Themes oder in ein sitespezifisches Plugin ein. Stellen Sie sicher, dass Sie in der header.php Ihres WordPress-Themes haben, oder dieser Ausschnitt funktioniert nicht.
function create_meta_desc() {
global $post;
if (!is_single()) { return; }
$meta = strip_tags($post->post_content);
$meta = strip_shortcodes($post->post_content);
$meta = str_replace(array("\n", "\r", "\t"), ' ', $meta);
$meta = substr($meta, 0, 125);
echo "<meta name='description' content='$meta' />";
}
add_action('wp_head', 'create_meta_desc');
Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzuf ilde{A}gen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel richtig in WordPress kopieren / einf ilde{A}gen, damit Sie Ihre Website nicht versehentlich besch ilde{A}digen.
Wenn Ihnen dieser Code-Schnipsel gefallen hat, sollten Sie sich auch unsere anderen Artikel auf der Website ansehen, wie zum Beispiel: Die besten WordPress-Seitenersteller (im Vergleich).
Wie bereits erwähnt (keine Ahnung, warum der Autor seinen Fehler nicht aktualisiert), entfernen/ersetzen Sie diesen Code-Teil: $meta = strip_shortcodes($post->post_content); mit nur: $meta = strip_shortcodes($meta); andernfalls hat er keinen Sinn und ist falsch und sieht auf Google schrecklich aus!
Wow, das hat meine Seite kaputt gemacht. Sobald Sie es in den Header einfügen, erhalten Sie einen Fehlercode, sodass es nicht funktioniert. Schade, da es genau das ist, was ich brauchte 🙁
Welchen Fehler erhalten Sie?
substr() erzeugt ungültiges UTF-8. Verwenden Sie stattdessen mb_substr()
// Meta-Beschreibung-Tag hinzufügen
function wcs_add_meta_description_tag() {
global $post;
if ( is_single() ) {
$meta = strip_tags( $post->post_content );
$meta = strip_shortcodes( $post->post_content );
$meta = str_replace( array(“\n”, “\r”, “\t”), ‘ ‘, $meta );
$meta = mb_substr( $meta, 0, 125, ‘utf8’ );
echo ” . “\n”;
}
}
add_action( ‘wp_head’, ‘wcs_add_meta_description_tag’ , 2 );
Wäre es Ihrer Meinung nach möglich, den H2-Inhalt eines Beitrags zu nehmen, die Anzahl der Zeichen oder Wörter zu begrenzen und ihn standardmäßig in die Beschreibung zu kopieren? Danke!
Entschuldigung, Kumpel, aber hier ist eine Korrektur dieses Algorithmus:
function create_meta_desc() {
global $post;
if (!is_single()) { return; }
$meta = strip_tags($post->post_content);
$meta = strip_shortcodes($meta); /* hier müssen Sie dieselbe Variable verwenden, sonst hat strip_tags keine Wirkung */
$meta = str_replace(array(“n”, “r”, “t”), ‘ ‘, $meta);
$meta = substr($meta, 0, 125);
echo “”;
}
add_action(‘wp_head’, ‘create_meta_desc’);
[...] [Quelle: WpSnipp] [...]
Habe HTML-TAGS!
Ich bin mir nicht sicher, was Sie meinen? HTML-Tags werden jedoch mit „strip_tags“ entfernt.
Nein, das ist es nicht. Ich musste direkt vor der substr()-Funktion ein strip_tags hinzufügen, das hat funktioniert