Usando el plugin de Yoast en Divi para obtener la metadescripcion

El plugin de Yoast entre otras cosas, te permite usar un montón de valores de manera que puedas optimizar el SEO de tu página. En este caso, explicaremos cómo aprovechar los campos que nos brinda Yoast para desde el tema  Divi mostrar el campo metadescripcion en lugar del campo Excerpt, pero no para toda la web, sino sólo para el módulo Blog en la disposición: ‘Ancho completo’. Otro día hablaremos de los custom fields, pendiente para otra entrada. Esta solución puede aplicarse para el caso que se necesite, simplemente tendremos que buscar en qué archivo se llama al código que está usando Excerpt y modificar dicho código como explicamos en este ejemplo.

¿Con qué finalidad usar el campo metadescripcion?

La idea no es nuestra, como explicamos en el video, simplemente queremos ayudar a implementarla. La finalidad es no duplicar contenido en nuestra páginas, ya que si usas el campo excerpt ese contenido se utiliza también en la previsualización del artículo cuando estás en un listado de entradas (por ejemplo usando el módulo blog de Divi). De esta manera aprovechamos para mostrar el contenido único del campo metadescripcion y no generar duplicidad.

¿Qué fichero modificar?

El código es sencillo : basta con buscar donde se muestra el Excerpt: en nuestro caso está en el fichero /wp-content/themes/Divi 6/includes/builder/main-modules.php, aproximadamente en la línea 12310, y cambiar el código para que quede de la siguiente forma: (en tu caso substituye Divi6 por el nombre de la carpeta donde tengas instalado el tema  Divi):

// ESTE ES EL CODIGO ANTIGUO

// if ( has_excerpt() ) {
// echo et_strip_shortcodes( get_the_excerpt() );
// } else {
// echo wpautop( truncate_post( 270, false, ”, true ) );
// }

//LO CAMBIAMOS POR ESTE
//Si tengo metadescripción, la muestro, sino la tengo muestro el excerpt, y sino muestro 270 primeros chars.
$micampo = get_post_meta(get_the_ID() , ‘_yoast_wpseo_metadesc’, true);
if (!empty($micampo)){
    echo $micampo;
} else {
    if ( has_excerpt() ) {
        echo et_strip_shortcodes( get_the_excerpt() );
    } else {
        echo wpautop( truncate_post( 270, false, ”, true ) );
    }
}

Explicación del código y uso de _yoast_wpseo_metadesc

Ya veis que sencillo. Usamos la función:

get_post_meta(get_the_ID(), ‘_yoast_wpseo_metadesc’, true);

La función get_post_meta(), nos retorna el campo meta que le pidamos. Para eso usamos los parámetros de la función. El primer parámetro es numérico y es el identificador del post y en este caso lo obtenemos con otra función get_the_ID(), que nos retorna el ID del post actual en el bucle. El segundo parámetro es el nombre de la variable de YOAST meta que queremos que nos retorne, en este caso es la metadescripción y se llama: ‘_yoast_wpseo_metadesc’. Este parámetro si lo ponemos vacío, la función nos devolverá el array de valores de todos los metas. El último parámetro indica si queremos que esta función nos retorne un valor o un array de valores. En el caso que quisiéramos el array usaríamos el valor false, y dejaríamos vacío el segundo parámetro.

Y hasta aquí la explicación! Esperamos que os haya servido de ayuda!

Si teneis alguna duda , comentad!!

Hasta la próxima!