Beschreibung
*** Nueva función añadida: Slugs de ID de entrada personalizados ***
Este es un complemento para Advanced Custom Fields (ACF) 5 + el complemento de la página de opciones (o ACF Pro).
Este plugin no proporcionará ninguna funcionalidad a menos que ACF 5 y el complemento de página de opciones (o ACF5 Pro)
estén instalados
Este plugin proporciona una interfaz de administración para añadir páginas de opciones en ACF incluyendo todas las opciones de las páginas de opciones de ACF
. La mayoría de las opciones son seleccionables, por ejemplo la ubicación del menú, la capacidad y dónde guardar
los valores de los campos.
Para más información ver
Otras Notas y
Capturas de Pantalla
Repositorio de Github
Este plugin también está en GitHub
https://github.com/Hube2/acf-options-page-adder
Cambiar Capacidad
La capacidad requerida para añadir/editar la configuración de la página de opciones es «manage_options». Esta capacidad se puede cambiar mediante la adición de un filtro.
add_filter('acf-options-page-adder/capability', 'my_acf_options_page_adder_cap');function my_acf_options_page_adder_cap($cap) { $cap = 'edit_published_posts'; return $cap;}
Guardar valores a la página de opciones Post
ACF v5.2.7 añadió la capacidad de guardar los campos de la página de opciones a un ID de post. Este plugin te permitirá guardar las opciones en el mismo ID del post creado al añadir una página de opciones usando este plugin. Incluso puedes usar get_fields($options_page_id) sin tener que preocuparte de obtener los campos de la página de opciones en sí. ¿Por qué? porque todos los campos utilizados para crear la página de opciones comienzan con un guión bajo _ y no serán devueltos por get_fields(). Lo único que hay que tener cuidado es de no utilizar ninguno de los nombres de campo utilizados por este plugin, lo que debería ser extremadamente fácil ya que todos comienzan con acfop.
Guardar valores utilizando un ID de puesto personalizado slug
Es posible utilizar un slug personalizado para guardar los valores de la página de opciones. Por ejemplo, si quieres guardar los valores de una página de opciones para un usuario podrías suministrar «user_1» como el valor $post_id para la página de opciones. Esto también tiene otro efecto secundario. Normalmente, cuando ACF guarda valores en «options» en la tabla de opciones encontrará los campos con el prefijo «options_». Así, por ejemplo, si el nombre de su campo es «mi_campo», en la tabla de opciones encontrará «opciones_mi_campo» como nombre de las opciones. Usted puede suministrar un slug personalizado para esto, digamos que usted establece la configuración del ID del puesto para la página de opciones a «mi-slug-personalizado». esto causaría que el mismo campo en la página de opciones tenga el nombre «mi-slug-personalizado_mi_campo». 2 Se han añadido nuevas opciones a este plugin y se puede elegir usar el slug de la página de opciones para el ID de la entrada o se puede especificar un slug personalizado para usar en su lugar.
Obtener el ID de la entrada para la página de opciones
Una función y un filtro están disponibles para obtener el valor correcto de ACF $post_id para usar para obtener
valores de la página de opciones. Esta función/filtro devolverá
options o devolverá el ID correcto del puesto si las opciones se guardan en un puesto. El ID correcto se devuelve
basado en el valor «menu_slug» de la página de opciones.
/ example 1: function get_options_page_id()// get the post_id of an options page$post_id = get_options_page_id('my_options_page_slug');// get a value using $post_id$value = get_field('my_option_field', $post_id);// or it can be combined like this$value = get_field('my_option_field', get_options_page_id('my_options_page_slug'));// example 2: by filter$default = 'option',$slug = 'my_options_page_slug';$post_id = apply_filters('get_option_page_id_filter', $default, $slug);$value = get_field('my_option_field', $post_id);// or it can be combined like this$value = get_field('my_option_field', apply_filters('get_option_page_id_filter', $default, $slug));
Hay una condición en la que se obtendrá el id de post incorrecto. Esta condición se crea por tener una página de redirección de nivel superior que se establece para redirigir a la primera página de opciones sub. Si no existe una página de subopciones, entonces devolverá el valor de la página de opciones de nivel superior. Si más tarde se crea una página de opciones secundarias, devolverá el nuevo valor de la página de opciones secundarias. Por eso he visto que el valor por defecto de la redirección es falso. Si quiere que la página de nivel superior redirija, debe tener en cuenta que esto puede causarle problemas más adelante si no ha creado una página de opciones secundaria. También debe establecer específicamente el orden de las páginas de opciones secundarias para que éstas no cambien en algún momento en el futuro, porque añadir una nueva página de opciones con el mismo orden que la página de nivel superior existente alterará la ubicación de guardar y obtener a la nueva página de opciones. No hay nada que pueda hacer al respecto, es la forma en que funciona. Al configurar las páginas de opciones de ACF para guardar en un puesto en lugar de las opciones debe ser más preciso en con los argumentos de la página de opciones.
Soporte de Font Awesome
Por favor, tenga en cuenta que este plugin no enqueue o incluye Font Awsome en el admin de su sitio.
Si usted incluye Font Awsome en su admin entonces usted puede utilizar Font Awesome Icons para los iconos de
página de opciones de nivel superior. Por ejemplo, si desea utilizar el icono de la libreta de direcciones, todo lo que tiene que hacer es añadir fa fa-address-book
en el campo Icono al añadir o editar la página de opciones.
Cabecera/pie de página de opciones de filtro
La versión 3.8.0 de este plugin añadió la capacidad de personalizar la página de opciones ACF añadiendo contenido de cabecera y pie de página. Además de los campos WYSIWYG que se han añadido al editor de administración de la página de opciones, también puede personalizar estas secciones, o toda la página de opciones utilizando filtros.
La versión 3.8.2 de este plugin añade un interruptor para activar esta función. Esta característica puede causar un error fatal de
memoria en las páginas de opciones que tienen un gran número de campos. Si el contenido fue introducido en este campo antes de activar la opción, ésta se activará automáticamente. De lo contrario, el valor predeterminado de esta opción será desactivado.
Contenido de la cabecera
add_filter('acf-options-page-adder/page-header', 'my_custom_options_page_header', 10, 2);function my_custom_options_page_header($content, $hook) { // $content = content, by default it is '' or the value of the WYSIWYG editor // $hook = the current options page hook that is being called $content = '<p>My Custom Header Content</p>'; return $content;}
Contenido del pie de página
add_filter('acf-options-page-adder/page-footer', 'my_custom_options_page_footer', 10, 2);function my_custom_options_page_footer($content, $hook) { // $content = content, by default it is '' or the value of the WYSIWYG editor // $hook = the current options page hook that is being called $content = '<p>My Custom Footer Content</p>'; return $content;}
Filtrar toda la página de opciones
add_filter('acf-options-page-adder/page-content', 'my_custom_options_page_filter', 10, 2);function my_custom_options_page_filter($content, $hook) { // $content = entire content or options page, including all ACF fields // $hook = the current options page hook that is being called // caution should be taken when making modification to the page content return $content;}
Quitar el aviso
Si desea eliminar mi pequeño aviso que aparece en algunas páginas de administración añada lo siguiente a su archivo functions.php
add_filter('remove_hube2_nag', '__return_true');