Página de opciones

Seguramente te habrás dado cuenta que, al instalar un tema o un plugin, estos te crean un elemento en el menú principal del wp-admin. Gracias a este enlace, puedes acceder a los ajustes de dicho tema o plugin.

¿Pero qué pasa si nosotros también queremos hacer algo del estilo para gestionar nuestra página web?

Advanced Custom Fields nos ofrece una opción muy sencilla de crear esta página de opciones y de añadirle campos y contenidos.

Página de opciones ACF

Registrar la página de opciones

En este caso tenemos dos opciones:

Sencilla:

Este nos ofrece la opción de añadir nuestro elemento al menú, con su icono, título y enlace.

Importante: este es un ejemplo real de Trinchera WP. Para saber todas las opciones y funcionalidades, revisa la documentación oficial.

// Add Option Pages.
if ( function_exists( 'acf_add_options_page' ) ) {
  acf_add_options_page(
    array(
      'page_title' => 'Ajustes TrincheraWP',
      'menu_title' => 'TrincheraWP',
      'menu_slug'  => 'ajustes-trincherawp',
    )
  );
}

Con este código hemos establecido:

  • page_title: el título de la página de opciones, lo que se ve en la parte superior.
  • menu_title: el título que se verá en el enlace del menú.
  • menu_slug: la url de la página de opciones.

Avanzado:

Podemos añadir «sub-páginas» a esta página de opciones.

// Add Option Pages.
if ( function_exists( 'acf_add_options_page' ) ) {

  acf_add_options_page(
    array(
      'page_title' => 'Ajustes TrincheraWP',
      'menu_title' => 'TrincheraWP',
      'menu_slug'  => 'ajustes-trincherawp',
    )
  );

  acf_add_options_sub_page(
    array(
      'page_title' => 'Ajustes de la header del tema',
      'menu_title' => 'Header',
      'parent_slug' => 'ajustes-trincherawp',
    )
  );
}	

Crear el Grupo de Campos

Una vez tenemos la página de opciones listo, es hora de crear el Grupo de Campos en nuestro wp-admin. Ahora podremos escoger la página de opciones como «lugar» donde mostrar estos campos.

Grupos de Campos en ACF

Obtener el valor

Para poder obtener el valor, de los campos personalizados que creemos, podemos utilizar el siguiente código:

<?php the_field('mostrar_patrocinadores_footer', 'option'); ?>