Crear títulos personalizados para los bloques de Flexible Content en ACF

contacta     ·     sobre     ·     azar     ·     buchaca     ·     manifiestos    ·   

  • Forma

    La intención, la mirada, la propuesta. Dónde yace lo que parece haber cuajado en un proceso de meditación-acción.

Un bello hack para colocar títulos en cada bloque de Flexible Content en Advanced Custom Fields.

Nunca había usado Flexible Content en ACF y ahora que he visto lo que es posible creo que voy a estar tirando de ello bastante. Sobre todo porque puedes colocar los bloques luego a placer… pero eso es otra historia.

Lo que nos trae aquí hoy es que cuando creas muchos bloques en base al mismo layout luego no sabes qué hay en cada uno. Pensé «qué genial sería poder colocarle un título a cada bloque» y cómo suele ocurrir con WordPress, alguien ya lo pensó antes.

En este caso fjorge.com en un maravilloso post del que pego aquí simplemente el código. Id a ver el post (en inglés) para saber más: https://fjorge.com/insights/blog/how-can-i-create-custom-titles-for-advanced-custom-fields-flexible-content-blocks/

Pasos

1.- Pega este código en tu functions.php:

/*************************************************************/
/*   Friendly Block Titles                                  */
/***********************************************************/
function my_layout_title($title, $field, $layout, $i) {
    if($value = get_sub_field('layout_title')) {
        return $value;
    } else {
        foreach($layout['sub_fields'] as $sub) {
            if($sub['name'] == 'layout_title') {
                $key = $sub['key'];
                if(array_key_exists($i, $field['value']) && $value = $field['value'][$i][$key])
                    return $value;
            }
        }
    }
    return $title;
}
add_filter('acf/fields/flexible_content/layout_title', 'my_layout_title', 10, 4);

2.-Edita Flexible Content

Ve a tu estructura de Flexible Content y por cada Layout le metes un campo de texto que se titule por ejemplo «Título de bloque» pero cuyo nombre de campo sea sí o sí layout_title.

3.- Coloca títulos a tus bloques

En ese campo de texto, idealmente el primero, pon un título y verás cómo ahora puedes orientarte mucho mejor sabiendo qué hay en cada cual.

Hagamos de esto una conversación

Deja un comentario



¿Quieres federar la conversación?
Primero necesitarás el plugin Webmention y de paso leer sobre la Federación.

Para que podamos hacerlo, y por tanto tú tengas soberanía de tu contenido, puedes responder haciendo lo siguiente:
- Escribe una entrada en tu blog respondiendo.
- Coloca en esa entrada el enlace de este post.
- Pega en el campo disponible más abajo la URL de tu entrada y pulsa ¡Hazme ping!.
- Tu respuesta entonces aparecerá (posiblemente después de ser moderada) en esta página.

¿Quieres actualizar o borrar tu respuesta? Actualiza o borra tu entrada y vuelve a introducir la URL de tu entrada de nuevo. (Aprende más)

blogroll

Licencia de producción de pares excepto en lo que no sea de mi puño y bit.

Descubre más desde Comunicación Abierta

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo