Pulsa ESC para cerrar

Curso WordpressCurso Wordpress

Campos personalizados en 2026: ACF, Secure Custom Fields, otras alternativas y lo que ya trae WordPress

Los campos personalizados permiten guardar datos extra en tu contenido: el precio de un curso, la duración de un evento, la dirección de una sucursal. Durante años, la respuesta automática fue Advanced Custom Fields (ACF). Hoy hay más opciones, y vale la pena revisar cuál conviene.

ACF y Secure Custom Fields: qué pasó

En 2024, en medio de un conflicto entre el proyecto WordPress.org y la empresa propietaria de ACF, el directorio oficial de plugins reemplazó la ficha de ACF por una bifurcación llamada Secure Custom Fields (SCF), mantenida por el propio proyecto WordPress. ACF sigue existiendo y se distribuye desde el sitio de su empresa, con su versión gratuita y la PRO.

En la práctica:

  • ACF (desde su sitio oficial) sigue desarrollándose y es compatible con todo lo que ya tenías.
  • SCF (desde el directorio de WordPress.org) parte del mismo código y mantiene la compatibilidad con los campos existentes, pero su desarrollo es independiente.

Si tu sitio usa ACF y funciona bien, no hay urgencia de cambiar. Lo importante es saber de dónde recibe actualizaciones tu instalación (del directorio o del sitio de la empresa) y mantenerla al día.

Otras alternativas maduras

  • Meta Box: muy completo, con un enfoque modular y buena documentación técnica.
  • Pods: gratuito y potente, ideal si además necesitas crear tipos de contenido y relaciones entre ellos desde el escritorio.
  • Carbon Fields: una biblioteca de código, en la que defines los campos con código dentro de tu tema o plugin.
  • Código propio: con register_post_meta() y una meta box, como vimos en la guía de campos personalizados seguros.

Cómo elegir

  • Sitio de un cliente, que edita una persona sin conocimientos técnicos: ACF, SCF o Meta Box, por su interfaz cómoda.
  • Proyecto con muchos tipos de contenido y relaciones: Pods o Meta Box.
  • Plugin o tema que distribuyes: código propio o una biblioteca como Carbon Fields, para no depender de que el usuario instale otro plugin.
  • Pocos campos simples en un tema de bloques: la vía nativa de abajo.

Cambiar de un plugin de campos a otro en un sitio grande no es trivial: los datos suelen quedar (son metadatos normales), pero las plantillas, bloques y funciones que los muestran dependen de cada plugin. Hazlo solo con un motivo claro y en un sitio de pruebas primero.

La vía nativa: Block Bindings

Desde WordPress 6.5, los bloques Párrafo, Título, Imagen y Botón pueden mostrar el valor de un campo personalizado sin plugins, gracias a la API de Block Bindings.

1. Registrar el campo

En un mu-plugin o en tu tema:

<?php
add_action( 'init', function () {
	register_post_meta( 'post', 'cwp_precio_curso', array(
		'type'              => 'string',
		'single'            => true,
		'show_in_rest'      => true,
		'sanitize_callback' => 'sanitize_text_field',
		'auth_callback'     => function () {
			return current_user_can( 'edit_posts' );
		},
	) );
} );

show_in_rest es imprescindible: el editor de bloques lee y escribe los campos a través de la API REST.

2. Enlazar un bloque al campo

En el editor, agrega un párrafo, cambia al Editor de código (Ctrl + Shift + Alt + M) y deja el bloque así:

<!-- wp:paragraph {"metadata":{"bindings":{"content":{"source":"core/post-meta","args":{"key":"cwp_precio_curso"}}}}} -->
<p></p>
<!-- /wp:paragraph -->

En la página publicada, el párrafo mostrará el valor del campo cwp_precio_curso de esa entrada. En las versiones recientes de WordPress, además, puedes editar el valor directamente en el bloque enlazado y elegir el campo desde la barra lateral, sin tocar el código.

Donde más luce es en las plantillas del editor del sitio: un párrafo enlazado en la plantilla de «Entrada individual» muestra el precio de cada curso automáticamente, sin repetir nada en cada entrada.

Límites de la vía nativa

  • No trae una interfaz para crear campos: los registras con código.
  • Los tipos de campo complejos (repetidores, galerías, relaciones) siguen siendo terreno de los plugins.
  • Funciona con un conjunto de bloques que se va ampliando versión a versión.

Para campos simples (un precio, una fecha, una URL), es suficiente y no agrega ningún plugin.

¿Qué usas hoy para tus campos personalizados? Cuéntanos en el foro si probaste Block Bindings y qué te faltó.