 Bueno, comencem amb l'última xerrada d'aquest track abans d'anar a dinar. Personalment em fa bastanta il·lusió presentar aquesta xerrada, perquè el Juanca va presentar la meva primera xerrada a una Workup, i avui presentaré la seva xerrada número N, a saber, però bueno, també fa il·lusió. Juanca és programador de Frontend, o com li agrada dir ell, programador de lo que se ve. És chefe de projecte del seu propi estudi. Copta de Vellopia, un fan-plugging i temes ha de tot picat a mà. L'encanta d'armonia del codi, podcaster, developer i amant del software lliure, i ara us explicarà i us farà una de Montview també, o sigui, això prometo. Juanca, tot tu i jo. Vale, pues como siempre, dar las gracias a la organización por haber elegido mi charla, y muchas gracias a todos vosotros por asistir a ella. A ver si sobrevivimos todos, porque haremos demo en vivo y eso siempre lleva riesgos. Vale, pues vamos a ver, como me ha presentado perfectamente a Leix, cómo crear una página de opciones en WordPress con Advance Custom Fields. Ya me ha presentado él, programador Frontend, tengo mi propio estudio, y estoy involucrado en tanto en WordPress Barcelona, WordPress Tarragona, donde hacemos las meetups. Igual que una WordCam se dedica todo el día a hacer charlas y eventos sobre WordPress, pues nosotros hacemos lo mismo, pero una vez al mes con una sola charla, o sea, una cosa un poco más pequeñita, ¿vale? ¿Lo conocéis? La meetup de Barcelona, los de aquí. A ver, manos para arriba, los que... ¿Y habéis venido alguna? Muy bien, no sé si me gusta. Y de Tarragona ya tengo muchos controlados, ¿eh? Así que muy bien, así me gusta. Vale, pues vamos al granó. A mí siempre me gusta iniciar con un disclaimer, y es que pongáis en duda todo lo que yo os voy a decir, porque yo no hago charlas para sentar conceptos sobre piedra, simplemente compartir mi experiencia y si os puede ayudar alguno de las cosas que vamos a ver, perfecto. Si tenéis otra opinión o no tenéis otra manera de hacerlo, por favor, decírmelo, porque yo también quiero aprender, y seguramente haya cosas que no haga bien o haya otra manera de hacerlo, y entre todos, pues podemos crecer juntos. Soy responsable de lo que digo, pero no de lo que cada uno interpreta. No me puedo responsabilizar de códigos o recomendaciones que puedan fallar en tu web, y en caso de duda consulte con tu programador. Entonces, como los anuncio de la farmacia. Vale, un pequeño índice de lo que vamos a ver, y es vamos a ver qué es ACF, que es Advanced Custom Fields, que es el plugin que nos va a ayudar a poder hacer la página de opciones para diferentes tipos de configuración, que es, en si, una página de configuración o una página de opciones para que nos puede servir, es decir, para que podemos aplicar esta funcionalidad. Vamos a ver los usos y los ejemplos de estas mismas opciones. Un caso real de uso, es decir, dónde lo podemos aplicar, de hecho, es el que vamos a utilizar para hacer una demo en vivo, que esperemos toco madera, no sé si esto es madera o no, para que no falle, y conclusiones, alguna pregunta, pues estaré encantado de responderla. Pero antes de todo, vamos a calmarnos, y es que aquí estamos hablando de muchas páginas de opciones, etcétera, y no nos tenemos que olvidar que WordPress es un CMS, y CMS es Content Management System, lo que significa que es una herramienta pensada para que alguien sin conocimiento técnico pueda ser capaz de gestionarlo y utilizarlo. Por lo tanto, crear páginas de opciones para que un usuario final pueda configurar cosas dentro de nuestro WordPress, que hagan comportamientos dentro del código que nosotros ofrecemos para cualquier funcionalidad, etcétera, etcétera, es lo más correcto, porque para eso estamos utilizando un gestor de contenidos, sino tiraríamos código a pelo, nadie configuraría nada y todos contentos. Y luego también, si el código y las aplicaciones que nosotros desarrollamos le creamos una página de opciones para configuración, o damos una facilidad al cliente o al usuario final para que lo pueda configurar el día de mañana, si nos hacemos panaderos o nos morimos, no pasa nada, porque ese cliente puede seguir actualizando la web, puede seguir gestionándola, y no depende de ti, porque ¿a cuántos has pasado que habéis puesto un titular, un título a fuego, un texto a fuego, en un template o en algún texto que escupe la web, y el client os llama, hay que cambiar el teléfono, hay que cambiar este nombre, hay que cambiar este de tal, y tienes que volver al archivo del proyecto, a ver dónde estaba esa línea, no me acuerdo si tenía un control de versión expuesto, tengo que hacer un comit, actualiza, es una aliada cuando es una cosa que el cliente tendría que poder cambiar el mismo, ¿vale? Todos conocéis a CF de aquí, Advancen Castonfields, a ver, manos para arriba. ¿Hay alguien que no lo conozca? Bueno, pues entonces vamos a ir rápido. Básicamente, a CF nos permite crear campos personalizados, si hay alguien que no lo conoce y quiere ver más contenido, aquí dejo unos links de vídeos de WordPress TV, el primero es un vídeo de Mauricio Gélves, que hace una chela muy chula, que hace una especie de crítica de un análisis de boxeo, y utiliza a CF para que el redactor pueda redactar las diferentes combates de boxeo, está bastante bien. Y luego las tres siguientes, pues son mías, ¿vale? Seguimos. Lo primero que vamos a hacer es sentar las bases de que es una página de opciones de configuración de WordPress. Y soy boomer, pero no soy tonto, por lo tanto le preguntó a ChatGPT. Antes le preguntaba a Wikipedia, pero ahora que tenemos ChatGPT, pues le preguntamos a ello. Entonces, si yo le digo, me puede describir que es una página de opciones de WordPress, y me dice, claro, una página de opciones de WordPress, y me dice, claro, una página de opciones de WordPress, es una página que permita a los usuarios personalizar ciertos aspectos de su sitio web sin tener que editar el código fuente directamente, lo que estamos diciendo, poder que el usuario final pueda hacer cambios en la web sin tener que tocar el código. Y proporciona una interfaz gráfica de usuario para realizar cambios en la configuración del sitio web. Por lo general, las páginas de opciones se crean utilizando plugins o temas de WordPress específicos que incluyen esta funcionalidad. Los usuarios pueden acceder a la página web, desde el panel de administración de WordPress y realizar cambios en la configuración, como el título del sitio, la descripción, la imagen del logotipo, la configuración SEO, etcétera. No me voy a liar más, porque como lo vamos a ver todo el rato, se entiende más o menos el concepto, ¿vale? Una página opción de configuración sería, por ejemplo, esta que estamos viendo aquí. Aquí vemos un ejemplo en el que se ve un poco pequeño, pero yo lo describo, tenemos un custom post-tape que se llama Ponencias, tenemos la opción de ver todas las ponencias, tenemos la opción de añadir una ponencia y hay un apartado de opciones donde nosotros le podemos establecer el title para ese archive de todas las ponencias, una descripción y las columnas de cómo se van a mostrar las ponencias, cómo se van a distribuir en tablet, en desktop, en tablet y en smartphone, ¿vale? Podemos hacer todas las opciones que necesitemos. ¿Para qué nos puedes servir? ¿Crear páginas de opciones de configuración? Pues nos puede servir para dotar opciones a un tema, si nosotros desarrollamos nuestro propio theme, podemos dar de alta opciones para cambiar el color principal, cambiar el título, el título del sitio es absurdo, porque lo tiene WordPress, pero cualquier opción que sea susceptible que vaya asociado al tema, podemos crear una página de configuración para poder cambiar opciones allí y que no dependen siempre de los puntos como técnicos, hagamos ese cambio. Lo mismo nos va a pasar con un plugin, si necesitamos algún plugin que haga una funcionalidad específica dentro de WordPress, lo suyo es que haya una página de opciones donde se pueda configurar lo que nos va a hacer este plugin. Yo de hecho, incluso recomiendo, luego lo logremos, que cuando añadimos algún filtro, algún hook que cambie el comportamiento nativo de WordPress, no cuesta nada crear una página de configuración dentro de la web y con un trigger de activarlo y desactivarlo. Porque el día que falle, podemos ir allí, lo desactivamos y vemos si es esa modificación la que nos está dando problemas. Vosotros me iré ya, pero bueno, lo meto todo en el functions y ya está. Bueno, pero aquí podemos ir desactivando uno a uno, no tenemos que acceder al código para poder activar y desactivar las diferentes opciones y además nos ahorramos, o sea, de esta forma, si el client te envió un e-mail diciendo que le pasa esto, le pasa el otro, con decirle ves a esta página y desactiva esta opción, ya está, no depende de nosotros de vetar el código, al repositorio, actualiza, no sé qué, etcétera, etcétera. Aquí la clave siempre se hace trabajar a otro, ya lo veréis un poco, que esa es la clave principal. Dotar opciones a un custom post type y también controlar opciones de WordPress como hemos visto ahora. Usos y ejemplos. Aquí vemos un ejemplo que es una página de opciones que es generalista. Yo esto lo utilizo y es, por así decirlo, la base del framework que utilizo para instalar todos los proyectos que hago. De esta manera tengo una serie de opciones que las tengo standardizadas y cada vez que creo un proyecto nuevo tengo un montón de opciones que voy a rehusar. El logo del móvil en desktop, el logo del móvil en tablet, el logo del móvil en smartphone, diferentes opciones. Tiene incluso campos para el RGPD, las funciones de WordPress. Luego lo veremos, es muy por encima, porque el objetivo nos enseñará a este en concreto. Esta es la versión generalista, es decir, todos los clientes, todas las webs heredan todas estas opciones que yo tengo desarrolladas. Lo bueno de esto es que yo aprendo una cosa nueva hoy, lo aplico en mi framework y todos los proyectos que tengo desarrollados a clientes o proyectos míos van a ir actualizados con ese nuevo conocimiento que tengo. La segunda parte es ese mismo framework permite añadir un plugin específico con funciones para el cliente, para ese proyecto. Separo la parte generalista, la parte del cliente y de esta manera los dos proyectos o los dos funcionalidades pueden evolucionar en paralelo. Se entiende más o menos esto. Por ejemplo aquí vemos los links del footer de la home, o sea, los links del footer de la web. Cada cliente va a tener un footer diferente, es una cosa que normalmente es sueleir diferente de un proyecto web a otro. Hay unos que tienen dos columnas de links, los redes sociales, otros tienen tres. Bueno, pues son cosas más personalizadas. Lo de desarrollo aparte, lo externalizo de mi framework principal y así mi framework principal puede ir creciendo con funciones y cosas generalistas y lo otro de forma más individual. Y el caso que vamos a ver ahora de darle opciones a un archive de un custom post type, ¿vale? Nos encontramos con este caso. ¿A cuántos has pasado que habéis creado un custom post type para algo en este caso, exponencias y WordPress de forma nativa no te da una opción para añadirle un title y un description. Lo tenemos que poner a fuego en el archivo que nos crea ese archive. ¿A cuántos nos ha pasado esto? ¿Verdad que ninguno entendemos por qué pasa esto? Porque el custom post type es una de esto nativa. O sea, sería una buena idea que nos lo otorgara, pero no lo hace. Entonces, claro, tenemos un problema. Yo aquí he creado esta web simulando que hemos hecho la web de la Workup, ¿vale? Y yo en su día se lo entrega. El cliente ponía 2022 porque yo se lo entrega en 2022. Ese proyecto está cobrado. Ha pasado un año. Imagínate las cosas que puedo haber hecho en un año. Y me llené el cliente y me dice, tenemos un nuevo evento. Hay que cambiar al 2023. Pues yo tendía que acceder al fichero, a la actualización. Cuando toco estas cosas, es una cosa muy simple, pero cuando toco estas cosas hay peligro que haya problemas en la web, hay peligro de que me cargue algo. Pueden haber muchas cosas. Seguramente voy a tener remordimientos porque acceder a la web hay cosas sin actualizar y mi toque de programador me obliga a actualizarlo. Y cuando la actualizo me acabo cargando la web, etcétera. Entonces, como siempre, el objetivo es no trabajar tanto. Vale. Pero todo esto como lo hago, vamos a verlo. Está para la parte chunga. Me tenéis que decir si se ve. Bueno, no? Si no, le voy a cambiar esto. ¿Así se ve mejor? Vale. Como decía, yo tengo aquí mi web. Tengo el archive que se listarían todas las diferentes charlas. Entonces, no hay ninguna publicada, ya me da un mensaje de que no se han encontrado charlas de alta. Me vengo aquí y ya me encuentro el primer cambio. Hostias. Estas charlas están en borrador y tienen un colorcito lila en el listado. ¿Por qué pasa esto? Porque yo, en mi customizador, así de paso os enseño cómo se puede hacer la página de opciones. En este caso, la más generalista. Ésta, la que hemos visto antes, es una de las diferentes logos para las diferentes necesidades que tengo. Para el logo corporativo, logo corporativo para el móvil, luego corporativo para el pie de la web. Me preguntan diferentes cosas. Aquí ya esto es cada uno como lo necesite. Yo incluso le doy campos para que se puedan rellenar la información de la GDPR y luego yo tengo unos textos genéricos en lo que es donde va a poner el nombre del cliente. Le tiro este shortcode de aquí y auto se rellena. Le voy a copiar y pegar estas páginas, le relleno estos datos y ya tiene GDPR. Vuelvo a lo mismo. Yo siempre me cubro la espalda, pongo renuncio y responsabilidad. Estos textos no te cubren, no sé qué no sé cuánto, pero como a la mayoría de clientes les de igual, pues ya me sirve. Vale. A lo que iba. Antes os he dicho que yo, cuando modifico cosas del core de WordPress, lo dejo aquí. Y aquí tenemos todas las diferentes opciones que yo estoy modificando dentro del core de WordPress. Una de ellas es esta de aquí, colores personalizados para los estados de los posts. Y yo le digo que cuando el post está emborrador, salga en este rosita. Si quiero que salga otro color. A ver. A ver. Eso porque no me lo he cogido. Me sé colores hexadecimales de memoria. Aquí. Y ahora cuando recarguemos aquí en ponencias, ya me sale aquí el color verde. Vale. Que esto tenga algún problema en el futuro y me da problemas porque es tan fácil y la han cambiado. Ya no la puedo seguir utilizando. Vengo aquí, la dejo desactivada. Actualizo. Y cuando me vaya aquí a las ponencias, ya me salen de la forma normal, sin el color. Vale. Lo voy a dejar puesto como estaba. Bueno, no de igual, no voy a dejar sin activar. Vale. Entonces voy a venir aquí, edito, aplico y publico todas las charlas. I me cuando me venga aquí este listado, ya me van saliendo todas las diferentes charlas que tengo. Además aquí hay más problemas entre comillas y es que el filtro siempre está activo. Hemos visto antes no había charlas y el filtro seguía activo. Por lo tanto, tendría que intentar convertir todo esto en algo dinámico que me permita configurarlo. Si yo me voy a ir a mi editor de código, vemos que este es el template que nos está pintando eso. Aquí tenemos la cabecera. Aquí tenemos el title que el está pintado a fuego en el template. El párrafo que nos indica el texto descriptivo, etcétera, etcétera. Voy mirando la hora porque si no. Vale. Tengo el filtro, tengo el loop de los posts. Aquí tengo el bucle y aquí tengo cada post de forma individual. Vale. Entonces vamos a intentar darle forma a esto para que con una página de opciones ver un par de ejemplos de cómo podemos dinamizar esto. Hasta ahora, más o menos, vamos bien todos, ¿no? Perfecto. Entonces lo primero que tenemos que hacer es dar de alto una página de opciones que caiga del apartado de ponencias. Yo para esto ya tengo un plugin instalado que es un plugin hecho a medida. A ver que me ubique yo por aquí, que se llama Work in Barcelona y dentro de este plugin hay una cabecera que quiere me describer plugin aquí por seguridad la funcionalidad ésta y luego el código del plugin que vamos a ver directamente de dónde nos sale. Si nosotros nos vamos a Advance Custom Fields en la propia documentación ya nos dice cómo poder hacer una página de opciones. Aquí si revisamos lo que nos dice, que es lo que nos interesa es esto aquí. Con esto le damos de alta la página de opciones. Esta es la función que nos va a pintar la página de opciones según el estándar de Advance Custom Fields y aquí tenemos diferentes opciones si queremos hacer una página de opciones como tal o una subpagina de opciones. En nuestro caso es subpagina porque queremos que dependa del apartado de ponentes. Si no la tendríamos directamente aquí. Y además aquí lo que nos dice es que tengamos en cuenta que para poder llamar a esos valores tenemos que utilizar la función de Field pero le tenemos que pasar el parámetro Option. ¿Por qué? Porque por defecto a CF siempre va a guardar la información associada al POST porque utiliza los campos personalizados y los campos personalizados se relacionan por ID al POST. En este caso como lo que nosotros necesitamos es una página de opciones es decir, datos de forma más genérica que no estén asociados a una entidad de un POST lo que hacemos es que le pasamos el parámetro de Option por lo tanto lo va a ir a buscar a la tabla WP Options y en cualquier momento vamos a poder hacer esa llamada a un bucle al tipo de contenido que tenga ese dato no tiene sentido. Con esta funcionalidad llamamos directamente al Option. Esto tiene un peligro y es que los nombres de campos que utilicemos tienen que ser absolutamente únicos porque si utilizo Title aquí y luego de mi código al final del todo vol utilizar Title va a mandar el último de todos. Por lo tanto aquí sí que tengo que ser muy específico con los de de alta. He hecho esto me voy a copiar todo esto de aquí creo que hay la opción a ver me vengo aquí y como hemos dicho, lo único que necesito es la subpage por lo tanto esto me lo puedo cargar esto también y lo único que le tengo que decir es cambiarle los nombres yo aquí ya lo tengo preparado opciones aquí me dice el par en slug es lo que él necesita para tomar como referencia para de dónde tiene que colgar que si nos fijamos cuando nos vamos a ponencias este es el slug que nos da y esto es lo que tenemos que utilizar aquí y yo le añado un par más que ya tengo controladas que es cambiarle el nombre del botón porque por defecto viene en inglés y un mensaje para cuando guardamos esa página de opciones que nos diga en hora buena tus datos ha sido actualizados y hay algo que no ha salido bien porque me estoy pintando guardo me vuelvo a mi página y veo que aquí ya me sale opciones si yo le puse otra cosa Pepito aquí me sale Pepito guardamos volvemos otra vez pero que pasa que ahora no hay nada porque es lo que me dice no se han encontrado grupos de campos personalizados para esta página de opciones tengo que crearlos página de opciones de la charla lo llamo diferente porque como ya lo debo tener dado de alta en base de datos de las pruebas pues para no liarla yo tengo aquí una chuletilla vale, el title descripcion y el filtro por ejemplo pues le creo un nuevo campo que sea de tipo texto que le digo que quiero que sea el título le voy a poner el nombre del campo como hemos dicho intentar que sea único si no me equivoco, yo ya me había preparado eso es ponencias cpt archive title quiero que sea un texto básico no necesito ninguna validación perfecto voy a añadir otro campo para la descripcion en este caso creo que puedo utilizar el editor de bloques y le vamos a llamar descripcion aquí lo mismo copia de esto y le vamos a poner descripcion vale i para que me salga asociado a esta página de opciones que hemos dado de alta aquí en las aquí en las reglas le voy a decir que lo que quiero es que se active cuando sea una página de opciones aquí me va a buscar entre todas las que tengo declaradas y me he encontrado la del customizador y la opción es ponencias que es la que acabamos de crear cuando yo le voy a guardar y me voy aquí a ponencias opciones, antes no las teníamos y aquí me salen, me vienen preseteadas porque como le he puesto el mismo título me lo está cogiendo de base de datos me lo cargo y guardamos vale, entonces a nos falta aplicar todo esto al fichero que pinta todas estas opciones por lo tanto al fichero yo lo que hago es en la cabecera declararles las variables haciendo las llamadas a los diferentes campos porque si el día de mañana necesito cambiar alguna cosa lo tengo controlado en la cabecera y así tengo el código más o menos ordenado y Adrià como ha dado la charla antes de código limpio pues está orgullosa de mí igual me llama hasta cocinero vale pues le vamos a dar una variable y otra que se llame como le llamaremos y nos vamos a las dos le llamamos a la función getfill y como hemos dicho aquí va el campo personalizado de ACF y aquí le tenemos que indicar el atributo que es option para que nos lo vaya a buscar a la tabla de opciones options me vuelvo aquí y dentro de ACF pagina de opciones de la charla me copio cada uno de las dos dime dime así ya está vale entonces como estoy yo ya lo tengo lo que le voy a hacer es aquí donde tengo el h1 me lo voy a pintar justo arriba primero le voy a decir si esto existe para que no me la lie y aquí dentro le voy a pintar el h1 i dentro de l'h1 le voy a pintar el archive title esto lo podemos borrar si yo me vengo a mi web y no he hecho nada de raro no hay un title porque me la acabo de cargar y cuando yo me vengo aquí a las opciones o la soy un título si guardo y perdón me vengo aquí hola soy un título de esta manera he hecho dinámico algo que antes tenía fuego en el template y esto podemos hacerlo hasta donde nosotros queramos como veo que me queden cinco minutos lo que voy a hacer es recuperar la demo completa porque tiene más opciones y así veréis más o menos entendido como dar de alta no voy a poner repetir porque estaría haciendo trabajo de tontos vale entonces si no me equivoco yo esto lo voy a cambiar el nombre eh ya está de aquí nombre es que con este color no me entero de nada tú no me deje cambiar el nombre aquí vale entonces dentro de hf esto me lo cargo y recupero el que ya tenía preparado ponencias opciones ya tengo más información aquí hola soy una descripción fijaros que aquí he añadido Gutenberg o sea yo aquí podría tirar una imagen, podría tener una galería podría tirar lo que quisiera aquí estoy combinando los mejores de los dos mundos la vista del editor clásico con bloques de Gutenberg esto ya nadie se te puede quejar de que no le gusta porque esto lo coge todo vale dejamos que nos ha cambiado a dos columnas ¿por qué? porque como ya tiene información guardada me la ha mantenido yo vengo aquí en las opciones le digo que quiero habilitar el filtro porque me lo ha deshabilitado le voy a decir que quiero cuatro columnas en desktop dos en tablet una en mobile el número de palabras a mostrar de cada charla es decir el cert que me lo limita por palabras pues depende de lo que nosotros queramos y de más le voy a poner 40 que es lo más normal y le voy a deshabilitar el wrapper, un contenedor para las charlas por eso he puesto cuatro columnas porque va a haber más espacio para mostrarlo ahora lo vamos a ver voy mirando el mobile porque se no y ahora si lo he hecho bien tengo el filtro habilitado no tengo un wrapper, es decir el wrapper va de lado y tengo cuatro columnas con los diferentes contenidos y volvemos a lo mismo yo lo puedo volver a dejar como lo tenía le he deshabilitado el wrapper le he hecho tres columnas y ahora es lo mismo se entiende más o menos y ya estaríamos muy bien de tiempo me queda un minuto y para que Alf nos dé su sello de Alf aprueba todo esto que hemos hecho pues si utilizamos páginas de opciones lo que vamos a hacer es enriquecer el gestor de contenidos, el cms dar más opciones de configuración a nuestro cms vamos a crear una buena interfaz de usuario porque ya hemos visto que al final son opciones no tienes que saber cosas tècnicas para poderlo hacer que ese sería siempre el objetivo le vamos a poder dar todo el poder al editor que para eso estamos utilizando un cms si no picaríamos código a pelo y ya está pero si utilizamos un gestor de contenidos es para que todo se pueda configurar vamos a poder utilizar las opciones para diferentes tipos de propósitos, para opciones de un tema de un plugin, para opciones en este caso de un custom post type, etc. y mayor control que tengamos mayor éxito en el proyecto y llegados aquí siempre me gusta acabar las charlas con una frase y es que la nube no es más que el ordenador de otro esto siempre lo tenemos que tener en la cabeza porque tanta nube, tanta nube y nada, muchas gracias si alguien tiene una pregunta siempre pongo el perro porque si no se había llevado nada al menos se lleváis al perro eso siempre agradece tiene todo el pelo que no tengo yo muchas gracias una pregunta tu framework lo tienes a nivel de plugin o lo tienes directamente en github es un plugin y lo tengo en github por eso cuando actualices en un sitio eso es y es privado esto sí que no lo tengo compartido yo comparto todo yo no tengo problemas pero tampoco soy entonces que hay que vivir y hay que comer lo primero de todo gracias por la charla muy interesante yo quería preguntarte si hay alguna manera de llamar a una opción ya que has dicho que no pueden tener el nombre igual solo se pueden llamar si le pones el com a option hay alguna manera de llamarle por el nombre de la página de opciones o es imposible es global las variables entonces como te lo va a meter en la tabla de wp options no hay otra es que no hay otra manera pero tampoco es un problema tú has visto que yo cuando le he declarado los campos he sido muy definitorio en el nombre del campo es muy difícil que algo se llame igual que el custom post type igual que lo que voy a hacer ponentes cpt es imposible que haya otro al menos en la misma web que se llame ponentes cpt y luego archive esto se va a utilizar en la vista archive de los ponentes entonces es muy difícil si te pasa con cambiarle el nombre a ese campo ya lo tienes primero felicidades por la charla Juanca, decirte si todas estas opciones se hacen con el plugin premium o con la versión gratuita ya es suficiente ahi me has pillado, yo estoy que seguro que creo que es con la de pago solo la que lleva las opciones pues que para mi el cf es que no contemplo que no se pague no me entra en la cabeza en su día era más barato ahora creo que vale 100 o 200 dolares al año yo es que se lo paga cada semana porque es que a mi me va de mis herramientas principales para trabajar gracias la pregunta es dado que incluyes una dependencia nueva al crear tu plugin tienes controlada la manera de que no se pueda crear tu plugin sin esa dependencia o que lo traiga de manera automatizada o algo así hace que tiene una función que solo con que tú la llames el ya te crea el condicional para revisar si el plugin está instalado en la web entonces si tú activas el plugin y no encuentras función dentro del código no va a funcionar lo que tú hagas la mejor manera sería añadirle alguna funcionalidad, algún control que revises si no tienes a cf instalado y te sugiera de instalarlo hay maneras de hacerlo, no me acuerdo ahora pero creo que los mismos creadores del plugin que comentaba Tría antes ya te ofrecen la manera de añadir el código para crear una dependencia pero que passa que al final esto como lo utilizo a nivel propio de desarrollos míos personales o profesionales, ya lo hago yo directamente entonces no es igual lo necesitarías si hicieras algo que dependiera de cf para poderlo vender a un tercero que no tuviera los conocimientos por cierto me olvido de decir que todo esto que hemos visto lo hemos dado de alta aquí desde la web pero nosotros nos podemos exportar todo el código PHP los campos personalizados en el propio plugin y cuando va a cargar la página de opciones no tiene que hacer llamadas a base de datos para ver qué hay sino que lo tenemos todo en código podemos hacerle control de versiones etcétera etcétera alguna duda más gràcies Juanga por la charla las páginas de opciones que creamos con la cf ya hemos visto que se pueden incluir en el menú de d'administració esa moda que hubo en muchas plantillas que su página de opciones es el personalizador como lo ves y si con la cf se puede hacer en el personalizador de temas como tal no pero tú puedes enganchar una página de opciones dentro de ajustes y tú le pones ahí tu nombre de tu plugin o lo que estés haciendo y ahí pones la página de configuración y luego en el fichero donde explicas la cabeza era el nombre y demás del plugin le puedes añadir la opción para que cuando te vas alistado todos los plugins te salga la opción de configurar y te lleve directamente a ajustes el nombre de mi plugin entonces con eso lo tienes lo tienes todo perfecto porque si es una cosa de configuración que se va a configurar claro lo ideal es que tú crees las opciones le dejes datos preseteados para que siempre funcione cuando lo instalen o lo activen y luego si quieren cambiar algo se van alistado de plugins ajustes y lo tienes medio escondido dentro del apartado de ajustes del propio WordPress y ahí lo tienes y no molesta si lo tuvías en un nivel principal pues claro siempre va a haber las opciones ahí solo con que hagas dos o tres páginas de configuración de opciones ya tienes ahí un menú lateral un poco más largo entonces queda un poco feo lo guardas todo en ajustes y ya está más cosas, si no nos vamos a foto y a comer y esas cosas bueno gracias Juanca, primero de todo hacerte entrega un detallito i i i i i i i i i i i i i