Hemos estado viendo cómo crear un sistema de CRM simple en WordPress. En la última parte de esta serie, agregamos un campo de dirección de correo electrónico personalizado a nuestro tipo de publicación personalizada de Contactos. Aprendimos cómo escribir y leer estos datos de campo personalizados, e implementar un nonce para asegurar que nuestros envíos de formularios sean seguros.
Hoy, cubriremos cómo usar los Campos personalizados avanzados, un popular complemento de WordPress, para generar rápidamente campos personalizados.
La creación de campos personalizados para un tipo de publicación requiere mucho tiempo, y hemos identificado las principales consideraciones de seguridad en el proceso. Para un CRM, donde podemos tener varios tipos de campos diferentes, como un menú desplegable de selección o casillas de verificación, la creación manual de campos en un complemento llevaría una cantidad significativa de tiempo.
Advanced Custom Fields es un complemento de WordPress que proporciona una interfaz de usuario y métodos programáticos para crear meta box personalizados y campos personalizados en cualquier tipo de publicación..
También proporciona una mayor variedad de tipos de campos de formulario, como:
Los meta box personalizados y sus campos pueden tener condiciones adjuntas, por lo que solo se muestran según el tipo de publicación o el valor de otro campo. Esto es realmente útil si solo queremos mostrar un campo cuando se marca una casilla de verificación, por ejemplo.
Ve a la Plugins> Añadir Nuevo En tu panel de WordPress. En el cuadro de búsqueda, introduzca Campos personalizados avanzados, y haga clic Buscar Complementos:
En la pantalla de resultados de búsqueda, encuentra Campos personalizados avanzados, y haga clic Instalar ahora.
Una vez instalado, active el plugin..
Como usaremos Campos personalizados avanzados para generar nuestros meta cuadros y campos personalizados, la manera más rápida de eliminar nuestro campo personalizado generado en la segunda parte de esta serie es descargue el código de la Parte 1 de esta serie de tutoriales.
En lugar de saltar directamente al uso de Campos personalizados avanzados, explicamos en detalle cómo funciona el proceso para registrar meta box personalizados, campos personalizados, guardar datos y recuperar datos..
Al hacer esto, tenemos una idea más clara de cómo funcionan los Campos personalizados avanzados, además de ver qué tan rápido es (por no mencionar una mejor interfaz de usuario).
Haga clic en Campos Personalizados En el menú de administración de WordPress:
Verá el Grupos de campo pantalla. Piense en un grupo de campo como un meta box personalizado que describimos en la Parte 2. Creemos nuestro primer grupo de campo, haciendo clic en Añadir nuevo junto al título del grupo de campo:
Llame al grupo de campo Detalles de contacto, y luego haga clic en el Agregue campo Botón para agregar nuestro primer campo:
Ingrese en los siguientes detalles:
Campo | Valor |
---|---|
Etiqueta de campo | Dirección de correo electrónico |
Tipo de campo | |
Necesario? | Sí |
Desplácese hasta la Ubicación caja. Queremos que este grupo de campos solo se muestre en nuestra Contacto tipo de mensaje personalizado, así que vamos a agregar una condición eligiendo Mostrar este grupo de campos si Tipo de publicación es igual a contacto:
Desplácese hacia abajo hasta el cuadro de opciones. Selecciona el N º de pedido. a 1, Estilo a Estándar y marque todas las casillas para Ocultar en pantalla, excepto el Editor de contenido opción:
Hacer clic Publicar, y el Grupo de Campo se guardará.
Verifiquemos que nuestro campo está disponible en nuestro Tipo de mensaje de contacto, yendo a Contactos> Añadir Nuevo en el panel de WordPress:
Continúe, ingrese un nombre y una dirección de correo electrónico para su contacto y haga clic en Publicar. Verá cómo Advanced Custom Fields maneja todos los campos de validación, guardado y lectura de datos de campos personalizados..
Vamos a añadir algunos campos más a nuestros existentes. Grupo de campo. Editar el Detalles de contacto grupo de campos que creó anteriormente, y agregue los siguientes campos:
Campo | Valor |
---|---|
Etiqueta de campo | Número de teléfono |
Tipo de campo | Número |
Necesario? | Sí |
Campo | Valor |
---|---|
Etiqueta de campo | Foto |
Tipo de campo | Imagen |
Necesario? | No |
Campo | Valor |
---|---|
Etiqueta de campo | Tipo |
Tipo de campo | Seleccionar |
Necesario? | Sí |
Opciones | Prospecto: Prospecto Cliente: cliente |
Siéntase libre de agregar cualquier otro campo o información que normalmente almacene para sus clientes actuales y potenciales.
Cuando hayas terminado, haz clic en Actualizar, y comience a agregar, editar y administrar sus contactos:
No queremos que otros administradores de WordPress cambien estos campos (o, lo que es peor, los eliminen), ya que significaría que no podemos ver o editar la información de un contacto..
Abra el archivo de complemento que creamos anteriormente y agregue lo siguiente antes clase WPTutsCRM
:
/ ** * Configure los Campos personalizados avanzados en el modo Lite, para que no aparezca * en el Menú de administración de WordPress * / define ('ACF_LITE', verdadero);
Guarde el archivo del complemento y vuelva a cargar la interfaz de administración de WordPress. Verás que el Campos Personalizados La entrada del menú ha desaparecido:
Podríamos ir un paso más allá y definir programáticamente nuestros campos personalizados, en lugar de confiar en la interfaz de usuario del complemento de Campos personalizados avanzados para definirlos..
Esto sería útil si, por ejemplo, distribuyéramos nuestro complemento de CRM a varias instalaciones de WordPress. Sería mucho tiempo para:
Elimine el siguiente código de nuestro complemento, para que podamos acceder a él nuevamente a través de la administración de WordPress:
/ ** * Configure los Campos personalizados avanzados en el modo Lite, para que no aparezca * en el Menú de administración de WordPress * / define ('ACF_LITE', verdadero);
En la Administración de WordPress, haga clic en Campos Personalizados, y luego haga clic en el Exportar opción.
A partir de aquí, vamos a seleccionar la Detalles de contacto grupo y haga clic en el Exportar a PHP opción:
Haz un clic en el código que aparece en la pantalla, que lo resaltará todo. Copie esto en su portapapeles y péguelo dentro de una nueva función dentro de su complemento:
/ ** * Registre campos y campos de campos de ACF * / function acf_fields () if (function_exists ("register_field_group")) register_field_group (array ('id' => 'acf_contact-details', 'title' => 'Detalles de contacto ',' fields '=> array (array (' key '=>' field_5323276db7e18 ',' label '=>' Email Address ',' name '=>' email_address ',' type '=>' email ',' required '=> 1,' default_value '=> ",' placeholder '=>",' prepend '=> ",' append '=>",), array (' key '=>' field_53232a6cf3800 ',' label '= > 'Número de teléfono', 'nombre' => 'número de teléfono', 'tipo' => 'número', 'valor_valorado' => ", 'marcador de posición' =>", 'añadir' => ", 'agregar' => ", 'min' =>", 'max' => ", 'step' =>",), array ('key' => 'field_53232aa9f3801', 'label' => 'Photo', 'name' => 'photo', 'type' => 'image', 'save_format' => 'object', 'preview_size' => 'thumbnail', 'library' => 'all',), array ('key' => ' field_53232c2ff3802 ',' label '=>' Type ',' name '=>' type ',' type '=>' select ',' required '=> 1,' choices '=> array (' Prospect '=>' Prospecto ',' Custome r '=>' Customer ',),' default_value '=> ",' allow_null '=> 0,' multiple '=> 0,),),' location '=> array (array (array (' param '= > 'post_type', 'operator' => '==', 'value' => 'contact', 'order_no' => 0, 'group_no' => 0,),),), 'options' => array ('position' => 'normal', 'layout' => 'default', 'hide_on_screen' => array (0 => 'permalink', 1 => 'excerpt', 2 => 'custom_fields', 3 => 'discusión', 4 => 'comentarios', 5 => 'revisiones', 6 => 'slug', 7 => 'autor', 8 => 'formato', 9 => 'Featured_image', 10 => ' categories ', 11 =>' tags ', 12 =>' send-trackbacks ',),),' menu_order '=> 1,));
A continuación, desactive el complemento avanzado de campos personalizados y luego mueva el avanzado-campos personalizados
carpeta de plugin en nuestro tuts-crm
carpeta:
Al mover los campos personalizados avanzados fuera del directorio de complementos, necesitaremos activarlo manualmente desde nuestro complemento. Hagamos eso agregando el siguiente código antes clase WPTutsCRM
:
include_once ('advanced-custom-fields / acf.php'); define ('ACF_LITE', true);
Finalmente, debemos informar a los Campos personalizados avanzados que hemos definido de manera programática los grupos de campos y los Campos personalizados. Cambie la construcción de nuestro plugin a la siguiente:
/ ** * Constructor. Se llama cuando se inicializa el complemento * / function __construct () add_action ('init', array ($ this, 'register_custom_post_type')); add_action ('plugins_loaded', array ($ this, 'acf_fields'));
Recargue el panel de WordPress y cree y / o edite un contacto. Verás que nuestros grupos de campos y campos personalizados permanecen en su lugar..
Agrupar un complemento dentro de un complemento no siempre es el mejor enfoque. Si bien nos permite distribuir nuestro complemento rápidamente a través de múltiples instalaciones de WordPress en un solo paso, deberíamos enviar una actualización a nuestro complemento cada vez que:
Dependiendo de su caso de uso, es posible que prefiera este enfoque combinado. Si está ejecutando esto en un solo sitio, el uso de la interfaz de usuario para definir sus Grupos de campo y Campos personalizados puede ser un enfoque más rápido y fácil.
En el siguiente artículo, vamos a editar la tabla de administración de WordPress (también conocida como WP_List_Table
) para mostrar nuestros campos personalizados avanzados.