Prea leneș să adaugi meta descrieri articolelor tale? Atunci, de ce să nu generezi automat o meta descriere din postarea ta WordPress prin eliminarea tuturor shortcodurilor și tagurilor? Iată cum să o faci.
Instrucțiuni:
Adaugă acest cod în fișierul functions.php al temei tale sau într-un plugin specific site-ului. Asigură-te că ai în header.php al temei tale wordpress sau acest fragment nu va funcționa.
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');
Notă: Dacă este prima dată când adăugați secvențe de cod în WordPress, consultați ghidul nostru despre cum să copiați / lipiți corect secvențe de cod în WordPress, pentru a nu vă defecta accidental site-ul.
Dacă ți-a plăcut acest fragment de cod, te rugăm să iei în considerare să consulți și alte articole de pe site, cum ar fi: Cele mai bune unelte de creare pagini WordPress (Comparativ).
Așa cum s-a menționat deja (nu am idee de ce autorul nu își actualizează greșeala) elimină/înlocuiește această parte de cod: $meta = strip_shortcodes($post->post_content); cu doar: $meta = strip_shortcodes($meta); altfel nu are sens și este incorect și arată groaznic pe Google!
Wow,. mi-a stricat site-ul. Imediat ce îl pui în antet primești un cod de eroare, deci nu funcționează. Păcat, deoarece este exact ceea ce aveam nevoie 🙁
care este eroarea pe care o primești?
substr() va crea UTF-8 invalid. Folosește mb_substr() în schimb
// adaugă tag-ul meta description
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 );
Te-ai gândi că este posibil să preiei conținutul H2 dintr-o postare, să limitezi numărul de caractere sau cuvinte și să îl copiezi în descriere în mod implicit? Mulțumesc!
Scuze, prietene, dar iată o corecție la acest algoritm:
function create_meta_desc() {
global $post;
if (!is_single()) { return; }
$meta = strip_tags($post->post_content);
$meta = strip_shortcodes($meta); /* aici trebuie să folosești aceeași variabilă, altfel strip_tags nu va avea niciun efect */
$meta = str_replace(array(“n”, “r”, “t”), ‘ ‘, $meta);
$meta = substr($meta, 0, 125);
echo “”;
}
add_action(‘wp_head’, ‘create_meta_desc’);
[…] [Sursa: WpSnipp] […]
ai TAG-URI HTML!
Nu sunt sigur ce vrei să spui? totuși tag-urile HTML sunt eliminate folosind „strip_tags”
nu, nu este. a trebuit să adaug un strip_tags chiar înainte de funcția substr(), asta a funcționat