# David Pérez ES - Full Content > Página personal de David Pérez - Desarrollador y Consultor de Marketing --- ## Un color distinto por proyecto en VSCode: el truco que evita que escribas en el repo equivocado URL: https://davidperezgar.com/blog/un-color-distinto-por-proyecto-en-vscode-el-truco-que-evita-que-escribas-en-el-repo-equivocado/ Cuando trabajas con IA, es habitual tener 3, 4 o 5 ventanas de VSCode abiertas a la vez… y acabar escribiendo en el proyecto equivocado 🙃 Truco rápido que le pasé al equipo esta semana: Personalizar el COLOR de cada ventana de VSCode según el proyecto. Así, de un vistazo, sabes dónde estás. 👉 Cómo hacerlo: 1. En tu proyecto, crea el archivo .vscode/settings.json (o abre Cmd + P y busca Workspace JSON Settings) 2. Añade los colores que quieras para la barra de título, la activityBar, el statusBar, etc. 3. Guarda y listo. Esa ventana tendrá SU identidad visual. 💡 Bonus: para no pelearte eligiendo combinaciones, hay un GPT personalizado que te genera el JSON directamente según el nombre o el rollo del proyecto: Workspace Styler for VSCode https://chatgpt.com/g/g-6a60e0c3e25081918ede54c875ecdf8c-workspace-styler-for-vscode Parece una tontería, pero cuando llevas 6 horas saltando entre repos, el cerebro te lo agradece. ¿Tenéis algún otro truco para no perderos entre proyectos? Os leo 👇 #VSCode #DevTips #Productividad #IA #Desarrollo --- ## WordCamp Europe 2026 en Cracovia: mesa de plugins, las minas de sal y la gran sorpresa final URL: https://davidperezgar.com/blog/comunidad-wordpress/wordcamp-europe-2026-en-cracovia-mesa-de-plugins-las-minas-de-sal-y-la-gran-sorpresa-final/ Este año WordCamp Europe tocó en Cracovia. El vuelo del miércoles llegó tarde, así que me perdí el día de ciudad. Sin mucho drama: lo importante empieza el jueves. Y la WCEU empezó con una sorpresa, y fue el venue, que estaba impresionante. Todo acristalado y en cuatro plantas, ya nos decía desde el principio que iba a ser un evento importante. Tabla de contenidos Toggle - Contributor Day: la mesa de plugins con casi 40 personas - La charla del viernes - La cena de Hostinger: 135 metros bajo tierra - El sábado: networking y automatización de revisiones - La after party - La sorpresa del final: WordCamp Europe 2027 en Málaga ## Contributor Day: la mesa de plugins con casi 40 personas El jueves fue el Contributor Day, y la mesa de plugins fue una de las mas populares. Llegamos a contar casi 40 personas entre los dos grupos que montamos con Fran Torres. Hasta ahora el formato era un taller: enseñar a la gente cómo hacer mejores plugins. Útil, pero creemos que no era suficiente. Este año decidimos que la gente contribuyera de verdad, no solo aprendiera. WordCamp Europe 2026 – Contributor Day Morning Contributor Day Opening and Welcome Lo dividimos en dos grupos: **Grupo de Fran:** revisión manual de plugins publicados. Les pasamos una lista de unos 200 plugins para que comprobaran el código y la interfaz buscando malas prácticas, trialware, paywall y ese tipo de cosas. **Mi grupo:** Plugin Check (PCP). Al ser un proyecto público en GitHub, la gente pudo revisar pull requests directamente y proponer cambios. Teníamos muchos PRs acumulados. Entre todos los gestionamos y, como resultado, sacamos la versión 2.1.0. WordCamp Europe 2026 – Contributor Day Afternoon En mi mesa hubo sobre 20 personas haciendo preguntas, probando la herramienta, proponiendo mejoras. Fue una experiencia muy buena. ## La charla del viernes Fran y yo presentamos una charla sobre cómo hacer mejores plugins y enviarlos al directorio de WordPress.org. La habíamos enviado a la convocatoria de ponencias y nos la aceptaron. La hora era justo después de la comida. Intentamos compensarlo con un bromas y diferentes participaciones. A Fran se le ocurrió en una parte del Workshop ser parte del público haciendo preguntas. Fue mi primera charla en inglés. Hay cosas que todavía me cuestan, pero creo que me defendí bien. El vídeo está disponible si quieres verla. WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory ## La cena de Hostinger: 135 metros bajo tierra El viernes por la noche, Hostinger organizó una cena para los líderes de mesa y contribuidores. Nos llevaron a las minas de sal de Wieliczka, que tienen 700 metros de profundidad total. Como decían ellos: la Torre Eiffel, pero hacia abajo. Bajamos hasta los 135 metros. Hay salas enteras excavadas en la sal, decoraciones, una pequeña iglesia… Muy curioso. La subida en ascensor fue lo más intenso: 100 metros en 10 segundos. Una velocidad que se nota. ## El sábado: networking y automatización de revisiones El sábado fue el día de más conversaciones. Coincidí con gente de Automattic, Juan Magarrido, Ryan Garcher, Álvaro Gómez, y otros. También tuve una conversación larga con Constantine Overland, del equipo meta de WordPress.org. Hablamos bastante sobre cómo automatizar mejor las revisiones de plugins. Ahora mismo ya tenemos bastante cubierto, pero hay margen de mejora y hay ideas concretas sobre la mesa. Esos ratos son los que más valoro de una WordCamp. Poder hablar con personas que trabajan en lo mismo que tú, sin agenda, sin prisas. ## La after party El sábado por la noche fue la fiesta oficial. El sitio era un parque gigante cerrado con distintas zonas: concierto en vivo, karaoke, varias salas. Espectacular. ## La sorpresa del final: WordCamp Europe 2027 en Málaga Al cierre del sábado llegó el anuncio: la próxima WordCamp Europe será en Málaga. A dos horas de Granada en coche. Eso cambia bastante las cosas. Sin vuelo, con opción de involucrar a más gente local y a estudiantes que a lo mejor no se plantearían viajar a otro país. WordCamp Europe es una oportunidad enorme, y tenerla tan cerca abre muchas puertas. Voy a ayudar en lo que pueda, con mi equipo también. Y ya estoy pensando en temas para presentar charla. Mi compañero este año ha sido Materrón de Potencia PRO. Lo hemos pasado estupendamente y para el ha sido la primera Europe. --- ## Cómo preparar tu plugin para el directorio de WordPress.org URL: https://davidperezgar.com/blog/charlas/como-preparar-tu-plugin-para-el-directorio-de-wordpress-org/ En la WordCamp Europe de Cracovia estuvimos de ponentes Fran Torres y yo. Justo después de comer, con el público luchando contra la siesta del mediodía, pero con ganas. La charla giraba en torno a algo que los dos vivimos cada semana: revisar plugins para el directorio de WordPress.org. Somos miembros del Plugins Team, yo patrocinado por Hostinger y Fran por SiteGround, y lo que hacemos básicamente es revisar los plugins que llegan al directorio, detectar problemas, reportarlos al autor y acompañarle hasta que el plugin está listo para publicarse. Suena sencillo, pero el volumen es considerable: en una semana gestionamos unos 700 envíos nuevos, hacemos cerca de 2.000 revisiones y respondemos alrededor de 4.000 correos. Hace un año eran 200 envíos semanales. El salto tiene mucho que ver con la IA generando código y plugins a toda velocidad. De hecho, nosotros mismos ya usamos IA en parte del proceso de revisión. La idea de la charla no era enseñar a hacer un plugin desde cero, sino mostrar qué es lo que falla más cuando un plugin llega al equipo, con ejemplos reales de código vulnerable encontrado en plugins con cientos de miles o millones de instalaciones activas. **Lo que más vemos incumplido** Lo primero es lo más básico: el código tiene que ser legible. El directorio es open source, con licencia GPL, y eso significa que el código tiene que poder leerse y modificarse. No permitimos código ofuscado ni encriptado. Los archivos minificados están bien, pero siempre tiene que venir acompañado del código fuente. Otro punto que genera mucha confusión es la funcionalidad sin restricciones artificiales. El directorio de WordPress.org no es un marketplace. No se pueden meter paywalls internos ni limitaciones intencionales dentro del plugin, como limitar a cuatro el número de slides que puedes crear. Si quieres monetizar, el camino correcto es un add-on externo o un servicio de pago, no meter una restricción dentro del propio plugin. En el contributor day justo antes de la charla revisamos un plugin que necesitaba conectarse a un servidor externo para generar un número aleatorio. No, no es razonable. Con el nombre también hay problemas frecuentes. Si usas el nombre de otra marca o proyecto de una forma que parezca una integración oficial, tienes que poder demostrarlo. Si no eres WooCommerce, tu plugin no puede llamarse algo que suene a que lo es. Y los nombres genéricos como «SEO» ya tienen más de 2.000 resultados en el directorio, así que lo único que consigues es que tu plugin sea imposible de encontrar. Un truco rápido antes de enviar: busca el nombre en Google junto a «WordPress» y mira qué aparece. En cuanto a las llamadas externas, las librerías JS tienen que ir dentro del plugin, no cargarse desde CDNs externos. Hay razones de seguridad, rendimiento y disponibilidad geográfica para ello. El tracking y la telemetría tienen que estar desactivados por defecto y requerir opt-in explícito. Y cualquier servicio externo que uses tiene que estar documentado en el README: quién lo presta, qué datos se envían, y enlaces a términos de servicio y privacidad. **Los security nightmares** Esta fue la parte más técnica, y la que más atención generó. Mostramos código real de vulnerabilidades detectadas en plugins con entre 600.000 y 5 millones de instalaciones activas. La conclusión es que muchas veces el agujero de seguridad no es algo sofisticado. Es simplemente un input que va directo a la base de datos sin sanitizar. La regla es clara: sanitizar en la entrada, escapar en la salida. Sin excepciones. No confiar en ninguna fuente, ni $_POST, ni $_SERVER, ni APIs externas, ni la propia base de datos. WordPress tiene funciones para todo: sanitize_text_field(), sanitize_url(), esc_html(), esc_attr(), esc_url(), $wpdb->prepare()… Mostramos un plugin con 5 millones de instalaciones donde la solución a una vulnerabilidad crítica era añadir una sola línea. Y un caso de SQL injection en un plugin con un millón de instalaciones activas, causado simplemente por no usar $wpdb->prepare(). Con los endpoints vimos cosas todavía más llamativas. El permission callback tiene que estar siempre. Poner return true sin más ya nos indica que no se ha pensado en la seguridad. Mostramos un endpoint que devolvía el contenido de cualquier post sin verificar si el usuario tenía acceso, lo que incluía borradores, posts protegidos con contraseña y pedidos de WooCommerce. Mostramos un endpoint de pago donde el importe venía directamente de $_POST['amount'] y el único control era que fuera mayor que cero, lo que permitía pagar prácticamente lo que quisieras. Y el caso más grave: un endpoint de confirmación de pago que leía el estado de la transacción desde el input del usuario, lo que permitía a cualquiera marcar cualquier pedido como pagado con una simple petición manipulada. Para endpoints, la recomendación es REST API como primera opción, Admin Ajax con nonce y verificación de capacidades si es necesario, y alejarse de ficheros PHP standalone y de XML-RPC. Sobre los nonces, que es algo que mucha gente no termina de entender bien: sirven para verificar el origen de una petición y evitar ataques CSRF. Mostramos un caso donde la diferencia entre usar && y || en la verificación del nonce dejaba un endpoint de exportación de CSV completamente abierto sin autenticación. La diferencia visual era mínima, la consecuencia no. Las funciones son wp_create_nonce() y wp_verify_nonce(). Y los prefijos, que también causan problemas graves. Todas las funciones, clases, variables globales, shortcodes, post types, endpoints Ajax y opciones en base de datos tienen que usar un prefijo único y distintivo. Sin prefijo, dos plugins que declaren la misma función provocan un fatal error, y si sobreescriben la misma opción en base de datos, puedes perder datos. Tenemos una lista de prefijos que vemos constantemente y que hay que evitar: set, get, save, admin, ai, google, loop, ajax, elementor, e incluso extensiones de imagen como .jpg. **Herramientas que recomendamos** Para revisar tu plugin antes de enviarlo, la primera opción es Plugin Check (PCP), el plugin oficial del equipo, disponible en WordPress.org. Detecta la mayoría de los checks automáticamente y exporta los resultados a Markdown, lo que lo hace muy fácil de usar con herramientas de IA. PHPCS con WPCS es otra opción sólida, integrable en el editor y en pipelines de CI/CD. Y si usas IA para desarrollar, puedes preguntarle directamente si el plugin es seguro usando el WordPress Coding Standards AI Skill. **El proceso de revisión y los tiempos** Cuando llega un plugin, enviamos un informe con todo lo que hay que corregir. El autor lo arregla y reenvía, y el ciclo se repite hasta que el plugin está listo. Actualmente el tiempo para la primera revisión está en torno a 5 días, aunque hace dos meses era de dos semanas y hace tres años llegaba a los tres meses. Las fluctuaciones dependen del número de voluntarios activos y del volumen de envíos. En total, si sigues bien las directrices, entre dos semanas y un mes es un tiempo razonable. Una vez aprobado, eres tú quien decide cuándo publicar. Una cosa importante: no hagas ping al email del equipo preguntando por el estado de tu envío. Gestionamos 700 envíos semanales y hay una cola. WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory WordCamp Europe 2026 – Talks Day 1 AfternoonDavid Perez, Fran Torres: Get your plugin ready for submission to the directory --- ## Preview de plugins en WordPress Playground directamente desde el Pull Request URL: https://davidperezgar.com/blog/desarrollo-web/preview-de-plugins-en-wordpress-playground-directamente-desde-el-pull-request/ Cuando alguien abre un PR en un plugin de WordPress, el proceso habitual para revisarlo implica descargar la rama, instalarla en local, activar el plugin y probar los cambios a mano. Eso tiene fricciones: hay que tener un entorno local preparado y dedicar tiempo a instalar algo que igual está roto a medias. Si el revisor no es desarrollador, directamente no puede. Con este setup, el propio PR genera un enlace que abre el plugin funcionando en el navegador. Un clic, y ya está probando. Tabla de contenidos Toggle - ¿Qué es WordPress Playground? - Cómo funciona el sistema completo - Guía paso a paso 1. Crea la estructura de carpetas - 2. Añade build-dist.yml - 3. Añade playground-preview.yml - 4. Verifica los permisos del workflow - 5. Haz el primer push y verifica - 6. Abre un PR y espera el comentario automático - Personalizar el blueprint Instalar un plugin de dependencia - Crear datos de prueba con WP-CLI - Fijar versión de WordPress o PHP - Notas importantes ## ¿Qué es WordPress Playground? WordPress Playground es un entorno de WordPress que corre completamente en el navegador, sin servidor. Usa WebAssembly (WASM) para ejecutar PHP directamente en el cliente. No necesitas Docker, XAMPP, ni nada instalado en local. Cualquier persona puede abrir una URL y tener un WordPress funcional en segundos, con el plugin instalado y activado. Cuando cierra la pestaña, todo desaparece. Sin rastro, sin instalaciones, sin conflictos. Esto lo hace perfecto para revisiones de código, demos rápidas y pruebas de plugins sin comprometer ningún entorno real. ## Cómo funciona el sistema completo Son tres piezas que encajan juntas: - **build-dist.yml** — se ejecuta en cada push. Instala las dependencias de Composer sin --dev, genera un blueprint.json apuntando a esa rama concreta, y hace un push forzado a una rama dist/nombre-rama. También elimina la rama dist cuando se elimina la original. - **playground-preview.yml** — se ejecuta cuando se abre, reabre o actualiza un PR. Construye la URL de Playground con el blueprint de la rama dist y publica o actualiza un comentario en el PR. Usa un marcador HTML para no duplicar comentarios. - **pr-blueprint.json** — plantilla del blueprint para revisar el trunk manualmente, sin abrir un PR. Define la página de aterrizaje dentro de wp-admin, hace login automático como admin, instala el plugin desde la URL del zip y lo activa. ## Guía paso a paso ### 1. Crea la estructura de carpetas Necesitas dos carpetas en la raíz del repositorio: .github/workflows/ para los workflows y .github/ para el blueprint. ### 2. Añade build-dist.yml Este workflow hace tres cosas: instala dependencias, genera el blueprint con la rama correcta, y hace push a la rama dist. Ajusta la landingPage y el nombre del plugin en la sección de generación del blueprint. Copyname: Build dist branch on: push: branches: - '**' delete: permissions: contents: write jobs: build: if: github.event_name == 'push' && !startsWith(github.ref_name, 'dist/') runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: '8.2' tools: composer - name: Install production dependencies run: composer install --no-dev --optimize-autoloader - name: Generate Playground blueprint env: BRANCH_NAME: ${{ github.ref_name }} run: | mkdir -p .wordpress-playground cat > .github/pr-blueprint.json << EOF { "\$schema": "https://playground.wordpress.net/blueprint-schema.json", "landingPage": "/wp-admin/options-general.php?page=tu-plugin", "steps": [ { "step": "login", "username": "admin", "password": "password" }, { "step": "installPlugin", "pluginZipFile": { "resource": "url", "url": "https://github.com/tu-org/tu-plugin/archive/refs/heads/dist/${BRANCH_NAME}.zip" }, "options": { "activate": true } } ] } EOF - name: Push to dist branch env: BRANCH_NAME: ${{ github.ref_name }} run: | git config user.name "github-actions" git config user.email "github-actions@users.noreply.github.com" git add -f vendor/ .wordpress-playground/ git diff --cached --quiet || git commit -m "Build: add vendor and playground blueprint" git push origin HEAD:dist/${BRANCH_NAME} --force delete-dist: if: github.event_name == 'delete' && github.event.ref_type == 'branch' && !startsWith(github.event.ref, 'dist/') runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Delete dist branch env: BRANCH_NAME: ${{ github.event.ref }} run: | git push origin ":refs/heads/dist/${BRANCH_NAME}" || true ### 3. Añade playground-preview.yml Este workflow publica el comentario en el PR. El marcador HTML evita que se creen comentarios duplicados en cada push. Cámbialo por el nombre de tu plugin. Copyname: Playground PR Preview on: pull_request: types: permissions: issues: write pull-requests: write jobs: playground-preview: name: Comment with Playground preview link runs-on: ubuntu-latest steps: - name: Post Playground preview comment uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const marker = '<!-- tu-plugin-playground-preview -->'; const issue_number = context.payload.pull_request.number; const branchName = context.payload.pull_request.head.ref; const owner = context.repo.owner; const repo = context.repo.repo; const blueprintUrl = `https://raw.githubusercontent.com/${owner}/${repo}/dist/${branchName}/.wordpress-playground/blueprint.json`; const playgroundUrl = `https://playground.wordpress.net/?blueprint-url=${encodeURIComponent(blueprintUrl)}`; const body = [ marker, '## Test in WordPress Playground', `[**Open PR #${issue_number} in Playground ↗**](${playgroundUrl})`, '> El enlace se activa cuando termina el workflow **Build dist branch**.', '- Login: `admin` / `password`', '- El plugin se instala y activa automáticamente.', ].join('\n'); const comments = await github.paginate( github.rest.issues.listComments, { owner, repo, issue_number, per_page: 100 } ); const existing = comments.find(c => c.body?.includes(marker)); if (existing) { await github.rest.issues.updateComment({ owner, repo, comment_id: existing.id, body }); } else { await github.rest.issues.createComment({ owner, repo, issue_number, body }); } ### 4. Verifica los permisos del workflow En build-dist.yml ya viene permissions: contents: write. En playground-preview.yml necesitas issues: write y pull-requests: write. Si tu repo tiene las Actions con permisos restringidos por defecto, revísalo en *Settings → Actions → General → Workflow permissions*. ### 5. Haz el primer push y verifica Empuja cualquier rama, ve a *Actions* y comprueba que el workflow *Build dist branch* acaba en verde. En las ramas del repo debería aparecer dist/nombre-de-tu-rama con el vendor y el blueprint dentro. ### 6. Abre un PR y espera el comentario automático Al abrir el PR se ejecuta el workflow *Playground PR Preview*. En unos segundos verás un comentario con el enlace directo a Playground con el plugin instalado, login hecho como admin y la página de ajustes abierta. ## Personalizar el blueprint El blueprint es un JSON que Playground interpreta. Puedes añadir más pasos según lo que necesite tu plugin. ### Instalar un plugin de dependencia Copy{ "step": "installPlugin", "pluginZipFile": { "resource": "wordpress.org/plugins", "slug": "woocommerce" }, "options": { "activate": true } } ### Crear datos de prueba con WP-CLI Copy{ "step": "wp-cli", "command": "wp post create --post_title='Producto de prueba' --post_status=publish" } ### Fijar versión de WordPress o PHP Copy{ "$schema": "https://playground.wordpress.net/blueprint-schema.json", "preferredVersions": { "php": "8.1", "wp": "6.4" } } ## Notas importantes El vendor de Composer se registra en la rama dist con git add -f vendor/. Es intencionado: Playground descarga el zip de esa rama y necesita todas las dependencias incluidas. No entra en conflicto con tu .gitignore porque solo ocurre en la rama dist. El build es forzado (--force), así que la rama dist siempre refleja el estado actual. No hay historial acumulado. Si un PR recibe varios pushes seguidos, el workflow actualiza el mismo comentario en lugar de crear uno nuevo. Eso lo controla el marcador HTML. Cámbialo por algo único para tu plugin para evitar colisiones si tienes varios repos con el mismo setup. --- ## 3 años en el Plugins Team de WordPress.org URL: https://davidperezgar.com/blog/comunidad-wordpress/3-anos-en-el-plugins-team-de-wordpress-org/ Ayer, 5 de mayo de 2026, cumplo **3 años** como parte del Plugins Team de WordPress.org. Y este último año, el tercero, ha sido sin duda el más intenso, el más bonito y el que más me ha cambiado la forma de entender lo que significa contribuir a un proyecto open source de esta escala. Vamos a ver qué ha pasado todo este año. No tanto por hacer cuentas (aunque las hay), sino porque cuando estás metido en el día a día revisando plugins, programando herramientas y respondiendo a la cola, a veces se te olvida mirar hacia atrás y ver lo lejos que has llegado. Y este año hemos llegado lejos. Tabla de contenidos Toggle - El contexto que cambia todo: los envíos se han disparado - Las cifras del año - Plugin Check (PCP): de 1.5 a 1.9, y la 2.0 a la vuelta de la esquina - UN BACKDOOR EN 22 plugins y un potencial de 180.000 webs que podrían ser comprometidas - El cambio de nombre: de Plugin Review Team a Plugins Team - Las herramientas internas: Plugin Team Tools y el Reviewer Dashboard - Las skills para agentes: la nueva frontera - Posts publicados en make.wordpress.org/plugins - Eventos: cuatro WordCamps - Reclutar y formar al equipo - Gracias, Hostinger - Y al equipo ## El contexto que cambia todo: los envíos se han disparado * Hay un dato que pone todo en perspectiva. Si miras el histórico de envíos nuevos por semana al directorio: - En **2022, 2023 y 2024** la media estaba en torno a **100-150 envíos semanales**, bastante estable. - En **2025** subimos a **200-330 envíos por semana**. - En lo que llevamos de **2026**, ya estamos en **400-560 envíos semanales**. Es decir, en dos años los envíos al directorio se han multiplicado por **4-5 veces**. Y el equipo no ha crecido al mismo ritmo. Esto explica por qué este año ha tenido el foco que ha tenido: si seguíamos haciendo las cosas como siempre, el sistema colapsaba. Había que cambiar de marcha en herramientas, en automatización, en IA y en procesos. ## Las cifras del año Entre el 5 de mayo de 2025 y hoy, en este tercer año he dedicado al Plugins Team: - **6.335 plugins revisados** entre nuevos y respuestas a autores (3.161 nuevos + 3.174 seguimientos) - **1.482 plugins aprobados** y publicados en el directorio - **144 plugins rechazados** por no cumplir las directrices - **165 días dedicados al desarrollo de herramientas** internas para el equipo - **Más de 911 horas** de trabajo registrado en estos 12 meses - **337 días activos** en el equipo (prácticamente todos los días del año) Cada uno de esos 6.000+ plugins lleva detrás un autor, un correo, un informe completo, y a veces una conversación para que el plugin pueda salir adelante de forma segura para los millones de personas que usan WordPress. ## Plugin Check (PCP): de 1.5 a 1.9, y la 2.0 a la vuelta de la esquina Aparte de revisar, el proyecto que más me he enfocado este año ha sido **Plugin Check**, la herramienta oficial que ayuda a desarrolladores a comprobar si su plugin cumple las directrices del directorio antes de enviarlo. Empezamos el año en la versión 1.5 y hemos llegado a la **1.9.0**, pero lo más importante está justo ahora delante: **PCP 2.0 con IA integrada para autores**. En las versiones de este año hemos añadido: - Comprobaciones nuevas: detección de readmes en idioma incorrecto, verificación de nonces, detección de funciones prohibidas, análisis de URLs externas, validación de nombres de archivo, comprobación de licencias de terceros, detección de archivos duplicados, validación de directivas de privacidad, y muchas más. - **Plugin Check ejecutándose en actualizaciones**: hasta entonces solo corría en envíos nuevos. Ahora también valida las actualizaciones, lo cual cubre un agujero importante. - **Modo CTRF** y formato de salida estándar para integración con CI/CD. - **Primera integración de IA** (versión 1.8) para detectar nombres de plugins que infringen marcas registradas. Y ahora viene lo gordo. **PCP 2.0** llevará la IA a la revisión completa para todos los autores. La idea es que cualquier desarrollador, antes de enviar el plugin, pueda pasarle PCP en local y recibir feedback inteligente sobre todo lo que un revisor humano le diría: posibles problemas de seguridad, malas prácticas, incompatibilidades con las directrices, sugerencias de mejora. Un primer filtro inteligente, accesible, gratuito y disponible para cualquiera del ecosistema. Si pones PCP 2.0 en el contexto del crecimiento de envíos que comentaba antes, se entiende todo: es **la única forma de que el directorio siga funcionando** con esta escala. Y es, también, lo que más ilusión me hace en este momento. ## UN BACKDOOR EN 22 plugins y un potencial de 180.000 webs que podrían ser comprometidas En abril de este año vivimos uno de los episodios más comprometidos este año: **22 plugins infectados con un backdoor afectando a más de 182.000 webs**. La cadena de suministro había sido comprometida —plugins comprados en Flippa con código durmiente que se activó meses después—. Este incidente nos hace pensar que debemos estar cada vez más pendiente de las actualizaciones de los plugins. Efectivamente llevamos un tiempo trabajando en ello desde el año pasado con diferentes reuniones en la pasada WordCamp Europe. Y actualmente ya corre Plugin Check en las actualizaciones, a **falta de que el informe se envíe a los autores**. Esto sería el inicio para que los propios autores puedan revisar sus plugins y actuar en su seguridad. De hecho este fue uno de los proyectos que comentamos con Matt en la pasa WordCamp Europe. ## El cambio de nombre: de Plugin Review Team a Plugins Team En julio publicamos un muy simbólicos: el cambio de nombre del equipo. Pasamos de **Plugin Review Team** a **Plugins Team**. Parece un detalle, y lo es, pero también refleja algo importante: el equipo ya no solo revisa plugins. Mantiene el directorio, desarrolla herramientas, define políticas, gestiona ownership, responde a ciertos incidentes de seguridad, y forma a nuevos contribuyentes. El nombre tenía que adaptarse. ## Las herramientas internas: Plugin Team Tools y el Reviewer Dashboard Una parte muy importante del trabajo este año ha sido construir herramientas para el resto del equipo. Cosas como: - **PT Tools / PRT Stats**: un plugin con dashboards para que cada revisor vea sus propias estadísticas y el equipo entero pueda hacer seguimiento. - Ayudar a las **Extensión de Chrome** para HelpScout (la herramienta donde gestionamos los correos con autores), con botones para copiar enlaces, gestionar issues de ownership, contar plugins, configurar tiempos de espera personalizados, y más. - Un **Reviewer Dashboard** para automatizar parte del flujo de trabajo y dar visibilidad de la cola en tiempo real. - **Stats automatizadas** que se ejecutan en cron para ver tendencias del directorio (envíos diarios, plugins publicados, ratios de aprobación). - **Importación de stats históricos** para tener una serie temporal completa del equipo. Las uso yo y las usa el resto del equipo a diario. Es un trabajo invisible pero que ayuda a revisar el esfuerzo del equipo es suficiente y si se necesita más miembros. Y con el nivel actual de envíos, sin estas herramientas no llegaríamos. ## Las skills para agentes: la nueva frontera A finales del año, ya en 2026, hemos abierto otra línea: las **skills para agentes de IA**. Empezamos creando la skill wp-plugin-directory-guidelines en el repositorio oficial de WordPress, y luego añadimos la skill de **WPORG compliance**. La idea es sencilla pero potente: que cualquier desarrollador que use un agente de IA para programar plugins pueda cargar estas skills y conseguir que el agente conozca las directrices de WordPress.org desde el primer prompt. Que el vibecoding para WordPress salga bien por defecto, no por casualidad. Es la otra cara de la misma moneda que PCP 2.0: si no podemos revisar todo a mano por la escala, lo que sí podemos hacer es que el código llegue mejor desde el origen. La IA al servicio del autor, no contra él. ## Posts publicados en make.wordpress.org/plugins Durante el año hemos publicado bastante en el blog del equipo. Algunos posts en los que he trabajado: - More plugins submitted this year* (mayo 2025) - *Doubled submissions this year* (mayo 2025) — ya entonces se veía la tendencia que ahora se ha disparado - *New Plugins Team name* (julio 2025) — el cambio de nombre - *Readme in English required* (julio 2025) — un cambio de política importante - *WCUS Plugin Stats* (agosto 2025) — para llevar a Portland - *PCP running on updates* (octubre 2025) - *Automated Tests for Developer Blog* (diciembre 2025) — colaboración con el Developer Blog - *Plugins Team Recap 2025* (diciembre 2025) - *22 plugins infected, 182k webs compromised* (abril 2026) — el incidente del backdoor ## Eventos: cuatro WordCamps Este año he estado en cuatro eventos como contribuyente: - **WCEU 2025** (Basel) — Contributor Day y reunión con Matt Mullenweg - **WordCamp Madrid** — Contributor Day y workshop sobre plugins - **WordCamp Málaga** — Contributor Day - **WordCamp Galicia** — Contributor Day Cada uno con su sabor, pero los cuatro con la misma sensación: la gente del open source que viene a estos sitios es lo mejor que tiene este proyecto. ## Reclutar y formar al equipo Otro frente este año ha sido **incorporar nuevos miembros**. El equipo ha crecido, y eso significa entrevistar gente, formar, hacer onboarding, dar feedback, y trabajar codo con codo con desarrolladores nuevos. Trabajo que no aparece en los números pero que es básico para que el equipo sea sostenible —especialmente con el volumen de envíos que tenemos ahora—. ## Gracias, Hostinger Y aquí quiero parar para dar las gracias. Todo este trabajo —las 911 horas, los 6.335 plugins, los desarrollos, los posts, los eventos— no habría sido posible sin el patrocinio de **Hostinger**, que lleva ya tiempo apoyando mi tiempo dedicado al proyecto. En el modelo «Five for the Future» de WordPress, los patrocinios son lo que hace que la gente como yo podamos dedicar horas reales y consistentes al proyecto, en lugar de robarle tiempo a las noches y los fines de semana. Hostinger no solo ha financiado mi tiempo: ha entendido que contribuir a WordPress.org es contribuir al ecosistema entero, y al final también es bueno para sus clientes y para la web abierta. Gracias de verdad. Sin vosotros, ni el proyecto Proactive, ni Plugin Check 1.9, ni la 2.0 que viene, ni ninguna de las herramientas internas habrían existido en el calendario que existieron. ## Y al equipo Y por supuesto, gracias al **Plugins Team**. Trabajar con un grupo de gente repartida por todo el mundo, con horarios imposibles, que se cubre las espaldas, que debate las decisiones difíciles con respeto, y que tiene paciencia infinita con los autores de plugins, es un privilegio que no se ve todos los días. A por el cuarto año. Y a por la 2.0. --- ## De WordCamp a la meta: un fin de semana entre comunidad y carrera URL: https://davidperezgar.com/blog/eventos/wordcamp-malaga-media-maraton-26/ **¡Vaya fin de semana movido!** Entre WordCamp Málaga y la Media Maratón de Granada, el fin de semana se me pasó volando. Dos eventos muy distintos, pero los dos con mucha gente, mucha energía y bastante trabajo detrás. ## **WordCamp Málaga: contribuidores, IA local y buenas conversaciones** Este año fui a la WordCamp Málaga con una agenda bastante cargada. Junto con Fran Torres, llevé la mesa del equipo de contribuidores de Plugins, y la verdad es que fue una de las mesas más concurridas del contributor day. Buen síntoma. Lo más interesante de la jornada fue conocer en persona a Fellyph Cintra, del proyecto Playground. Llevábamos tiempo coordinando cosas de forma remota entre los dos equipos, y tener esa conversación cara a cara marcó la diferencia. Salieron ideas concretas que vamos a poner en marcha en las próximas semanas, así que habrá novedades por ahí. Quiero agradecer a Hostinger que patrocina mi tiempo de dedicación a la comunidad WordPress. Sin ese apoyo, este tipo de contribución sería mucho más difícil de sostener. Presentando a Yannick. Foto Koke Pérez Y CLOSE también estuvo presente como patrocinadora del evento, porque creemos que apostar por este tipo de encuentros y por el open source tiene todo el sentido. Foto realizada por Nilo Vélez De las charlas, me quedé con dos. La de **Fede Padilla sobre IA local** fue especialmente interesante, y creo que es un tema que va a dar mucho que hablar en entornos empresariales. La gracia de ejecutar modelos de IA en local es que los datos no salen de tu infraestructura, lo que lo hace viable para sectores con requisitos estrictos de privacidad: legal, salud, banca, cualquier empresa que maneje información sensible. Y las posibilidades son amplias: desde asistentes internos hasta procesamiento de documentos o automatizaciones sin depender de APIs externas. También estuve en la charla de Santiago Ponce, con estrategias de ecommerce muy aplicables para tiendas grandes, de esas donde el volumen de producto y la arquitectura de la información marcan la diferencia entre vender bien o regular. Aquí tienes las fotos y videos de la WordCamp. ## **Media Maratón de Granada: ciudad, carrera y 2,8 millones de visualizaciones** El sábado al mediodía, vuelta a Granada para la Media Maratón. CLOSE es patrocinadora del evento y además somos la empresa oficial de comunicación de la carrera, así que el día no fue exactamente de espectador. Estuve con Fran y Álvaro apoyando por si hacía falta algo, pero ellos son los máquinas: cobertura en redes, contenido en tiempo real, coordinación con los distintos puntos del recorrido. Y parece que funcionó. Llegamos a 2,8 millones de visualizaciones entre Instagram, Facebook y TikTok, lo que supone un 40% más que el año pasado, cuando cerramos en 2 millones. Tuve además una entrevista con TG7 para hablar del trabajo de comunicación de CLOSE en la carrera. Luego estuve en la entrega de premios junto con el concejal de deportes, y ahí fue cuando te das cuenta del impacto real del evento. La Cuesta de Gómeres estaba a reventar. La ciudad se vuelca con esta carrera de una manera que pocas veces ves, y eso es algo que no te lo dan los datos. Bueno, de vuelta al teclado. Pero con la cabeza llena de ideas y conversaciones pendientes de convertir en cosas concretas. --- ## Meetup WordPress Granada: diseño, IA y comunidad (con lleno absoluto) URL: https://davidperezgar.com/blog/meetup-wordpress-granada-diseno-ia-y-comunidad-con-lleno-absoluto/ Ayer estuve en la meetup de WordPress Granada y la sensación fue clara desde el minuto uno: **evento lleno y comunidad muy viva**. De hecho, comentaban que probablemente fue de las meetups con más asistencia en bastante tiempo. El ambiente fue el de siempre (que es justo lo bueno): gente de perfiles distintos —desarrollo, diseño, marketing— con ganas de aprender, compartir y, sobre todo, charlar después con unas pizzas de por medio. * 5641DD5A-A761-4ADC-B99A-0938FEC90A04 B41B368D-F44A-4393-9C8F-CC76FAC9F165 Tabla de contenidos Toggle - Comunidad y contexto - La charla: diseño con IA en WordPress (Ana Cirujano) 1. Cómo integrar la IA en el proceso de diseño - 2. El problema real no es la IA, es cómo la usamos - 3. Limitaciones actuales (muy importante) - Herramientas interesantes que salieron - Parte divertida: “cómo no usar la IA” - Conclusión personal ### Comunidad y contexto Antes de la charla, se hizo una pequeña introducción que resume bastante bien lo que es la meetup: - Es un grupo que se reúne mensualmente en Granada - Se tocan temas muy variados: WordPress, marketing, SEO… y últimamente IA - El valor real está tanto en las charlas como en el networking posterior También se comentaron eventos del ecosistema WordPress (WordCamp Madrid reciente, Málaga en abril, Europa en junio), lo que refuerza esa sensación de comunidad activa y conectada. Y detalle importante: agradecimiento a los patrocinadores (entre ellos Close 👀), y a Trevenque por el espacio. ## La charla: diseño con IA en WordPress (Ana Cirujano) La charla la dió Ana Cirujano, que vino a hablar de algo muy actual: **cómo encaja la IA en el proceso real de diseño web**. La charla estaba organizada en tres bloques bastante claros: ### 1. Cómo integrar la IA en el proceso de diseño Aquí la idea principal fue bastante aterrizada: 👉 La IA ayuda, pero **no sustituye el pensamiento de diseño**. Repasó todo el flujo típico: - Discovery (entender cliente, usuario, mercado) - Estructura y wireframes - Contenido - Diseño - Validación Y en cada fase explicó cómo usar IA de forma útil. Un ejemplo muy claro: - Puedes usar IA para investigar competencia o generar ideas - Pero **no sustituye hablar con usuarios reales** Esto es importante porque muchas veces caemos en “pregunto a la IA y listo”, y no va por ahí. ### 2. El problema real no es la IA, es cómo la usamos Aquí hubo uno de los puntos más interesantes: 👉 **El resultado depende directamente del contexto que le das** Ejemplo muy claro de la charla: - Prompt simple: “haz una web de un curso de WordPress”* → resultado genérico - Prompt completo (briefing real) → resultado mucho más alineado La clave: ** Un buen prompt es básicamente un buen briefing Es decir: - objetivos - usuario - tono - estructura - referencias Exactamente lo mismo que le pedimos a un cliente. ### 3. Limitaciones actuales (muy importante) Aquí bajó todo a tierra, que se agradece: - La IA genera cosas “correctas”, pero muy parecidas entre sí** - Cuesta llevar diseños directamente a producción en WordPress - En prototipos ayuda mucho, pero no sustituye el trabajo final Y algo clave: 👉 Si no sabes de diseño, la IA te puede engañar**👉 Si sabes de diseño, la IA te acelera ## Herramientas interesantes que salieron Se mencionaron varias, pero estas son las más destacables: - Figma Make / Google Stitch** → para generar interfaces rápidas - **Telex (de Automattic)** → para crear bloques y temas de WordPress con prompts - **Comet (Perplexity)** → para analizar usabilidad automáticamente Especialmente interesante Telex, porque conecta directamente con WordPress y permite generar bloques reutilizables. ## Parte divertida: “cómo no usar la IA” La charla terminó con una especie de juego que en realidad era una masterclass encubierta 😄 Algunas ideas clave que salieron: - Si la IA cambia más de lo que quieres → no has sido específico - Si el copy es genérico → no le has dado tono ni contexto - Si iteras sin parar → probablemente el problema es el prompt - Si el diseño se degrada → empieza de nuevo con un prompt mejor Y una conclusión muy buena: 👉 **La IA no piensa, completa patrones** ## Conclusión personal Para mí, lo más interesante de la meetup fue esto: - No se planteó la IA como sustituto - Se enfocó en cómo usarla de forma práctica en el día a día - Un buen prompt, necesita buena preparación Y sobre todo, refuerza algo que cada vez tengo más claro: 👉 La diferencia no la marca la herramienta👉 La marca el criterio de quien la usa --- ## WordCamp Madrid’26 URL: https://davidperezgar.com/blog/comunidad-wordpress/wordcamp-madrid26/ Este año he estado en **WordCamp Madrid**, un evento que siempre es una gran oportunidad para compartir con la comunidad de WordPress, aprender cosas nuevas y seguir aportando al proyecto. Además, esta vez pude disfrutarlo **junto a mi equipo de la agencia de marketing Close: Sacra, Laura, Álvaro y Castellón**, lo que siempre hace que me lo pase mucho mejor. El **viernes participé en el Contributor Day**, donde estuve coordinando la **mesa del equipo de Plugins**. Durante la jornada trabajamos con varias personas interesadas en empezar a contribuir al repositorio de plugins de WordPress.org: explicamos cómo funciona el equipo, revisamos procesos y ayudamos a nuevos contribuidores a entender cómo pueden empezar a participar. También quiero **agradecer a Hostinger**, que contribuye con parte de mi tiempo para poder dedicarlo al ecosistema de WordPress y al trabajo dentro del equipo de Plugins. Este tipo de apoyo por parte de las empresas es clave para que el proyecto siga avanzando. Además, durante una de las charlas del evento, **Fernando Tellado de Ayuda WordPress tuvo un gesto muy bonito mencionando y reconociendo el trabajo que realizo dentro del equipo de Plugins de WordPress**. Fue un momento **muy emotivo del que estoy bastante agradecido**, sobre todo porque el trabajo en el proyecto suele ser bastante silencioso y muchas veces pasa desapercibido. (Dejo por aquí el corte del momento). Durante el fin de semana también me tomé nota de varias charlas en la que pude asistir. Tabla de contenidos Toggle - Consent Mode, Gateway y Server Side – Pablo Moratinos - SEO y GEO en WordPress sin plugins – Fernando Tellado - Seguridad en WordPress – Luis Molina - Plugins con IA – Dámaso - Conclusión ### **Consent Mode, Gateway y Server Side – Pablo Moratinos** Una de las ideas más claras de la charla es que **las cookies de terceros prácticamente han desaparecido**. Hoy todos los navegadores las bloquean salvo Chrome, y esa situación también acabará cambiando. Por eso están apareciendo soluciones basadas en **Gateways y tracking server-side**, utilizando infraestructuras como **Cloudflare o Akamai**, que permiten gestionar mejor el consentimiento y el envío de datos de analítica. La conclusión es clara: el modelo clásico de medición basado en cookies del navegador ya no es suficiente y hay que empezar a pensar en arquitecturas más robustas. ### **SEO y GEO en WordPress sin plugins – Fernando Tellado** Una charla muy interesante porque planteaba cómo está cambiando el SEO con la llegada de la IA. Fernando contaba su experiencia tras perder gran parte de su tráfico y cómo lo ha recuperado adaptando el contenido a los nuevos resultados generados por IA. Algunas ideas clave: - Las **IA ya no enlazan contenido de tipo “cómo hacer algo”**, simplemente lo generan directamente en los resultados. - En cambio **sí enlazan en búsquedas más transaccionales o específicas**. - Los **titles y meta descriptions cada vez tienen menos peso**. - Lo realmente importante vuelve a ser **el contenido en sí**. Recomendaciones interesantes: - Crear **contenidos muy profundos** (por ejemplo 14.000 palabras o 40-50 minutos de lectura). - Que **cada párrafo tenga sentido por sí mismo**. - Usar **tablas**, porque a la IA le gustan mucho para interpretar información. - **Actualizar contenido regularmente**. También comentó varios plugins relacionados con IA, como **AI Content Signals, AI Share & Summarize o VigIA**, y mencionó que **AI Studio podría llegar al core de WordPress en abril**. Otro detalle curioso: recomienda que las webs **no superen los 2 MB** para facilitar el rastreo. ### **Seguridad en WordPress – Luis Molina** Una charla muy práctica con varias ideas que merece la pena aplicar. Primero, no todo tiene que vivir dentro de WordPress. Muchas veces es mejor **reducir superficie de ataque** y mover cosas fuera cuando sea posible. Principios clave: - **Muchas capas de seguridad y poca superficie de ataque** - **Eliminar todo lo que no sea imprescindible**: plugins innecesarios, funcionalidades duplicadas o cosas instaladas “por si acaso”. También insistió mucho en la importancia de **documentar procesos**, algo que muchas empresas no hacen. Por ejemplo: - Procedimientos de acceso a webs - Protocolos de seguridad - Gestión de incidencias Herramientas y prácticas recomendadas: - **wpscan.com** para auditorías de seguridad. - Probar regularmente **las copias de seguridad**. - **No almacenar todas las copias en el mismo lugar**. - Tener **procedimientos claros para actuar ante una infección**. ### **Plugins con IA – Dámaso** Otra charla centrada en cómo la IA está empezando a integrarse en el desarrollo de plugins y en herramientas para diseñadores. La idea principal es que vimos que cada vez más **plugins que incorporen capacidades de IA directamente dentro de WordPress**, integrándose en los flujos de trabajo habituales de creación de contenido y desarrollo. ## **Conclusión** La WordCamp dejó varias ideas claras: - El ecosistema de WordPress sigue muy vivo gracias a la **comunidad y la contribución**. - **La IA está cambiando el SEO y la forma de crear contenido**. - Seguiremos viendo **cada vez más integración de IA dentro del propio WordPress**. - Y sigue siendo fundamental algo básico que a veces olvidamos: **seguridad, procesos y documentación**. Además, el Contributor Day sigue siendo **uno de los momentos más interesantes del evento**, porque permite ver cómo funciona WordPress por dentro y ayudar a que más gente empiece a contribuir. 🚀 Fotos oficiales de la WordCamp, gracias a Nilo Vélez, Roberto Vázquez y Sebastián Echeverri. --- ## Cómo instalar WordPress Agent Skills en Mac URL: https://davidperezgar.com/blog/desarrollo-web/como-instalar-wordpress-agent-skills-en-mac/ Los asistentes de IA como Claude Code, Cursor o Copilot son potentes, pero cuando trabajan con WordPress tienden a generar código anticuado, saltarse patrones de seguridad o ignorar las buenas prácticas de bloques y temas. **WordPress Agent Skills** son paquetes de instrucciones que enseñan a estos asistentes a trabajar correctamente con WordPress. En lugar de adivinar, siguen procedimientos documentados por expertos. En esta entrada te explico cómo instalarlos en tu Mac paso a paso. Tabla de contenidos Toggle - Qué son las Agent Skills - Requisitos previos - Instalación con npx skills (recomendado) Ver las skills disponibles - Instalar skills específicas para Claude Code - Instalar para otro agente - Instalar todas las skills - Elegir entre instalación global o por proyecto - Gestión de skills: actualizar y eliminar Buscar Skills - Comprobar actualizaciones - Actualizar - Eliminar una skill - Ver skills instaladas - Qué skills instalar según tu proyecto - Cómo funcionan internamente - Conclusión ## Qué son las Agent Skills Son carpetas con archivos Markdown (SKILL.md) que contienen instrucciones, checklists y scripts. Cuando tu agente de IA lee estas skills, sabe cómo: - Crear bloques Gutenberg correctamente con block.json - Desarrollar plugins siguiendo la arquitectura de hooks y la Settings API - Trabajar con temas de bloques, theme.json y patrones - Usar la REST API, la Interactivity API o WP-CLI - Aplicar buenas prácticas de rendimiento y seguridad El repositorio oficial es WordPress/agent-skills y está mantenido por Automattic. ## Requisitos previos Solo necesitas **Node.js** instalado en tu Mac. Si no lo tienes: **Copy# Con Homebrew brew install node # Verifica la instalación node -v npm -v Y, por supuesto, tener instalado el agente donde quieras usar las skills (Claude Code, Cursor, etc.). ## Instalación con npx skills (recomendado) La forma más rápida es usar el CLI de skills.sh, que no requiere instalación previa. Se ejecuta directamente con npx. ### Ver las skills disponibles Copynpx skills add https://github.com/WordPress/agent-skills --list Esto te muestra todas las skills del repositorio: SkillQué enseñawordpress-router**Clasifica repos WordPress y enruta al flujo correcto**wp-project-triage**Detecta tipo de proyecto, herramientas y versiones**wp-block-development**Bloques Gutenberg: block.json, atributos, renderizado, deprecaciones**wp-block-themes**Temas de bloques: theme.json, plantillas, patrones, variaciones de estilo**wp-plugin-development**Arquitectura de plugins, hooks, Settings API, seguridad**wp-rest-api**Rutas REST, esquemas, autenticación y respuestas**wp-interactivity-api**Interactividad frontend con directivas data-wp-***wp-abilities-api**Permisos basados en capabilities y autenticación REST**wp-wpcli-and-ops**Comandos WP-CLI, automatización, multisite**wp-performance**Profiling, caché, optimización de base de datos**wp-phpstan**Análisis estático PHPStan para WordPress**wp-playground**WordPress Playground para entornos locales instantáneos**wpds**WordPress Design System ### Instalar skills específicas para Claude Code **Copynpx skills add https://github.com/WordPress/agent-skills \ --agent claude-code \ --skill wordpress-router \ --skill wp-project-triage \ --skill wp-block-development \ --skill wp-block-themes \ --skill wp-plugin-development El CLI te preguntará si quieres instalarlas de forma global** (disponibles en todos tus proyectos) o **por proyecto** (solo en el directorio actual). Para instalarlas directamente de forma global, añade --global: **Copynpx skills add https://github.com/WordPress/agent-skills \ --agent claude-code \ --skill wp-plugin-development \ --skill wp-rest-api \ --global ### Instalar para otro agente Cambia el flag --agent. Puedes incluso instalar para varios a la vez: Copynpx skills add https://github.com/WordPress/agent-skills \ --agent claude-code \ --agent cursor \ --skill wp-block-development \ --skill wp-plugin-development ### Instalar todas las skills Si quieres instalar todo el paquete completo: Copynpx skills add https://github.com/WordPress/agent-skills --all --global ## Elegir entre instalación global o por proyecto - Global** (--global): Las skills se guardan en el directorio de configuración de tu agente (por ejemplo, ~/.claude/skills/). Están disponibles en todos tus proyectos. - **Por proyecto**: Las skills se copian dentro del directorio del proyecto. Útil cuando trabajas en equipo y quieres que todos tengan las mismas instrucciones. Mi recomendación: si trabajas en varios proyectos WordPress, instala globalmente. Si tienes un proyecto específico con necesidades concretas, instala por proyecto. ## Gestión de skills: actualizar y eliminar ### Buscar Skills **Copynpx skills find ### ### Comprobar actualizaciones Copynpx skills check ### Actualizar Copynpx skills update ### Eliminar una skill Copynpx skills remove wp-block-themes Importante: usa el mismo alcance (global o proyecto) que usaste al instalar. Si instalaste con --global, las operaciones de actualización y eliminación también deben ser globales. ### Ver skills instaladas Copynpx skills list ## Qué skills instalar según tu proyecto No necesitas instalar todas. Elige según lo que estés desarrollando: - Desarrollo de bloques / Gutenberg**: wp-block-development y wp-interactivity-api - **Temas de bloques**: wp-block-themes y wpds - **Desarrollo de plugins**: wp-plugin-development y wp-abilities-api - **Operaciones y WP-CLI**: wp-wpcli-and-ops - **Rendimiento y calidad**: wp-performance y wp-phpstan Si vas a hacer un refactor grande que toque bloques, temas y plugins, instala todas. ## Cómo funcionan internamente Cada skill tiene esta estructura: **Copyskills/wp-block-development/ ├── SKILL.md # Instrucciones principales ├── references/ # Documentación detallada │ ├── block-json.md │ ├── deprecations.md │ └── ... └── scripts/ # Helpers de detección y validación └── list_blocks.mjs Cuando le pides a tu agente que trabaje con código WordPress, lee estas skills y sigue los procedimientos documentados en lugar de inventar. Es como darle un manual de buenas prácticas que consulta automáticamente. ## Conclusión Las WordPress Agent Skills son una forma sencilla de mejorar la calidad del código que generan los asistentes de IA. Con un solo comando npx las tienes funcionando en tu Mac, sin complicaciones. Si trabajas con WordPress y usas herramientas como Claude Code o Cursor, te recomiendo instalarlas. La diferencia entre un agente que «adivina» y uno que sigue las mejores prácticas se nota en cada línea de código. Referencias:** - Repositorio oficial WordPress/agent-skills - Documentación Agent Skills – WordPress.com - Skills CLI (skills.sh) --- ## Congreso ITN Granada: IA aplicada a la estrategia comercial — lo que me llevé URL: https://davidperezgar.com/blog/eventos/congreso-itn-granada-ia-aplicada-a-la-estrategia-comercial-lo-que-me-lleve/ El pasado 17 de febrero asistí al congreso ITN organizado por EIG y Stezano Consulting en el Palacio de Congresos de Granada. Tres horas y media de ponencias sobre inteligencia artificial aplicada al negocio, con demos en directo y participación del público. Te cuento lo que dio de sí. Tabla de contenidos Toggle - El contexto: no es hype, son datos - Bloque 1: Herramientas prácticas (sin código, sin excusas) - Una reflexión desde el lado del desarrollo - Bloque 2: Estrategia comercial con IA (Héctor Estezano) - Lo que me llevo ### El contexto: no es hype, son datos La primera parte del evento la protagonizó **Antonio del Águila**, formador en IA, que arrancó situando dónde estamos. La IA no es una revolución más: las anteriores (vapor, electricidad, informática) tardaron entre 30 y 80 años en completarse. Esta va en meses. ChatGPT llegó al millón de usuarios en 5 días; hoy son 1.200 millones semanales. Los datos que manejó: - El FMI estima que el **40% del empleo global** está expuesto al impacto de la IA - McKinsey habla de automatizar el **30% de las horas trabajadas** en sectores como marketing, ventas o programación - Para 2030 se prevén 92 millones de puestos de trabajo transformados El mensaje de fondo: los jóvenes son nativos digitales, pero la experiencia de negocio la tienes tú. La IA multiplica ese conocimiento. Sin él, se convierte en ruido. ### Bloque 1: Herramientas prácticas (sin código, sin excusas) Antonio hizo demos en directo de varias herramientas. Algunas ya las conocía, pero verlas funcionar con casos reales del público tiene otro impacto. **Gamma** — Creación de webs en minutos a partir de un prompt con la descripción de tu empresa. Versión gratuita con hasta 3 páginas. Sin tocar código, con imágenes generadas por IA integradas. **ManyChat / Benichat** — Automatización de respuestas en Instagram y Facebook. El caso de uso claro: alguien comenta una palabra clave en tu publicación y recibe automáticamente un DM con información, catálogo o enlace. 24/7, sin intervención humana. El dato que puso encima de la mesa: contestar en el primer minuto puede aumentar conversiones un 391% (Velocify). **ElevenLabs** — Asistente de voz con IA. Se configura en 5 minutos, entiende y habla en múltiples idiomas, captura datos del cliente (nombre, teléfono, email) a lo largo de la conversación y los vuelca a un CRM o Excel. Hizo una demo en directo simulando una inmobiliaria: funcionaba bien, con respuestas coherentes y recogida de datos limpia. **HeyGen** — Clonación de avatar. Grabas 15 segundos de vídeo y genera un avatar tuyo que habla cualquier idioma. Sirve para contenido de redes, onboarding interno o comunicaciones en idiomas que no dominas. **Base44** — La demo más impactante del bloque. Creó una app de e-commerce funcional para una pescadería (elegida por votación del público) en directo, en minutos, con carrito de compra, panel de administración y gestión de pedidos. Sin una línea de código. Impresiona verlo. Y es útil para validar una idea rápido o tener un prototipo con el que enseñar algo a un cliente. Pero hay que entender qué es lo que tienes en la mano: un punto de partida, no un producto terminado. El código generado por IA funciona en el momento de la demo, pero no está optimizado, acumula deuda técnica desde el minuto uno y en cuanto necesitas personalizarlo o escalar, el mantenimiento se complica. Sin un desarrollador detrás, cualquier cambio puede romper lo que ya funciona. Lo que antes costaba varios miles de euros y semanas de trabajo tenía detrás a alguien que conocía cada línea. Esto no. ### Una reflexión desde el lado del desarrollo Me dedico a hacer aplicaciones web y diseño web, así que tengo algo que añadir aquí. Las herramientas de generación de código con IA son útiles. Las uso. Pero hay una distancia importante entre lo que ves en una demo de 10 minutos y lo que necesita un negocio real. El código que genera una IA sin supervisión tiende a funcionar para el caso concreto que le pides, pero no está pensado para crecer, para que otra persona lo entienda, ni para que sea fácil de modificar seis meses después. No sigue convenciones, no tiene tests, no está documentado. Cuando algo falla, y falla, no hay nadie que entienda por qué. Esto no significa que estas herramientas no tengan valor. Lo tienen, y mucho, en manos de alguien que sabe lo que está haciendo. Un desarrollador puede usar IA para ir más rápido, para prototipar, para automatizar tareas repetitivas. El resultado final sigue siendo código revisado, estructurado y mantenible. El problema es cuando se presenta como una sustitución directa. Una app creada en 5 minutos con Base44 puede servir para validar si hay demanda, para mostrar un concepto a un cliente o para salir del paso en un caso muy concreto. Pero si el negocio crece, si necesitas integraciones, pagos reales, lógica personalizada o simplemente que alguien lo mantenga, vas a necesitar a alguien que entienda lo que hay debajo. La IA baja la barrera de entrada. Eso es bueno. Pero no elimina la necesidad de criterio técnico, igual que tener acceso a una sierra no te convierte en carpintero. ### Bloque 2: Estrategia comercial con IA (Héctor Estezano) La segunda parte la llevó **Héctor Estezano**, consultor de ventas. Aquí el tono cambió: menos herramientas, más metodología. Su premisa de entrada: **«La IA sin estrategia distrae. Con foco, multiplica.»** Trabajó con el público un flujo de prompts encadenados en ChatGPT, todos orientados a construir una estrategia comercial desde cero. El proceso: - **Descripción del producto** — punto de partida para todo lo demás - **Análisis de características** → transformadas en experiencias del cliente - **Promesa de valor** — qué transformación espera el cliente - **Segmentación** — hasta 5 segmentos de cliente con alta probabilidad de compra - **Avatar de cliente** — puntos de dolor, motivaciones, miedos, objeciones - **Hábitat del cliente** — dónde encontrarle (LinkedIn, Instagram, eventos…) - **Estudio de mercado y ventaja competitiva** — usando el modo agente de ChatGPT para navegar webs de competidores y extraer datos - **Embudos de venta** — identificar canales activos, medir métricas por fase y convertir objetivos de facturación en acciones concretas Sobre los prompts, explicó bien la diferencia entre el uso básico (rol + tarea) y el avanzado (rol + habilidad específica + tarea + audiencia + contexto + formato de salida). La calidad de la respuesta depende directamente de la calidad del prompt. No es magia, es precisión. Un punto que se repitió varias veces: **las objeciones del cliente deben estar identificadas antes de la venta**. Si las nombras tú primero, te acercan al cierre. Si las dice el cliente después de escuchar el precio, te alejan. ### Lo que me llevo - El **modo agente de ChatGPT** (versión de pago) es probablemente lo más potente que se mostró: navega webs, extrae datos, abre PDFs y ejecuta tareas complejas en modo autónomo. Para investigación de mercado o análisis de competidores, cambia completamente los tiempos. - **Base44** tiene valor como herramienta de prototipado rápido. Para producción real, necesita trabajo encima. - El flujo de prompts de Estezano es exportable a cualquier negocio. No requiere conocimientos técnicos, solo claridad sobre lo que vendes. - La ventaja real no está en las herramientas, está en saber qué pedirles y qué hacer con lo que devuelven. El evento fue gratuito y presencial. El formato funcionó: ver las demos en directo, con errores incluidos, da más confianza que un vídeo editado. Si tienes ocasión de asistir a algo similar, merece la pena.¿Quieres que ajuste el tono de la reflexión, que sea más o menos directo, o que añadas algún ejemplo concreto tuyo --- ## Proteger WordPress desde dentro: cómo funciona realmente el equipo de plugins URL: https://davidperezgar.com/blog/charlas/proteger-wordpress-desde-dentro-como-funciona-realmente-el-equipo-de-plugins/ Ayer tuve la oportunidad de pasarme por el podcast **Un billete a Chattanooga**, al que os animo que os suscribáis, presentado por Ana Cirujano y Pablo Moratinos, para hablar de uno de los temas menos visibles —pero bastante importante— del ecosistema WordPress: la seguridad y revisión de plugins desde dentro del directorio oficial. Durante la charla explicamos qué hace exactamente el equipo de plugins de WordPress y por qué su trabajo es clave para millones de webs en todo el mundo. El objetivo principal del equipo no es decidir si un plugin es “bueno” o “malo”, sino garantizar que sea **seguro, transparente y honesto** con las personas que lo instalan. Comentamos cómo ha crecido el número de plugins enviados al directorio en los últimos años, pasando de poco más de 150 a más de 300 envíos semanales, y cómo este crecimiento ha obligado a mejorar herramientas, procesos y criterios de revisión. Hoy en día se combinan revisiones manuales con herramientas automáticas de análisis para detectar problemas de seguridad, malas prácticas o errores comunes antes de que un plugin se publique. También hablamos de aspectos que generan muchas dudas entre desarrolladores y usuarios: - Qué se permite y qué no en el directorio oficial. - Por qué algunos plugins se cierran o se rechazan. - Cómo funciona el modelo freemium y qué límites tiene. - Por qué los plugins abandonados o inseguros acaban desapareciendo del directorio. Otro punto importante de la conversación fue el papel de la comunidad. WordPress no se sostiene solo por el core, sino por miles de personas que revisan, reportan problemas, traducen, documentan y mejoran herramientas. El directorio de plugins es un ejemplo claro de ese trabajo colectivo. La charla cerró con una reflexión sobre el futuro de WordPress, la llegada de la IA y cómo todo esto no sustituye al ecosistema, sino que lo obliga a evolucionar y a elevar el nivel de calidad. Si trabajas con WordPress —como desarrollador, agencia o usuario— entender qué pasa “detrás” del directorio te ayuda a tomar mejores decisiones y a valorar un trabajo que normalmente no se ve, pero que es fundamental para que todo funcione. ¿Quieres ver la entrevista completa? Te comparto --- ## WordPress Day Granada: ciberseguridad aplicada al mundo real URL: https://davidperezgar.com/blog/eventos/wordpress-day-granada-ciberseguridad-aplicada-al-mundo-real/ Ayer se celebró en Granada una jornada centrada en uno de los temas más críticos para cualquier proyecto digital: la **ciberseguridad en WordPress**. El evento, organizado en el **Centro de Datos de Trevenque**, reunió a perfiles técnicos, agencias, desarrolladores, responsables de ecommerce y profesionales del marketing con un objetivo común: entender los riesgos reales y cómo prevenirlos. Más allá de la teoría, las charlas se enfocaron en **casos reales, métricas claras y decisiones prácticas** que afectan directamente al negocio. Tabla de contenidos Toggle - Una idea clave que lo resume todo - Señales tempranas y ataques en curso - WordPress y los vectores de entrada más comunes - 2025: nueva regulación y nuevas responsabilidades - Herramientas y buenas prácticas - Ponentes y comunidad - Conclusión ### Una idea clave que lo resume todo ** Una web hackeada es siempre más cara que una web caída.** No solo por el coste técnico, sino por el impacto en reputación, ventas, campañas publicitarias, posicionamiento en Google e incluso consecuencias legales. ### Señales tempranas y ataques en curso Uno de los mensajes más repetidos fue que **el servidor siempre avisa**. El problema es que muchas veces no se están mirando los avisos adecuados. Algunos datos relevantes: - El **51% del tráfico en internet son bots**. - Del total, un **37% corresponde a bots maliciosos**. - La mayoría de ataques siguen cuatro fases claras: Reconocimiento - Explotación - Persistencia - Abuso o monetización Cuando se detectan síntomas visibles (redirecciones, cambios en contenidos, avisos de Google o suspensión del hosting), el ataque suele estar ya en fases avanzadas. ### WordPress y los vectores de entrada más comunes Se desmontó uno de los grandes mitos: **WordPress no se hackea “porque sí”**. En la mayoría de los casos, el origen está claro: - Vulnerabilidades en código legítimo sin parchear - Falta de mantenimiento continuo - Credenciales débiles o comprometidas - Código introducido manualmente sin control (“lo has metido tú”) La seguridad no depende de un plugin milagro, sino de **procesos, control y disciplina técnica**. ### 2025: nueva regulación y nuevas responsabilidades La jornada también puso el foco en el **Cyber Resilience Act (CRA)**, que apunta a convertirse en el equivalente a la GDPR en materia de ciberseguridad. Algunos conceptos clave: - Seguridad **por defecto** y **desde el diseño** - Gestión continua de vulnerabilidades - SBOM (Software Bill of Materials) - Mayor exigencia de transparencia, documentación y control - Responsabilidades claras y posibles sanciones El mensaje es claro: ya no vale con reaccionar cuando hay un problema. La prevención pasa a ser obligatoria. ### Herramientas y buenas prácticas Entre las recomendaciones prácticas, destacó el uso de **Plugin Check Plugin** como herramienta esencial para detectar problemas de seguridad en el desarrollo y mantenimiento de plugins WordPress. Me alegra este último término ya que actualmente contribuyo a este proyecto gracias a pertenecer al equipo de Plugins. El objetivo operativo es ambicioso, pero necesario:**cero vulnerabilidades conocidas en producción**. ### Ponentes y comunidad La jornada contó con ponencias de gran nivel por parte de: - **Néstor Angulo** (Head of Security en Patchstack) - **Javier Varón** (Administrador de Sistemas Linux en Trevenque Group) - **Francisco Torres** (Consultor WordPress y Responsable del Equipo Global de Plugins de WordPress) - **Luis Molina** (Responsable de Tecnología WordPress en Trevenque Group) - **Guillermo Hidalgo** (Maio Legal) Además, fue una excelente oportunidad para reencontrarse con la comunidad WordPress y compartir impresiones con profesionales como **Sacra Jáimez**, **Fede Padilla**, **Jesús Yesares**, **Miguel Ángel Pérez**, **Antonio Cantero**, entre muchos otros. ### Conclusión La ciberseguridad en WordPress no es un extra ni un “ya lo veremos”. Es **parte directa del negocio**.Detectar antes, mantener siempre y reducir riesgos de forma continua es la única estrategia viable para proyectos en producción. Eventos como este ayudan a poner foco en lo importante y a tomar decisiones técnicas con impacto real. --- ## State of the Word 2025 Scaner automáticos en actualizaciones URL: https://davidperezgar.com/blog/comunidad-wordpress/state-of-the-word-2025-scaner-automaticos-en-actualizaciones/ En el State of the Word 2025 tuvimos la oportunidad de conocer las novedades en el proyecto WordPress, no sólo de software sino también es una gran comunidad de la que tengo el orgullo de formar parte. Actualmente formo parte del equipo de Plugins, y desde hace poco, también soy Team Rep. Nuestro trabajo está basado en revisar los NUEVOS plugins que se envían al directorio, así como trabajar en las herramientas que facilitan la revisión no sólo de seguridad sino también de cumplimiento de buenas prácticas. Desde la pasada WordCamp Europe, pusimos nuestro proyecto de intentar revisar no sólo los plugins nuevos, sino también los actuales, para **mejorar la seguridad de todo el ecosistema**. Pues desde el 17 de septiembre, se están analizando todos los plugins que reciben una actualización de forma automática. No sólo se quedará ahí, sino que se comunicará a los autores los errores para que puedan solucionarlo y que que vayan mejorando sus propios plugins de forma autónoma. Esto es así, ya que actualmente tenemos en nuestro directorio cerca de 60.000 plugins. Este último avance se comunicó en la pasada State of the Word, a iniciativa de Matt Mullenveg. Fue un gran momento en lo personal, de como la contribución en el proyecto WordPress, puede beneficiar a mucha gente. La idea no sólo se queda aquí, sino también está la de incluir la IA en los análisis que sean mas certeros, además de la posibilidad de hacer un Scaner de todo el Directorio y crear un valor de Seguridad y Compliance para los plugins. Proactivamente iremos creando iniciativas que mejoren los plugins, una de las partes más vulnerables en lo que a seguridad se refiere. En los próximos meses, esperamos poder ir mejorando más en nuestra herramienta pública de Escáner para los desarrolladores WordPress: Plugin Check Plugin. --- ## Analiza tu código automáticamente con PHPSTAN URL: https://davidperezgar.com/blog/desarrollo-web/analiza-tu-codigo-automaticamente-con-phpstan/ En proyectos de WordPress, mantener un código limpio y libre de errores es fundamental para garantizar la calidad, la seguridad y la escalabilidad. Herramientas como **PHPStan** (análisis estático) y **PHPLint** (validación de sintaxis) se integran fácilmente en tus procesos de **testing automatizado**, ayudándote a detectar problemas antes de que lleguen a producción. En esta entrada aprenderás cómo añadir ambas herramientas en tu flujo de **tests para WordPress** paso a paso. Tabla de contenidos Toggle - ¿Por qué usar PHPStan? - Instalación con Composer - Configuración de PHPStan - Configuración con WooCommerce - Configuración de PHPLint - Integración con PHPUnit y GitHub Actions - Conclusión ## ¿Por qué usar PHPStan? - **PHPStan**: analiza tu código sin ejecutarlo, detectando errores de tipos, llamadas a métodos inexistentes y malas prácticas. - Ambas herramientas mejoran la **calidad del código** y facilitan la **colaboración en equipos** de desarrollo WordPress. ## Instalación con Composer Asegúrate de tener instalado Composer en tu entorno de desarrollo. Luego añade las dependencias: **Copycomposer require --dev phpstan/phpstan wp-coding-standards/wpcs szepeviktor/phpstan-wordpress phpstan/extension-installer Esto instalará ambas herramientas dentro de tu carpeta vendor/. ## Configuración de PHPStan - Crea el archivo phpstan.neon.dist en la raíz del proyecto (incluye WooCommerce): Copyparameters: level: 1 paths: - includes bootstrapFiles: - tests/phpstan-bootstrap.php excludePaths: - vendor/ - node_modules (?) Ejemplo phpstan Copy<?php /** * PHPStan Bootstrap File * * This file defines constants and functions that PHPStan needs to understand * but are not available during static analysis. */ // Define plugin constants that are used throughout the codebase if (!defined('CONHOLD_PLUGIN_URL')) { define('CONHOLD_PLUGIN_URL', 'http://localhost/wp-content/plugins/connect-ecommerce/'); } if (!defined('CONHOLD_VERSION')) { define('CONHOLD_VERSION', '1.0.0'); } if (!defined('CONHOLD_FILE')) { define('CONHOLD_FILE', __FILE__); } // Define WordPress constants that might be missing if (!defined('DOING_AJAX')) { define('DOING_AJAX', false); } if (!defined('WP_DEBUG')) { define('WP_DEBUG', false); } if (!defined('ABSPATH')) { define('ABSPATH', '/path/to/wordpress/'); } // Mock WordPress functions that PHPStan can't find if (!function_exists('wp_doing_ajax')) { function wp_doing_ajax() { return defined('DOING_AJAX') && DOING_AJAX; } } if (!function_exists('CONHOLD_get_options')) { function CONHOLD_get_options() { return []; } } // Mock Action Scheduler function if (!function_exists('as_schedule_recurring_action')) { function as_schedule_recurring_action($timestamp, $interval_in_seconds, $hook, $args = [], $group = '') { return true; } } // Mock WP_CLI class if (!class_exists('WP_CLI')) { class WP_CLI { public static function line($message) { echo $message . "\n"; } public static function add_command($command, $class) { return true; } } } Configura composer.json: Copy"scripts": { "format": "phpcbf --standard=phpcs.xml.dist", "lint": "phpcs --standard=phpcs.xml.dist", "phpstan": "phpstan analyse --memory-limit=2048M" } - Ejecuta el análisis: Copycomposer phpstan ## Configuración con WooCommerce Copycomposer require --dev php-stubs/wordpress-stubs php-stubs/woocommerce-stubs Y añadir el include en el archivo de configuración Copyparameters: bootstrapFiles: - vendor/php-stubs/wordpress-stubs/wordpress-stubs.php - vendor/php-stubs/woocommerce-stubs/woocommerce-stubs.php #- vendor/php-stubs/woocommerce-stubs/woocommerce-packages-stubs.php ## Configuración de PHPLint - Crea un archivo .phplint.yml: Copypath: . jobs: 10 extensions: - php - Ejecuta el análisis: Copycomposer lint ## Integración con PHPUnit y GitHub Actions Puedes añadir ambos chequeos en tus pipelines de CI/CD** para que cada commit o pull request pase por estas validaciones. Y añadir el archivo con tus propias reglas de Coding Standards: **Copy<?xml version="1.0"?> <ruleset name="Coding Standards for Internal Scanner Tool"> <description>Description of Plugin.</description> <exclude-pattern>*/vendor/*</exclude-pattern> <exclude-pattern>reports/*</exclude-pattern> <exclude-pattern>php/tests/*</exclude-pattern> <exclude-pattern>php/prt_phpunit/*</exclude-pattern> <arg value="ps"/> <arg name="extensions" value="php"/> <file>./plugin.php</file> <file>./includes</file> <file>./templates</file> <rule ref="WordPress"> <exclude name="Universal.Arrays.DisallowShortArraySyntax"/> <exclude name="WordPress.DB" /> <exclude name="WordPress.Files.FileName"/> <exclude name="WordPress.NamingConventions.ValidFunctionName" /> </rule> <rule ref="WordPress.WP.I18n"> <properties> <property name="text_domain" type="array" value="plugin-name" /> </properties> </rule> <rule ref="WordPress.Utils.I18nTextDomainFixer"> <properties> <property name="old_text_domain" type="array"> <element value="" /> </property> <property name="new_text_domain" value="plugin-name" /> </properties> </rule> </ruleset> De este modo, al ejecutar composer format o composer lint, se correrán PHPUnit, PHPStan y PHPLint juntos. Añadir en .github/workflows/php-lint.yml Copyname: PHP Code Linting on: push: branches: - trunk - 'release/**' # Only run if PHP-related files changed. paths: - '.github/workflows/php-lint.yml' - '**.php' - 'phpcs.xml.dist' - 'composer.json' - 'composer.lock' pull_request: branches: - trunk - 'release/**' - 'feature/**' # Only run if PHP-related files changed. paths: - '.github/workflows/php-lint.yml' - '**.php' - 'phpcs.xml.dist' - 'composer.json' - 'composer.lock' types: - opened - reopened - synchronize concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/trunk' }} jobs: php-lint: name: PHP runs-on: ubuntu-latest timeout-minutes: 20 steps: - uses: actions/checkout@v4 - uses: shivammathur/setup-php@v2 with: php-version: '8.0' - name: Validate Composer configuration run: composer validate - name: Install PHP dependencies uses: ramsey/composer-install@a2636af0004d1c0499ffca16ac0b4cc94df70565 with: composer-options: '--prefer-dist' - name: PHP Lint run: composer lint - name: PHP PHPStan run: composer phpstan ## Conclusión Integrar PHPStan y PHPLint en tus TESTs de WordPress** es una manera sencilla de elevar la calidad del desarrollo, detectar errores de forma temprana y mejorar la robustez de tus plugins y temas. Si quieres llevar tu proyecto al siguiente nivel, empieza por añadir estas herramientas en tu flujo de trabajo. 🚀👉 ¿Quieres que te prepare este artículo **en formato markdown completo y listo para publicar en WordPress** (con encabezados h2, h3, bloques de código y enlaces a las herramientas), o prefieres que lo deje en texto plano para que lo adaptes tú? Referencias: - PHPStan en WordPress https://pascalbirchler.com/phpstan-wordpress/ --- ## Desarrolla y crea Test para que tus plugins no tengan errores URL: https://davidperezgar.com/blog/charlas/desarrolla-crea-test-plugins-no-errores/ Este es el tutorial que vamos a tener en cuenta para la charla de la WordCamp Galicia 2025. Antes, dos conceptos: - Test Driven Development - Trunk Based Development Workflow Tabla de contenidos Toggle - Configurar tu plugin con Unit Tests - ¿Qué viene a continuación? - Ejecutar tests para plugins de WooCommerce - Configurar los tests automáticos en GitHub - Problemas comunes - Charla ## Configurar tu plugin con Unit Tests Esta guía está basada en la realización de Tests con PHPUNIT e instalado en el propio repositorio con composer. Es la forma más fácil de que los desarrolladores puedan compartir un mismo entorno al desarrollar el plugin. En WordPress CLI tenemos un comando para configurar nuestro plugin para instalar los archivos iniciales para realizar tests.  **Copywp scaffold plugin-tests plugin-name --ci=github Al ejecutar el comando, te instala los siguientes archivos: -  bin/install-wp-tests.sh → bash que instala entorno de pruebas. - phpunit.xml.dist → configuración de PHPUnit. - tests/bootstrap.php → carga WordPress, configuración y plugins antes de los tests. Aquí podremos poner constantes del entorno. - tests/test-sample.php → ejemplo de test. - .github/workflows/phpunit.yml → integración con GitHub Actions. Necesitamos ahora PHPUNIT en nuestro repositorio. Para tenerlo en nuestro repositorio, lo instalaremos con composer: Copycomposer require --dev yoast/phpunit-polyfills:^1.0 wp-phpunit/wp-phpunit:^6.3 Con esto instala: - WP-PHPUNIT. Una implementación del entorno de testing de WordPress usando PHPUnit. Es un fork no oficial, mantenido por la comunidad, que hace más fácil correr tests sin tener que clonar todo el core de WordPress manualmente. - PHPUNIT-Polyfills. Una librería creada por Yoast** para proporcionar compatibilidad entre múltiples versiones de **PHPUnit** y diferentes versiones de **PHP**. Te recomiendo que luego uses distignore para quitar archivos de desarrollo que no queremos que aparezcan en nuestro plugin final al crear el ZIP de distribución: **Copy# PHP Unit .github .phpcs.xml.dist .phpunit.result.cache phpunit.xml.dist phpcs.xml.dist tests/ bin/ Y como vamos a tener el repositorio en Git, añadiremos carpetas y archivos que no queremos que aparezcan. En el archivo .gitignore añadir: Copyvendor/ .phpunit.result.cache Y actualizar Composer con estos scripts para ejecutar los tests más rápido. Añadiremos los comandos correspondientes a la ejecución de tests y a la creación del entorno para facilitarnos el trabajo. Copy, "scripts": { "test": "phpunit", "test-debug": "XDEBUG_MODE=debug XDEBUG_TRIGGER=1 phpunit", "test-install": "bash bin/install-wp-tests.sh wordpress_test root 'root' 127.0.0.1 latest" } A mi me gusta organizar las carpetas por tipos de Test. En este caso crea las carpetas: Copytests/Unit tests/Data Ahora ejecutamos nuestro script para instalar nuestro entorno de pruebas de WordPress para poder crear tests. Copycomposer test-install Se habrán creado los archivos en nuestro repositorio, pero antes de ejecutar los tests, te recomiendo estos ajustes que van a prevenir errores después. Personalizaremos el archivo phpunit.xml.dist y en la linea directory quitar prefix=»test-» porque dependiendo de la versión, dará conflictos y errores. Además, he creado una subcarpeta para tener los tests en tests/Unit/. Puedes personalizarlo a tu gusto. Copy <testsuites> <testsuite name="testing"> <directory suffix=".php">./tests/Unit/</directory> </testsuite> </testsuites> Mueve el archivo test-example.php a la subcarpeta /Unit. Finalmente, te recomendaría añadir estas líneas al principio del archivo bootstrap. Sirven para definir una constante donde vamos a encontrar los datos de entrada, y también para prevenir que no haya errores con la constante WP_CORE_DIR. Copydefine( 'TESTS_PLUGIN_DIR', dirname( __DIR__ ) ); define( 'UNIT_TESTS_DATA_PLUGIN_DIR', TESTS_PLUGIN_DIR . '/tests/Data/' ); // Define WP_CORE_DIR if not already defined if ( ! defined( 'WP_CORE_DIR' ) ) { $_wp_core_dir = getenv( 'WP_CORE_DIR' ); if ( ! $_wp_core_dir ) { $_wp_core_dir = rtrim( sys_get_temp_dir(), '/\\' ) . '/wordpress'; } define( 'WP_CORE_DIR', $_wp_core_dir ); } ¡Por fin! Ya estamos listos para ejecutar los tests en nuestro plugin de WordPress: Copycomposer test Debería de aparecerte: CopyPHPUnit 9.6.24 by Sebastian Bergmann and contributors. 1 / 1 (100%) Time: 00:00.005, Memory: 42.50 MB OK (1 test, 1 assertion) Si queremos ejecutar los tests en un wordpress multisite, deberemos añadir esta constante al final en bootstrap: Copy// Enable multisite. define( 'WP_TESTS_MULTISITE', true ); ## ¿Qué viene a continuación? Ya tenemos el entorno creado en nuestro plugin, y ahora toca desarrollar. Genera datos para las funciones, ejecútalo y comprueba que los resultados esperados son los correctos. Para comprobar dichos resultados puedes usar las funciones assert de PHPUNIT. Here are the most common assert functions** you’ll use in PHPUnit: - **assertTrue($condition)** → Checks that a condition is true.** - assertFalse($condition)** → Checks that a condition is false.** - assertEquals($expected, $actual)** → Verifies that two values are equal (non-strict).** - assertSame($expected, $actual)** → Verifies that two values are the same (strict: type and value).** - assertNotEquals($expected, $actual)** → Verifies that two values are not equal.** - assertNotSame($expected, $actual)** → Verifies that two values are not the same (strict).** - assertNull($variable)** → Checks that a variable is null.** - assertNotNull($variable)** → Checks that a variable is not null.** - assertEmpty($variable)** → Checks that a variable is empty.** - assertNotEmpty($variable)** → Checks that a variable is not empty.** - assertCount($expectedCount, $array)** → Checks that an array (or countable) has the expected number of elements.** - assertContains($needle, $haystack)** → Checks that a value exists within an array or string.** - assertNotContains($needle, $haystack)** → Checks that a value does not exist within an array or string.** - assertInstanceOf($class, $object)** → Verifies that an object is an instance of a given class.** - assertIsArray($variable)**, **assertIsString($variable)**, **assertIsInt($variable)**, etc. → Type assertions.** - assertGreaterThan($expected, $actual)** → Checks that a value is greater than another.** - assertLessThan($expected, $actual)** → Checks that a value is less than another.** 👉 These are the most frequently used, but PHPUnit provides many more for specialized cases. Finalmente te recomiendo ejecutar las funciones para datos de entrada correctos y también incorrectos o que le falten datos. De esta forma, haremos nuestras funciones más robustas y preparadas para diferentes datos de entrada. A ningún usuario le gusta ver Fatal error al usar su plugin. ## Ejecutar tests para plugins de WooCommerce Si necesitas ejecutar tests y tu plugin tiene dependencias, tienes que añadir la instalación del plugin en install-wp-tests.sh y además cargarlo en _manually_load_plugin .  Vamos a hacer el ejemplo si quieres añadir el plugin de WooCommerce en tus tests. En el archivo bin/install-wp-tests.sh , antes de la linea install_wp, añade las lineas que te permiten bajar el plugin WooCommerce para las dependencias necesarias. Copy# Installs WooCommerce plugin in the test environment install_woocommerce() { local PLUGIN_DIR="$WP_CORE_DIR/wp-content/plugins" mkdir -p "$PLUGIN_DIR" WOOCOMMERCE_URL="https://downloads.wordpress.org/plugin/woocommerce.zip" download "$WOOCOMMERCE_URL" "$TMPDIR/woocommerce.zip" unzip -q "$TMPDIR/woocommerce.zip" -d "$TMPDIR/" rm -rf "$PLUGIN_DIR/woocommerce" mv "$TMPDIR/woocommerce" "$PLUGIN_DIR/woocommerce" echo "WooCommerce plugin installed successfully." } Y después de la linea install_wp, añade el la función para que se ejecute justo después de haber instalado WordPress: install_woocommerce Y también tendremos que  incluirlo en tu bootstrap dentro de la función _manually_load_plugin: Copy// Load WooCommerce first from the standard WordPress plugins directory require_once WP_CORE_DIR . '/wp-content/plugins/woocommerce/woocommerce.php'; ## Configurar los tests automáticos en GitHub En el archivo de configuración que hay en .github/workflows/testing.yml, revisa la configuración y comprueba que la rama principal de tu repositorio es la correcta, sino, tendrás que actualizar el archivo yml: Copyon: pull_request: branches: - trunk Actualiza trunk por tu rama principal del repositorio.  Te recomiendo actualizar las lineas de setup de PHP y además, necesitarás que tenga instalado SVN que por defecto no está instalado. Copy - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} tools: phpunit-polyfills:1.1 extensions: mbstring, xml, zip, intl, pdo, mysql coverage: none - name: Install SVN run: sudo apt-get update && sudo apt-get install -y subversion ## Problemas comunes Could not find /wordpress-tests-lib/includes/functions.php, have you run bin/install-wp-tests.sh ?** Aparece cuando la instalación de WordPress temporal está incompleta. Borra las carpetas y vuelve a ejecutar la instalación.  Al ejecutar la instalación del entorno de tests te indica el directorio donde está instalado WordPress. Por ejemplo yo tengo: /var/folders/kk/6287m8gj09xdkt2zgz432zhr0000gn/T/ Habría que eliminar las carpetas wordpress-tests-lib y wordpress, y volver a ejectar la instalación. **Copyrm -rfv /var/folders/kk/6287m8gj09xdkt2zgz432zhr0000gn/T/wordpress-tests-lib/ rm -rfv /var/folders/kk/6287m8gj09xdkt2zgz432zhr0000gn/T/wordpress/ composer test-install Class test-sample cannot be found in /tests/Unit/test-sample.php** Si PHPUNIT es mayor que v9, el nombre del del archivo tiene que llamarse igual que la clase.  PHPUnit Version Incompatibility: The project was using PHPUnit 12.3.4, which is very new and not compatible with the WordPress testing framework. This caused additional errors when trying to run the tests. ## Charla Diapositivas Transcripción de la charla Hola, hola. Bueno, vamos a continuar el siguiente taller con David, David es director técnico de la esencia de marketing y de desenvolvimento CLOSE. Ademais, forma parte do equipo de revisión de plugins de WordPress.org, así que, se tedes alguna historia con él. Vale, no sector da formación, ten experiencia técnica creando seccións de contido para programas, conectando sitios web a CCRM para asistenar clientes potenciais, equipos, publicidade, etc. Ademais, David está moi implicado na comunidade de WordPress, colaborando activamente en eventos e encontros locais. Así que, nada máis, deixo vos con David para que vos explique como facer test nosos plugins. Gracias. el resto que no veis y los que lo estáis haciendo podamos hacer test automáticos porque realmente ayuda muchísimo a la calidad del plugin y sobre todo lo que yo me he dado cuenta cuando he implementado este tipo de trabajo es que no hay regresiones o sea que realmente cuando tú ya montas los test haces tus funciones y luego esperas una entrada normalmente cuando ya hace una nueva versión o hace algún cambio no revierte o no rompe nada anterior que eso es muy importante porque muchas veces cuando hace una nueva versión resulta que puede romper cosas que a lo mejor y la gente se nos queja sobre todo si tenemos plugin comercial o plugin de comunidad esto está aquí parpadeando no sabemos por qué y a ver si damos con la tecla pero bueno os voy contando mientras vale qué son los test automatizados un tematizado es un o los test unitarios hay varios tipos de test pero nosotros vamos a tocar el test unitario el test unitario está basado en que nosotros son pruebas automáticas que hacemos nuestra función para ver si funciona o si dan un valor esperado que nosotros esperábamos y lo bueno de ustedes unitarios que aparte podemos jugar mucho a putear esa función o digamos a gastarle a gastarle porque muchas veces la vida real pues tú esperaba un número y no te viene un número tiene un string o un array típico que le falta una clave y no viene la clave toda esa perfecto no sólo voy a ahondar en la parte de dentro en una entrada perfecta como debería venir los datos sino también vamos a ir a buscarle putadillas a la función hablando mal y pronto para que se comporte bien porque nosotros lo que nos podemos dar un error fatal en nuestro plugin nuestras funciones que al final da un si una interfaz que se rompe wordpress y a lo mejor incluso podemos romper la web completa segundo de éste la función si es de admin pues en principio sería sólo la parte de mí y la parte de front no pero pero poder romper entonces es muy importante esa parte también que la vamos a ver también lo voy a ver con ejemplos vaya de funciones que son muy sencillas una suma pero y si no te viene un número te viene un texto pues eso es súper importante y sobre todo utilizando en programación negativa lo bueno es que tú en la función primero depuras lo que te va a venir de entrada devuelve una cosa u otra y a partir de ahí pues ya va arreglando y no teniendo problemas al final lo que estamos hablando es que aislamos esa función ejecutamos con una entrada de datos esperada y una salida esto es muy interesante porque por ejemplo muchas veces nos pide una función de un cliente y nos dice pero mira esta función tiene que dar este resultado y lo tiene muy fácil entonces con esto lo graban en los test unitarios grabas o sea escribes lo que tú le das de entrada lo que tú esperas de salida y entonces ya empieza a desarrollar realmente en los test unitarios se ven como que hago mi función y ahora tengo hacer los test es mucho más trabajo mucho más esto es más lento no lo hago no no si tú desde el principio ya integran los test unitarios y empiezas a escribir lo que cómo debería entrar la entrada de cómo debería entrar la salida lo que el desarrollo de la función lo vas haciendo sobre la marcha entonces ya el test ya lo tienes grabado y cuando ya termina ya te aseguras de que se está ejecutando correctamente puede darse alguna vez que la función se haya roto por cualquier cosa que nosotros no controláramos no pasa nada cogemos esa entrada nueva la grabamos como test y ya nos aseguramos que nuestra función no se va a romper más veces con ese tipo de entrada sobre todo muy importante es que no hay regresiones que al final pues en nuestro código mucho más confiable y luego pues que da mejor sensación a los clientes y a los usuarios en definitiva lo he insistido mucho por eso que previene las regresiones aumenta la fiabilidad de la confianza facilita el mantenimiento como decía si sale un nuevo error ese error lo podemos meter a añadir nuestros test y a partir de ahí ya el mantenimiento del siguiente ya va a ser la nueva versión va a tener ese arreglo a ese problema la calidad es mucho mejor de nuestro código y evidentemente cuando tenemos un código mucho más confiable, mucho más fiable, no tiene regresiones, pues va a bajar muchísimo la percepción de nuestro usuario, que al final es un poco lo que buscamos. Aquí solo vamos a tocar el test unitario, pero bueno que sepáis que hay tres, test unitario, test de integración y test funcionales, y que a partir de ahí podemos hacer. Os quiero dejar dos conceptos, no es el objetivo de esta charla, hablas de método de trabajo, pero por lo menos que os vaya sonando, es Test Drive Development, que bueno, aquí he hecho el dibujillo este que es así un poco de mal, pero básicamente se basa en que tú primero generas el código con un test, o sea, no, perdón, haces el test en el código, generas el código y vas haciendo hasta que ya se cumple todo correctamente y vas haciendo. Entonces, desde el principio, la función antes de empezar a escribirla, estás generando lo que tiene que entrar y lo que debe salir. Este, si os documentáis un poquito más, veréis que hay un montón de cosas. Y otro, también otro concepto muy interesante es Trunk Based Development. Os dejo un enlace que hice en un artículo en que se basa. Y esto es, como nosotros trabajamos normalmente con un control de versiones, bueno, ahí en el artículo os mandaré, lo veréis. La ventaja de hacer el Trunk Based Development quiere decir que tú usas una sola rama y cuando crea una nueva funcionalidad, crea una rama nueva. Hace esa rama, desarrolla, hace los test y si utiliza Gihab, los test automáticos, antes de integrarlo en la rama principal, le ejecuta un montón de test. En Plugin Check Plugin, que es un plugin que os recomiendo que hemos hecho el equipo de plugin, se ejecuta casi 800 afirmaciones, 800 y pico, con distintos entornos de PHP, con lo cual cuando tú sacas una nueva funcionalidad en el plugin te aseguras de que está muy bien, vamos que es muy consistente y no vas a tener ningún problema. Esto lo que se va a hacer es que sólo tiene una rama y hace una rama para cada desarrollo nuevo, no hace varias ramas y va complicando el código ahí os dejaré un artículo y yo para que lo profundicen en él bueno lo que nosotros al final queremos es que antes de hacer esa mergeo a la rama principal es decir que vamos a sacar una nueva versión porque se ejecuta un T automático aquí os enseña uno que da error evidentemente cuando este por ejemplo este entorno de prueba automática hace pruebas sobre el 74 el 80 el 81 y 82 y 83 lo normal es que si tiene un plugin para un cliente pues ya el entorno lo tenéis más o menos comprobado sabéis que php eso lo controláis más bien controlado entonces pues si estáis en un php 82 pues podéis vosotros subirle 83 entonces el plugin no hay problema pero cuando hacéis un plugin comercial un plugin por no controlar el entorno si es verdad que nosotros las cabeceras de los plugins podemos decirle que sea hasta una versión de php o desde una versión php y por ahí ya puedes controlar un poco más entonces le mete este unitario en distintas versiones php a las que tú das soporte que evidentemente pues tienes que empezar por lo menos de las 74 y puede darse por ejemplo a mí me pasó que un té automático fallaba en el 74 y en la 8 si funcionaba pues perfecto estoy en el momento de arreglar mi código para que no haya problema y otro concepto que bueno aquí es simplemente como referencia voy a dejar un enlace para que podáis descargar la presentación vamos a entrar ahora a móvil es cuando tú haces los test para esa salida que tú esperas vale se hace con estas funciones de web y es tú esperas un valor vale el valor esperado expecte como habéis expecte y actual y el actual es el que te da tu función de manera que tú puedes hacer tu afirmación puedes afirmar si es si es verdadero es decir si tu función devuelve un un true o un false pues tú puedes según la entrada que tú le des puedes comprobar si te va a dar un booleano que se te y en este caso un true un false si es igual a un valor eso lo vamos a ver también si yo por ejemplo vamos a hacer ejemplos sencillos y algunos enseñaré también más complejos por ejemplo yo puedo decir si yo te pongo en esta función que sume un 2 y el 4 el valor esperado tiene que ser un 6 pues hacer igual tú poner 6 ahí grabado en el código y la actual el que se ejecuta de la función bueno hay un montón más aquí os dejo unos cuantos los que más se usan así un poco pues por ejemplo va a ser count por ejemplo si tú si tú haces una función de entrada y esperas que haya o no sé cuántos elementos pues tú dices pues quiero que me digas cuántos elementos me ha devuelto por ejemplo, hacer empty, que el array que me devuelva de la función no esté vacío. Y bueno, hay un montón. Realmente, incluso ya cuando tenéis el código, metéis la IA en el código, pues te va a poner assert y ya te van incluso sugiriendo distintas funciones y afirmaciones. Hay un montón y al final usamos unas pocas. Aquí, por ejemplo, os hago un ejemplo, así para verlo, pero ahora vamos a ver en el código, de una función que se llama removeSpecialCharacter. Y yo lo que espero es que de ese valor de entrada debería devolverme valores sin… Esto tiene… Ah, mira, qué guay. De los valores estos de acento me debería devolverlo sin acento. Entonces, aquí como podéis ver, hacer equals, devuélveme esto. Entonces, yo ya me aseguro con esto que cada vez que se ejecuten los tests, mi función va a dar esta devolución. Y ahora después podemos gastarle putadilla de decirle, pues ahora no te voy a mandar, te voy a mandar números. Y si me da fatal error, ya mi función no funciona bien. Pues a lo mejor tengo que poner una verificación de si es un número o no. Pero lo importante no solo es que este es el ideal, este es el que, sí, sí, me va a dar siempre acentos, pues yo te voy a dar sin acentos, sino también tienes que buscar cosas raras, cosas que pueden pasar. Por ejemplo, yo tengo un plan, que vienen de API, por ejemplo, yo me conecto a una API y me devuelven un array, o sea, un JSON normalmente, lo convierto en array y ya de tal. Pero ese JSON, algunas veces, o viene vacío porque da una respuesta fallida, o a lo mejor me devuelve un valor que no era esperado, Pues todos esos casos normalmente te los puedes inventar aquí, ¿vale? Los puedes meter. Incluso te puedes inventar cosas que a lo mejor el array venga vacío, para ver cómo se comporta mi función. Que a lo mejor la clave que yo busco que no esté. ¿Qué pasa si no está? Por ejemplo, yo me conecto a ARP y me traigo un JSON de productos. Y yo para el producto, por ejemplo, utilizo la clave SCOOP, que es el que me va a comprobar si existe mi tienda online, por ejemplo. Ahora enseño un poco el código ese. Pues, ¿qué pasa si el producto viene sin SQ? ¿Qué va a hacer mi función? ¿Se va a romper o no se va a romper? Por eso es muy importante. Entonces, os insisto mucho, no solo en estos casos ideales, que lo das muy claro y ya te lo da de vuelta, sino buscarle. De hecho, os voy a enseñar, de donde sobre todo he sacado muchos test, hay muchísimos, el Plugin y Chef Plugin. normalmente hacemos una función de test que es testWithErrors o testWithOutErrors. O sea, WithErrors es que si yo le mando datos de entrada inválidos, ¿qué me va a hacer mi función? ¿Qué debería devolverme? Entonces es muy importante porque eso también insisto bastante. He hecho un plugin muy sencillito, que lo tenía aquí en WP Training. Esto es parte también, aparte de un tutorial que voy a hacer para el blog de WordPress, que ahí están en proceso de aprobación, quería que estuviera hoy, pero no ha podido ser. Así que, y la guía, vamos a crear los test unitarios directamente en este taller. Quiero decir que me ha costado un poco, porque es verdad que no está muy bien documentado y es un proceso bastante largo. Si seguís este tutorial, directamente os va a llegar. Entonces, vamos a empezar con nuestro entorno. ¿Se ve por aquí? ¿Lo pongo mancho? ¿Se ve bien? Vale, bueno. Esto es un editor de código, yo utilizo cursos, pero bueno, Visual Call, que queráis. Podemos coger el enlace este, ¿vale? Uy, ya he dado el gracias. Vamos a coger el enlace del repositorio y lo vamos a clonar, ¿vale? A ver si tengo clones. lo voy a poner aquí en usgalicia app public en plugin lo clono y aquí tengo yo mi plugin que le quiero hacer este unitario Como veis aquí tengo un par de funciones muy sencillitas, que aquí cada uno diréis yo lo haría así, al final hice yo aquí un replace de los datos de acento e incluso le hice una expresión regular para que me quitara símbolos raros, por ejemplo un espacio o un 9 etcétera. He hecho también una suma, una multiplicación, etcétera. Como veis directamente yo aquí asumo que esto es un entero y ahora vamos a buscarle las cosquillas a esa función para que no se me rompa y por ejemplo temas de Google y todo esto. Yo he hecho aquí el tutorial y si lo seguís pues yo creo que os va a ir muy bien porque básicamente lo que intento es ir paso a paso para que podáis instalar los plugins. Quien conozca WPKli, WPKli es WordPress a través de la línea de comandos, normalmente los entornos locales os lo podéis instalar, va directo, y yo voy a utilizar el comando WP Scaffold, que es como una serie de comandos que te permite crear algo sobre la base, y el Scaffold se llama Plugin Test, y este es el plugin Nami, vamos a poner nuestro nombre y le vamos a decir que el Continued Integration lo vamos a hacer con Gihas, esos son los tres unitarios que se ejecutan, pues venga, vamos a ejecutar nuestra consola por aquí y esto está en el entorno aquí tengo vpclean, vpclean 2.12 y mi plugin, bueno, preguntándome cosillas, si tenía alguna duda o alguna cosa. Y lo ejecuto. Muy bien, ya el primero. Error en las TBCs de la base de datos. Ah, vale, porque no la he… Ah, vale, no la tenía creada. Vale, me da error. esto que me pasa con la 8.2 en local.vp voy a cambiar el PHP ejecuto con mi comando a ver si ahora sí perfecto y ahora me crea una serie de archivos como veis me crea el workflow de github que lo vamos a tocar me crea el binario el binario lo que hace… ah bueno se me ha olvidado comentar un poco antes Para poder realizar T unitario hay dos formas, eso se me ha olvidado explicar. Para nosotros hacer los T unitario lo que se hace es que se hace en un WordPress que no tiene nada que ver con la instalación local que nosotros tenemos. Eso está buscado a posta para que no haya ningún plugin tercero porque estamos hablando de T unitario y estamos evaluando esa función. Es un WordPress que está vacío, que lo instalamos de base y la base de datos incluso la vamos borrando. La idea no es grabar ningún dato ahí y lo que hacemos es que la función de entrada y salida, los datos de entrada, los generamos nosotros manualmente. Os voy a dar varios ejemplos para que os podáis ver. Necesitamos tener PHP instalado en nuestro sistema, yo lo tengo instalado, y tener MySQL. ese es para composer me imagino conocer composer y bueno vamos a ejecutarlo con composer que es mucho más fácil también está la versión de WPM que necesitas dock e instalar en tu guardado yo también lo tengo porque para ciertos repositores me hace falta y entonces pues bueno ahí lo tengo entonces el install sh vale lo que aquí viene como esto se ejecuta bueno la vez tú puedes ejecutarlo las veces que quieras pero realmente no tenga que ser continuamente sigue una vez que se ha instalado bien salvo que no te derrota lo puede ejecutar básicamente lo que hace es que instala el wordpress desde cero entonces vamos a seguir aquí los pasos para que veáis que realmente son está muy bien descrito vale vamos con composer a traerle dependencias de desarrollador a nuestro plugin nos vamos a traer el php unit vale pero la versión de wordpress y vamos a coger también el de joas php polyfiles que básicamente lo que hace es que como php unit depende de la versión php que tú tengas pues se hizo esta repositoria para que no haya problemas en la versión de php y al final pueda ejecutarse unitario vale pues nada por instalamos y cogemos nuestro terminal y efectivamente estamos aquí en la esta y lo ejecutamos nos lo instala en desarrollo y bueno ahora sí Ah, vale, perdón, gracias. Vale, para ejecutar esos T unitarios hay varias librerías. Ahora hay una que se llama PEST, también que se conoce, y lo que hace ese entorno para poder ejecutar los T unitarios. Nosotros utilizamos PHP Unic, ¿vale? Y es el más común en WordPress. Entonces, se utilizan los T unitarios. Entonces, efectivamente, es una librería que te permite hacer las afirmaciones que hacíamos, las da la librería. ¿Vale? Sí, sí, gracias. Así que voy muy rápido, voy directamente a hacer los test y al final vamos dejando cosas. A ver, cosas de directo. Dice que da error. Vamos a ver. Si me deja… Si no me conecto a mi móvil. a lo mejor por proxy puede ser que tengamos algo… Vale, era por proxy, el proxy de la Universidad nos permite utilizar Composer. Bueno, ya está, vale, me ha instalado aquí un montón de… Lo bueno es que aquí te instala la dependencia, bueno, nosotros lo conoces que eso, que instalamos PHP Unit, vale, y las distintas versiones, la versión de WordPress Unit y la de Polyfill que estaba comentando. Os va metiendo archivos que vamos a ir viendo. Otra cosa, cuando nosotros hacemos un plugin y ya cuando hacemos entorno de desarrollo, empezamos a generar archivos que son de desarrollo. Habéis visto que el composer, generamos también el vendor, el vendor es todas las carpetas, todas las librerías que nosotros usamos. De hecho, el vendor, hay veces que tiene, depende del plugin, tiene librerías de desarrollo y algunas librerías finales que van al cliente. Que no las metes como desarrollo, las metes como finales. Entonces, ¿qué pasa? Que tenemos que meter en nuestro plugin directiva para que se guarden cosas en nuestro repositorio y otras cosas para el archivo que vamos a generar del plugin. Por eso, hay dos archivos muy interesantes que se llama gitignore y disignore que tienen políticas diferentes disignore es cuando tú quieres generar un zip de ese plugin os dejaron también una charla donde lo explico el zip limpio, sin archivos raros y sin archivos de desarrollo nuestro zip que nosotros generamos del plugin no debería tener entornos de desarrollo ni el.git ni cosas de desarrollo como phpunit, XML todo esto Es importante, y aquí lo pongo, que estos archivos no estén en nuestro zip final. Si está en nuestro repositorio, porque nosotros lo vamos a usar para desarrollar, pero no para el usuario final. Aquí, por ejemplo, veis que en el archivo this is not, que es para generar mi zip, que va a ir después a los usuarios para instalárselo, le pongo aquí la librería de desarrollo para que no me la genere. y en la de kitignore, que son los archivos que no quiero que se me suben a mi repositorio, pues meto el vendor, por ejemplo, y los resultados de caché del phpunit. Pero bueno, eso vamos a entrar. El composer, ¿qué he hecho aquí? Vamos a verlo. Se me queda esto aquí un poco chiquitillo. El composer, ¿conocéis todos composers? ¿Hay alguno que no lo conozca? si lo conocéis, ¿no? Vale, pues como veis, cuando he ejecutado este comando me ha puesto que estas librerías son de desarrollo y me ha metido el polyfill y el wp-php-unit Lo bueno de Composer es que también podemos meter comandos ya hechos porque hay veces que un comando súper largo nos permite hacer como un alias de comandos para poder ejecutarlo Entonces, aquí os pongo un par de comandos que vamos a ejecutar y que vamos a añadir yo lo explico para que no vamos a formatear el JSON aquí en los comandos es una directiva que se llama Scripts el Composer Test lo que haría es ejecutarme el PHP Unit pero le voy a meter otros dos uno que es TestDebug bueno, esto es más interno mío pero bueno, lo quiero poner aquí para que se ejecute una cosa muy interesante también en los test unitarias que tú puedes ejecutar el xdebath quien no conozca el xdebath es como que vas parando la ejecución de tu desarrollo y vas viendo las variables como se van comportando en tu función entonces es muy interesante cuando es una función más compleja que le meta el xdebath pero bueno, este es y el test instant esta es la ejecución de todo nuestro entorno de desarrollo aquí en The WordPress como veis es un comando que pone bash ejecuta el bash de installwptest aquí en este primer comando lo que dice es la base de datos el usuario la contraseña y dónde está yo ya se lo dejo a mi composer y así lo ejecuto más fácilmente porque pongo composer.test.instal y ya me hace todo ese comando no me lo tengo que recordar de hecho lo tenía guardado en un blog de notas y lo tenía que decir en contra si está el Composer Script y bueno aquí hago una recomendación más archivos que se me han instalado con este escafor se me ha instalado el phpcs que el phpcs son las normas de coding estándar y aquí lo que hace este archivo es decir a esa directiva de coding estándar qué tiene que escanear qué cosas tiene que no escanear qué reglas tiene que usar, bueno, pues aquí los tenemos, ¿vale? Por ejemplo, muy interesante, cuando me mira los prefijos, no ha gustado, me da a mí que dentro de 10 minutitos se va a ir más gente, cuando veáis código, el Value My Plugin, ¿vale? Aquí suelo poner el prefijo de la traducción, ¿vale? Entonces me ayuda también a que no se me pasen cadenas, mi plugin es multidioma pues no se me pasa en cadena. Entonces todas estas cosillas son directivas de código estándar. Bueno aquí te iba a decir alguna cosa más, el Composer que ya lo hemos visto y el PHP Unit que estas son las directivas de PHP Unit. No me preguntéis porque no sé el detalle de las distintas versiones de PHP Unit pero hay a partir de una versión, no sé cuál es, la 8, la 9 que esta directiva deja de funcionar. Y entonces lo que dije, bueno, directamente la quito y mi carpeta de test, para ser más organizada, la voy a meter dentro de una subcarpeta. Porque lo ideal es que en la subcarpeta test podáis meter más test. Por ejemplo, PHPStank, que también tengo ahí una, o test unitario, o más test, etc. o incluso agrupar los distintos test unitarios por de WooCommerce, que yo también lo hago. Quiero meter uno en Unit y otro de WooCommerce. Bueno, pues aquí voy a poner una organización que sea Unit. Y voy a moverme el test sample para que veáis cómo se me ejecuta el test. Entonces voy a decirle, no, mis test están aquí en Unit. Aquí pone que excluya ciertos archivos como este, ya me lo he cargado, no hace falta. y aquí tengo la directiva de phpunic podéis profundizar más aquí la idea es que por lo menos podéis ejecutar los tres unitarios y podéis profundizar mucho aquí por ejemplo me metes colores bueno aquí como quieras que se comporte claro la gracia de esto es que tú conforme ya coges un poquito ya de más experiencia pues vas teniendo tus propias directivas por la forma que te gusta a ti de codificar, de ejecutar los tests y todo eso. En este archivo están. Y luego hay un archivo también muy importante que es Bootstrap. Este es el PHP que se ejecuta antes de montar nuestro WordPress, porque realmente nosotros cuando ejecutamos el PHP Unit se monta el WordPress y ejecuta este PHP. Aquí lo que hace es que ya en el Stafol nos ha metido ciertas funciones, ciertos archivos y de hecho no ejecuta el plugin que estamos nosotros montando. Si es WooCommerce, ahora veremos cosas de WooCommerce, podemos aquí incluso que meta WooCommerce, que lo instale, porque si no las funciones de WooCommerce van a dar error. Total que aquí podemos meter en esta manualiz load plugin, podemos meter dependencias de plane que nosotros veamos. Ahora vamos a ver cómo lo modificamos porque claro, yo aquí decía que íbamos a quitar el prefix, pero también voy a usar este código que también tenéis aquí porque después voy a usar el wp-core-edit que muchas veces en los tres unitarios no está definido. Entonces me meto en vuestra, estas líneas. ¿Qué hago en estas líneas? Pues meto una constante para decirme dónde porque muchas veces los datos de entrada los podemos meter en el mismo código pero muchas veces a lo mejor podemos coger un json de api y lo planteamos en una subcarpeta pues yo me pongo una subcarpeta que se llama unit test data plugin y utilizo esa constante dentro de mis tests y aquí también otra constante wp core edit que me hace falta cuando vayamos a usar un woocommerce bueno no le da todavía instalar vamos a instalarlo composer test install y ahora va a ejecutar y guardado vamos a ejecutarlo y aquí está ejecutando el binario se está bajando a wordpress lo está instalando veremos que si tenemos WooCommerce se va a instalar también WooCommerce en la siguiente y me dice claro, la base de datos WordPress Test, que es la que estoy yo apuntando ya existe pero aquí no hay ningún miedo porque de hecho ahí no deberíamos guardar nada entonces me está preguntando ¿quieres que borre la base de datos? sí, sí, tírale, que me da igual de hecho este binario es importante porque luego cuando lo ejecutemos en GitHub, veréis cómo se ejecuta en Gija y ya ahora mismo debería funcionar vamos a ver si nuestro primer test unitario vale, pues ya lo hemos ejecutado como veis, tenemos aquí un OK y nos está diciendo bastante información que ha utilizado la PHP Uni la versión 9.6 que no ha llegado ni casi, y ha gastado no sé cuánto de memoria pero lo más importante es el color que es verde, el amarillo y el rojo cuando nosotros ejecutamos test que vamos ahora programar unos cuantos vamos a ver los test que son las funciones diferentes y las distintas afirmaciones un test puede tener bastantes más afirmaciones es decir cuando yo hago un código puedo ponerle varias afirmaciones vale que lo vamos a ver entonces aquí el verde es lo que decía el test driven tú vas a hacer la entrada poner la salida va ejecutando y va viendo entonces yo muchas veces una cosa también porque es más rápido esto por ejemplo si yo quiero hacer una función para un comer y lo hago si no lo hago con test tendría que entrar a la parte de usuario para ejecutar esa función luego tendría que ejecutarla que pasa porque he tardado mucho tiempo aquí directamente puedo incluso que vamos a ver también cómo se filtra porque cada vez cada vez que tiene más test puede costar un montón Entonces, puede incluso ejecutar un test que es una clase o puede ejecutar una función de esa clase, ¿vale? Para, digamos, terminar esa función. Pues venga, la primera que era testSample, que es esta, ¿vale? Se ha ejecutado correctamente, ¿vale? Como veis, pues era muy sencilla, era muy fácil de cumplir. AskertTrue, askertTrue sobre True, ¿vale? Pues no hemos hecho mucho, ¿vale? Entonces, vamos a hacer una primera función. voy a dejar los nombres, lo normal es que vayáis agrupando los tests por grupos funcionales, un poco para organizaros, incluso por grupos funcionales, por tipo de tipología, y al final tengas varios archivos. Ahora veréis que os voy a dar ejemplos de cosas que ya he hecho yo reales. Una cosa que hice era que me traía de una API un producto y tenía que crear un producto variable. Me daba un error de que el código de barra no me lo metía en una variante de ese producto. Pues hice el test, que era el JSON del producto, y quería ver que esa variación tuviera el barra código. Después arreglé mi función y efectivamente los tests me han validado. Pues venga, yo, como he dicho, tenemos unas funciones muy sencillas, multiplicación, ¿vale? Pues venga, vamos a ejecutar un T sobre multiplicar, ¿vale? Pues el más sencillo sería una entrada que sale perfecta. Yo, por ejemplo, A igual a 10, ¿vale? Y B igual a 20. Aquí ya me está sugiriendo la IA, ¿vale? Me está sugiriendo la suma que A más B sea 30. Entonces yo ejecuto mi test y perfecto, se ha ejecutado correctamente. Pero como la vida no es ideal, imaginaros, este lo dejo porque esta es la ideal. De hecho, lo normal es que podamos hacer funciones sobre, por ejemplo, aquí, por ejemplo, Tep Zoom without errors. No, without, no, coño. Without errors, ¿vale? Aquí voy a agrupar las afirmaciones cuando no hay ningún problema. cuando la entrada es limpia. Imaginaros, pues yo voy a meter también… No, ahora, esto es lo que quiero hacer después. No, ahora. Voy a poner, por ejemplo, un decimal. Imaginaros, ¿no? Yo aquí empiezo… Claro, los test muchas veces, ya también, cuando vas teniendo más experiencia, vas viendo dónde puedes darle caña a la función y dices, ¿dónde voy a ver yo aquí el conflicto? Y lo haces. Luego hay veces que te sorprende, porque ves casos que no… ¿Vale? Pues aquí hacemos otro. Aquí la propia AIA me está sugiriendo varios, con negativos, con positivos. ¿Vale? Vamos a ver qué pasa. Mira, aquí, por ejemplo, me ha dado un error. ¿Por qué, David? En la línea 23, ¿vale? Esperaba 0,3 y la suma le ha dado esto. Entonces vamos a ver aquí en la suma. Aquí algo tiene que ver. Por ejemplo, ¿ves? ¿Me dieron qué? Ah, vale, vale. Aquí quiere decir algo. Vale, pues a lo mejor aquí podría hacer un number format. Un number format. Format. Dos decimales. ¿Vale? Y si me da ya como. ¿Ok? ¿Vale? Pero esto es la vida ideal. O sea, yo te doy un 2 y un 3 y me va a dar 5. Pero, ¿qué pasa a lo normal? el usuario no pone un 2, pone un texto o pone hola, yo que sé pues vamos a ver qué pasa con nuestra función cuando hay problemas ¿vale? que esto es lo normal esta es la vida idílica, pero está aquí, vamos a ir a ver vamos a buscarle como decía putadilla a nuestra función imaginaros que yo le estoy dando un texto vamos a ver cómo se comporta mi función me lo estaba diciendo a mí, ¿vale? a ver qué pasa con mi función debería devolver un 30, ¿vale? pero no lo va a devolver porque, bueno, nada más que devuelve ah, bueno, pues aquí sí me lo ha cogido bien me ha convertido el 10 en número ¿vale? o sea que este, por lo pronto ya acabo de verificar que mi función aunque le meta un string me va a hacer la suma ¿vale? pero imaginaros que ahora no, esto no voy a hacerlo aquí me pone un texto que no tiene nada que ver con la función. Aquí a lo mejor deberíamos dar, podemos devolver un false, por ejemplo, ya podríamos inventar un poco qué nos debería dar la función si no… o imaginar un vacío, por ejemplo. Vamos a hacer primero un vacío, por si queréis. aquí me ha dado dos errores efectivamente, me está diciendo que aquí hay un entero y un string en la 49 esa es la función y en la 41 entonces, ¿qué ha pasado aquí? que esto era un vacío y me debe haber dado o aquí podemos decidir que debería darme en función, si debería dar un false, por ejemplo, y después yo ejecuto esa función y veo si es false, le muestro un error al usuario, han metido mal los datos o lo que sea, o aquí ya es decisión un poco nuestra, que queremos que se le muestre al cliente, al usuario. Mi primera decisión podría ser, por ejemplo, forzar que los números sean enteros o decimales, Entonces yo puedo decir, o pongo aquí el a, ¿ves? Flow as bar, flow as bell, y aquí lo que va a hacer es que me va a convertir. El vacío me da un cero normalmente cuando lo convierto. Entonces aquí me va a sumar, a ver, aquí 10 y 0 debería ser un 10 para que se ejecutara bien la función, ¿vale? Pues yo ejecuto y me lo he ejecutado correctamente. Entonces ya, lo pronto, tal. Vamos a buscarle más cosquillas. Vamos a buscarle que sean textos. Yo aquí, bueno, me va a dar error la función, por supuesto, ¿vale? Porque lo que ha hecho es que el texto le ha pasado a cero, ¿vale? Entonces, aquí, aquí ya os digo que depende un poco de nosotros. ¿qué queremos que nos devuelva la función si nos han dado unos datos de entrada incorrectos? Pues podemos decirle que nos dé un false, o yo, por ejemplo, con la API lo que suelo hacer es que devuelvo un array con un resultado, me queda muy poco, ¿no? Y en el resultado le digo que es ok o false, le pongo un mensaje, le doy más datos, porque al final lo que quiero es que el usuario vea por qué ha cometido el error. Pero bueno, aquí como vamos rápido, vamos a decir que, por ejemplo, si no es numérico, que devuelva un cero. O a lo mejor que devuelva un falso, por lo que sea. Vamos a decir que sea un cero. Entonces, yo aquí debería esperar, bueno, aquí me he dicho que mi test, aquí debería esperar un cero. pues efectivamente bueno el 41 aquí no habíamos quedado este vale sí claro esto era vacío era un string sino el numérico este día sea un 0 no voy a ser un 10 pues aquí directamente entonces como veis yo voy ejecutando mi función le voy buscando las cosquillas voy buscando cosas raras que pasan y quiero que me lo ejecute vamos a algo más complicadillo en estos últimos 10 minutos si no te me va diciendo preguntas por ejemplo lo que os decía en el ejemplo de una función que me ejecuta datos datos raros aquí lo voy a meter todo junto vale no es lo ideal lo suyo es que lo vaya agrupando en distintas vamos a hacer un test test_special_chart vale y bueno aquí me lo coge esto así tal cual vamos a ejecutar la vegetal efectivamente se ejecuta bien yo le metí aquí datos raros y tal más funciona bien esto sería imaginaros que ahora yo quiero buscar en las cosquillas y quiero hoy quiero ver qué pasa con mi función si yo le meto espacio, lo normal es que los quite. Voy a ponerle un espacio, voy a ponerle un guión, voy a ponerle un arroba, a ver qué es lo que me devuelve. Lo bueno también de los test es que si no se cumpliera, si yo por ejemplo digo que debería ser aquí un guión, una cosa muy interesante es que te devuelve, fijar aquí, lo he esperado, aquí te devuelve lo que debería esperar a lo que actual estoy generando. Entonces, aquí, por ejemplo, mi función lo que hace es que los espacios y los símbolos raros los quita. Con lo cual, aquí, esta es la función que yo debería recibir. Y entonces, pues aquí, ya se va cumpliendo. Entonces, así vamos creando. ¿Qué pasa? Ahora yo creo una nueva función, una nueva cosa. Hago algún cambio. Y como lo que no queremos es que si yo hago un cambio, luego se rompa otra cosa. Pues lo bueno es que como ya lo he dejado guardado en el código, cuando yo vaya a generar una nueva función no me va a romper otras cosas. Quería enseñaros algo más complicado. Por ejemplo, yo tengo algún… Porque como veis, este ejemplo ha sido muy sencillito. vale, es que no inicié la sesión no, sí ah, vale, el or se me ha faltado aquí el or aquí por ejemplo yo he hecho test un poco más puñeterillo por ejemplo, yo aquí lo que hago es que uy, que chico vale, yo por ejemplo aquí he hecho un test que según un JSON que me dé una API, vale quiero que me crea un producto entonces, bueno, aquí lo podéis ver tranquilamente, luego lo veis pero básicamente yo le mando un JSON de producto, ¿vale? y con mi función que es la que crea ese producto en el WooCommerce y me lo ejecuta yo quiero ver qué es lo que me devuelve, esto lo que hace es que devuelve un array y me devuelve el post ID que genera, como es un como es un WordPress que está vacío yo no puedo controlar el número que me devuelve aquí pero si puedo ver que no está vacío el array que me devuelve que el status es ok y que esto es un entero y aquí empiezo ya a hacer cosas, le digo pues venga tráeme el producto, mírame que sea producto simple del scoop que yo te daba mira a ver si efectivamente la función de ProductSchool es el mismo. Como veis, aquí estoy verificando que la importación del producto se ha hecho correctamente y que mi función, que es esta, la he ejecutado correctamente. Aquí, como veis, incluso miro el precio. Mi función, por ejemplo, tiene una cosa que es que si me lo traigo de la API, cuando el producto ya existe, no debería cambiarme el título de descripción porque si no entonces machaca pues entonces yo le digo cámbiame el título de descripción me lo invento y luego después de ejecutar mi función mírame que no me hayas cambiado y efectivamente no me la cambia bueno aquí hay un montón de cosas por ejemplo mira aquí tengo yo with errors le quito el scu y qué pasa mi función antes de hacer test daba fatal error vale le mandaba un jason con un sin scoom y me da fatal error para no me da error ahora lo que hace es que me devuelve una una un array con un error y un mensaje para que el usuario le diga oye que este está piquetón ha dado este producto que más da del rp o lo que sea pues tiene error y efectivamente me devuelve un cero que normalmente cuando no se queda un producto el el poseid suele ser 0 y bueno aquí podemos hacer lo que queráis os animo, hay un repositorio que está muy bien que es el de plugin check plugin plugin guija que ahí tenemos infinidad y realmente ahí si hacemos el flujo de aquí está guija aquí si hacemos el flujo de programar un check hacer los test y hasta los equipos de trabajo ya más avanzados trabajan así. No me ha dado una función si no me ha hecho el subtest. Si no, no hay. De hecho, aquí los pull requests que nosotros hacemos, voy a enseñar algunos cerrados, se han tenido que ejecutar los tests unitarios y se llegan… A ver si hay alguno mío por aquí. Como se meten los de dependados… aquí hay uno mío, yo hice, no, pero este no lo terminé, este está, veis este por ejemplo no tiene los test, aquí está uno, aquí hice yo un check, ¿vale? y en mi desarrollo yo hacía el check, aquí hacía el desarrollo que era este check y luego le metí a los test unitarios y así, y como veis, de cara al desarrollo, pues más fácil saber que cuando tú lo ejecutas, O sea, cuando se ejecutan los checks, en este repositorio se ejecutan 27 checks, que están incluso el estilo de código, los tres unitarios, y los tres unitarios se ejecutan en distintas versiones de PHP, 7.4, 8.8.0, 8.1.2, 8.4, y 8.4 incluso en experimental. ya estamos incluso haciendo check para el PHP 8.4 para cuando este plugin salga ya tener eso previsto. Y al final lo que quiero decir es que cuando tú vas a hacer ese desarrollo, bueno aquí hay una discusión de cómo debía ser y tal, ah bueno es que esto lo oculta una vez que está terminado. Perdón, que me voy muy rápido. Cada vez que tú haces un cómic en ese QR, si seguís la guía, podría hacerlo también en Guija. Nos aseguramos que se ejecuten esos tests automáticamente, porque aquí lo hemos ejecutado nosotros local. Pero cuando lo integras con Guija, esos tests se hacen directamente también en Guija. Con lo cual, tú antes de tu nuevo desarrollo incorporarlo a la versión principal, también te aseguras de que se hace el test automático. y aquí se hacen como 900 una barbaridad no es lo mismo que yo haga un código en definitiva, que es lo que yo quería al final que viéramos un código que se ha ejecutado pues se ha ejecutado 900 test como va a ser lo mismo a que yo directamente me queda todavía 5 minutillos, puedo aprovechar todavía a ver, mejor ¿tenéis alguna pregunta? ¿váis a poner a CST a partir de ahora o no? Como tengo estos 5 minutos voy a decir por ejemplo una dependencia. Si tengo un plugin para hacer WooCommerce, aquí os dejo cómo ejecutar text para plugin de WooCommerce. Claro, yo al traerme el WordPress tengo que instalar esas dependencias. Aquí os dejo el código que es dentro para incorporar el bash para que se baje el WooCommerce y luego claro en el bootstrap que es el PHP que se ejecutaba antes de que empezara nuestro WordPress tengo que decirle que incorpore WooCommerce porque si no cuando yo vaya a hacer test y meta cuando llegue a test de WooCommerce de estas funciones la función vcgetproduct me daría fatal error pues vamos a hacerlo si yo creo que me da tiempo muy fácil nos metemos aquí al binario y aquí antes de ejecutar las distintas funciones le meto el install wwocommerce que lo voy a ejecutar después del wordpress ahí ya tendría instalado WooCommerce en mi test que lo voy a ejecutar pero necesito que esté activo entonces en el en el bootstrap aquí en manually load plugins aquí meto mi WooCommerce antes de que se ejecute mi función entonces con estos dos ajustes ya tengo WooCommerce pero tengo que instalarlo entonces composes test install vale me va a machacar el wordpress me da igual no pasa nada se me va a bajar wu comer y me va a decir si quiero borrar base datos sí sin problema ya tengo wu comer y ya podría incluso ejecutar cosas de wu comer por ejemplo bueno es que estas funciones aquí son un poco genéricas porque tienen que tener un Product ID. Aquí debería, para ejecutar esta función, en mi función TestPublic, tres minutillos, ya voy a dar el cierre. Claro, para dar yo mi función, debería crear yo antes un producto, que lo puedes hacer a través de distintas funciones. Entonces yo podría darle Product, VsGueProduct, no. Al final, para que yo pueda ejecutar mi afirmación sobre este plugin, que va a necesitar un Product Get ID. Antes tengo que crear el producto porque no existe. Lo creo y con esa creación de ese producto ya puedo hacerle test a lo que me ha devuelto WooCommerce. Entonces, ahí directamente puedo saber un poco. En definitiva, esto es un principio para que vosotros podáis ejecutar test. que realmente os animo y para que empecemos a cambiar el chip desde empezar la función a empezar a programarla primero hagamos los test de entrada los datos de entrada empecemos a ejecutar los datos de salida y ir programando nuestra función hasta que el test se haga completamente de manera que cuando ya vaya a hacer yo más cosas eso ya como que me olvido ya de definitiva nada, pues agradeceros por escucharme y espero que lo pongáis en práctica desde hoy ya de verdad que a mí me ha cambiado bastante el desarrollo porque digamos que te preocupa de problemas que tú a lo mejor te has encontrado y que no te vas a encontrar después evidentemente puede los datos de entrada pueden cambiar pero tú lo puedes ir actualizándolo en tu test muchas gracias yo como ha dicho jesús pues soy cteo de la agencia cloud y en mi tiempo libre pues soy team red del plugin temps o sea que si habéis mandado algún algún plugin al repositorio de WordPress, al director de WordPress, seguramente lo habréis revisado. Así que muchas gracias a todos. No habéis ninguna pregunta, ¿eh? No tenéis… Ah, mira, hay un par de ellas. Rápido. Rapidillo. Venga, que nos da tiempo, un minuto. Rápido. Yo me metí en programar plugins por un horror de LearnDash y funcionalidades que quería manuales. Si no, no acababa ahí ni de broma. Todo esto es para plugins que vas a subir a WordPress y compartir con otras personas. No, no, para un plugin tuyo propio incluso. Y no es demasiado, porque veo que estás haciendo todas las cosas, por ejemplo, de WooCommerce manuales sin frontend, o sea, las haces tú. Sí, sí, directamente. Entonces tienes que conocer muchísimo el entorno con el que trabajas y replicar todos los comportamientos de todos los tests que yo haría con clics. Sí. Bueno, es que ese es el test de integración. Ese es un test añadido. Esto es cuando una función que hace un proceso tú quieres hacer test automatizados para esa función el test que tú dices tú de integración se llama un test avanzado que es más de integración pero que básicamente tú al final, los test unitarios cuando tú tienes muchas funciones al final tienes que ejecutar juntas entonces hay también test para ejecutar esas funciones completas que tampoco quería entrar mucho pero que hay otro tipo de test también recomendado test de integración Me ha parecido súper interesante, la verdad. Bueno, yo me voy un poco más atrás. Yo no suelo hacer mucho desarrollo, pero estoy empezando ahí a pelearme un poquito con algunas cosas, también por proyectos propios y por luego por cosas que a veces encuentras en cliente y que acabas teniendo que meter mano. Y yo me voy más atrás, has dicho, ¿quién conoce Composer? Y digo, ahí yo ya me he perdido. O sea, entiendo de test porque he trabajado en desarrollo y sé de qué va la vaina porque tengo compañeros testers, pero ahí me pierdo. ¿Cómo empezaría alguien que quiere empezar a desarrollar y empezar a meterse en todo esto? Que no sea estar en el notepad. Sí, sí, sí. Bueno, Composer PHP, Composer es una forma de instalar, aquí sale como un director de orquesta, básicamente es un archivo que tú guardas en tu plugin, un poco así resumido, donde te pone todas las dependencias de tu plugin. Entonces, cuando ya empiezas a hacer plugins más avanzados y que tienen muchas más funcionalidades, tienes dependencias. Y la gracia de la dependencia también es que las puedes ir actualizando. Mucho más fácilmente que si tú te bajaras la librería y la incorporaras en un subdirectorio de tu plugin. La mejor forma de hacerlo es con Composer. Te lo tienes que instalar en tu ordenador porque al final lo ejecutas en comando. Y bueno, ahí librería lo que tú quieras. Incluso tú puedes crear propias librerías. Y el entorno ese que estabas utilizando, ¿qué es? ¿Cuál qué entorno? Porque ahí yo ya… Ah, sí, el cursor. Yo usaba cursor. Esto. Sí, pero esto es cursor. Porque eso he visto, de que te ha empezado ya a recomendar todo la IA directamente, te sacaba las propuestas de tal. Esto es una maravilla. Bueno, pues tienes Visual Code o con Guiz Casco Pailo, que tiene una versión gratuita, que para empezar está muy bien, y te va autosuscribiendo. Como ves, me va suscribiendo, me tengo que… Al final, los desarrolladores que estamos implementando la IA, en nuestro desarrollo, pues lo que hacemos es pelearnos con la IA, básicamente. Porque tú, incluso con el chat, que aquí no he usado yo el chat porque tampoco era… Aquí le puedes decir, pues házme los test, porque claro, yo quería que conociera el concepto, pero tú le puedes decir, házme los test unitarios para este plugin. Y te lo puede hacer. Y te los crea, te crea los archivos y todo eso. Pero GitHub Copilot, has dicho que es como este extra de IA que le puedes poner. Sí, justo. Y en curso va ya incorporado. Bueno, esto es los ID. ¿Qué? Es que no… Sí, te digo, está Cursor. Eso. Bueno, está Winsure. Bueno, aquí. Ya verás, en el Cafelillo, pues, algunos serán de un… Este es el mejor ID. No, tú no, que estás usando Visual Code, no tienes ni idea. Total, hay también un poco de enfrentamiento en el ID. ¿No? Hay algunos que son de PHP Store. Pero, bueno, básicamente Visual Code. A mí me gusta, yo, del editor, nos vamos allá. del editor que teníamos antes, que era un notepad, a Visual Code fue un cambio muy gordo porque teníamos el Git incorporado y la terminal. Como habéis visto, yo he podido juntar, me he podido clonar, eso fue un cambio totalmente. Y ya Visual Code, como es OpenCódigo Abierto, han sacado ramificaciones. Cursor es igual que Visual Code, o sea que si sabes manejar Visual Code, puedes manejar Cursor. Y al final lo que hace es que te incorpora la AIA en tu desarrollo. Y te va sugiriendo. Pero al final es un trabajo de pelearte. Porque te empiezas a sugerir cosas. Esto no tiene nada que ver. ¿De qué punto de vista de productividad hay alguna diferencia grande entre el gusto y el gusto? Es gusto. Es gusto. A mí me gusta más curso porque está más actualizado. Los agentes los meten antes. Y cuando sale Cloud, por ejemplo, ha salido la 4, pues la meten y la incorporan antes. Bueno, el Visual Code también es muy avanzado. Está muy bien. Es gusto, ya te digo. También está Winsur. está trade esto ya es como peleas de desarrolladores fricadas así que nada pues nada, muchas gracias y cualquier cosilla me tenéis en la web, echadle un vistacillo a la web de David Pérez Garca os meto cosillas de os meto cosillas y ahí tenéis la charla de hoy la tenéis aquí ¿vale? directamente y ahí seguir los pasos y ustedes tienen que dar el test directamente pues nada, pues muchas gracias --- ## Un gran año en el equipo de plugins URL: https://davidperezgar.com/blog/eventos/un-gran-ano-en-el-equipo-de-plugins/ En el Equipo de Plugins en WordPress ha sido un gran año, puedes ver los números en resumen en el post de Make. Y como resultado, ha sido una gran WordCamp US, donde Matt Mullenweg, hizo una keynote de los principales avances de la comunidad y claro, me quedé con la mención especial al equipo de Plugins. Finally, plugins. With had, you know, I got on stage last year, one of the things I did talk about was also how the plugin directory was in kind of a rough spot at that point. We had I think, you know, the queues were months long. There were hundreds and hundreds. I am proud to say that now we have over 60,000 plugins and 73,000 total plugins and themes. The plugin submissions have almost doubled year-over-year. Yet the queue is now basically down to under a week. So, there’s a very — it is incredible. This has been one of the teams that’s doing some of the best work across the whole dot org ecosystem both with the plugin work and the manual labor and the coaching people and mentoring all the things and leveraging Al to automate a lot of things. It’s very been cool. Let’s give — if you are on the plugins team, do you mind standing up really quick so we can give you a round of applause. There we go. Yeah Matt Mullenveg en WordCamp US 2025 Lástima que no pudiera estar, la verdad que es una de las WordCamps grandes que me gustaría ir, de la que lo tengo pendiente. Esto nos da un empujón sin duda a seguir colaborando en el equipo y evolucionar en reviews Proactivas, esto es, poder automatizar la revisión del código en las actualizaciones de los plugins. --- ## Programación Negativa: qué es, Ventajas y cómo usarla en PHP y WordPress URL: https://davidperezgar.com/blog/codigo/programacion-negativa-como-usarla-wordpress/ Tabla de contenidos Toggle - ¿Qué es la Programación Negativa? - 🧠 Ejemplo Clásico vs Programación Negativa Enfoque tradicional (positiva): - Enfoque negativo: - ✅ Ventajas de la Programación Negativa - 🛠 Cómo Aplicarla en PHP (con ejemplos) - 🧩 Aplicación en Funciones de WordPress - 🧭 Buenas Prácticas - 🧶 Conclusión ### ¿Qué es la Programación Negativa? La **programación negativa** consiste en utilizar primero los casos que **no deberían continuar** la ejecución de una función o bloque de código. En lugar de ir directo al «camino feliz» (el caso ideal), se gestionan primero los errores, excepciones o condiciones de salida temprana. Este estilo se opone al enfoque tradicional de anidar condiciones positivas, y es muy útil para evitar niveles de anidamiento innecesarios. ### 🧠 Ejemplo Clásico vs Programación Negativa #### Enfoque tradicional (positiva): **Copyfunction process_user($user) { if ($user && $user->is_active) { // procesar usuario send_email($user); } } #### Enfoque negativo: Copyfunction process_user($user) { if (!$user || !$user->is_active) { return; } // procesar usuario send_email($user); } ### ✅ Ventajas de la Programación Negativa - Mejor legibilidad**: el flujo del código es más lineal y directo. - **Menos anidaciones**: facilita el mantenimiento y reduce errores. - **Separación clara de errores y lógica principal**. - **Fácil de testear**: puedes probar condiciones de salida de forma más aislada. ### 🛠 Cómo Aplicarla en PHP (con ejemplos) Supongamos que estás validando una solicitud AJAX en WordPress: **Copyadd_action('wp_ajax_my_action', 'handle_ajax_request'); function handle_ajax_request() { if (!isset($_POST['nonce']) || !wp_verify_nonce($_POST['nonce'], 'my_action_nonce')) { wp_send_json_error('Nonce inválido'); return; } if (empty($_POST['data'])) { wp_send_json_error('Datos vacíos'); return; } // Aquí va la lógica principal $result = do_something($_POST['data']); wp_send_json_success($result); } Este enfoque negativo permite ver claramente qué debe detenerse antes de ejecutar el «camino feliz». ### 🧩 Aplicación en Funciones de WordPress Si estás escribiendo un shortcode** o un **hook**, puedes aplicar esta técnica para hacer que tu código sea más limpio: **Copyfunction my_shortcode($atts) { if (!is_user_logged_in()) { return '<p>Debes iniciar sesión para ver este contenido.</p>'; } $user = wp_get_current_user(); if (!$user || !in_array('subscriber', $user->roles)) { return '<p>No tienes permisos.</p>'; } return '<p>Contenido exclusivo para subscriptores.</p>'; } add_shortcode('contenido_privado', 'my_shortcode'); ### 🧭 Buenas Prácticas - Utiliza return temprano para evitar bloques if profundos. - Prioriza la legibilidad sobre intentar ahorrar líneas. - Combina la programación negativa con manejo de excepciones en entornos más robustos (por ejemplo, Laravel o Symfony). ### 🧶 Conclusión La programación negativa** es una forma simple pero poderosa de escribir código más claro y mantenible, especialmente en proyectos PHP y WordPress. Es una práctica que mejora el flujo de tus funciones y evita errores difíciles de rastrear. --- ## WordCamp Europe 2025 Basilea: Más PLUGINS URL: https://davidperezgar.com/blog/eventos/wordcamp-europe-2025-basilea-mas-plugins/ https://davidperezgar.com/wp-content/uploads/img_0124-2.mp4Podcast: Reproducir en una nueva ventana Tabla de contenidos Toggle - Días de Charlas - Stand de Patrocinadores - Q&A Matt y Mary - Fiestas Cada año me sorprendo de este evento y de cómo profesionales dedicados a WordPress nos juntamos cada año de diferentes partes del mundo para hablar de este maravilloso CMS. En la agencia de marketing lo utilizamos cada día en las páginas Web. Este año ha sido en Basilea, Suiza. Un país muy bonito pero enormemente caro. Pero al final se te va olvidando, cuando tomas unas cervezas El primer día se trata de aterrizar y juntarnos para un picnic, del que no fue posible porque llegué tarde, pero pronto le dimos solución con la comunidad Gallega. Y surgió un plan para después que fué invitarme a la fiesta de Codeable, de la que Carlos Longarella y Jorge González forman parte. También cómo no con Juan Hernando y Wajari. El sitio estuvo muy bien, y tenía la gracia de que tenías tres países a la vista: Alemania, Francia y Suiza. Y el jueves empezó la WordCamp con el **Contributor Day**. Un día donde se organizan los equipos para contribuir al proyecto WordPress en sus diferentes opciones, en esta, yo colideraba la mesa junto con mi compañero Fran Torres. Mi parte fue enfocada a mostrar cómo funciona Plugin Check Plugin, una herramienta creada por la comunidad para analizar el código de los plugins en busca de vulnerabilidades y agujeros de seguridad y saber cómo contribuir. También tuve la ocasión de juntarme con Nilambar Sharma, otro de los mayores contribuidores en el equipo de Plugins y Felix Antz, ahora en el equipo de IA de WordPress.org Fotos realizadas por Paco Marchante en la presentación de la mesa de Plugins. ## Días de Charlas Para mí fue un día de mezcla de mucho aprender, reuniones con diferentes equipos de contribución de WordPress, además La ventaja de las WordCamp es que puedes ver el contenido de las ponencias en WordPress.TV. Te animo a que lo visites, ya que hay muchas muy interesantes. ## Stand de Patrocinadores Si quieres conocer las empresas más importantes en el mundo WordPress, este es la WordCamp, Y cómo no, el stand de Hostinger estaba a reventar en la parte de sorteos. ## Q&A Matt y Mary Para mí, este fue un momento donde después de todo el esfuerzo de un año se ve recompensado, y es que en el Q&A, Matt Mullenweg (co-fundador del Proyecto WordPress) y Mary Hubbard (Presidenta de la Fundación WordPress), me preguntaron en directo cuanto se había incrementado el número de nuevos plugins en el directorio. Se había doblado y la espera para la primera revisión es de una semana. En esta entrada explico un poco más sobre esto. Y el último día de Basilea, además de hacer turismo, tuvimos la ocasión de reunirnos con Matt. ## Fiestas En conclusión, una WordCamp muy completa donde ha habido trabajo, formación y ocio. El año que viene nos vemos en Cracovia, Polonia. --- ## Cómo limpiar ramas locales que ya no existen en el repositorio remoto con un solo comando URL: https://davidperezgar.com/blog/desarrollo-web/como-limpiar-ramas-locales-que-ya-no-existen-en-el-repositorio-remoto-con-un-solo-comando/ Cuando trabajamos en diferentes proyectos y además usamos la estrategia que siempre recomiendo Trunk Based development, es habitual que creemos muchas ramas temporales. Algunas se eliminan del repositorio remoto después de hacer merge o cerrar una tarea, pero permanecen en nuestro entorno local… ocupando espacio y ensuciando la lista de ramas. Sobre todo dificulta para buscar las ramas que estamos trabajando. Pero Git nos da una forma rápida de limpiar esas ramas locales que ya no tienen su equivalente remoto. Te explico un comando que uso con frecuencia para dejar mi repositorio local impecable: Tabla de contenidos Toggle - 🧪 El comando mágico: - 🧠 ¿Qué hace exactamente? - 🎯 ¿Cuándo usar este comando? - 📌 Consejo extra ### 🧪 El comando mágico: **Copygit fetch -p && git branch -vv | grep 'gone]' | awk '{print $1}' | xargs git branch -D ### 🧠 ¿Qué hace exactamente? Vamos paso a paso: - git fetch -p** Actualiza la información del repositorio remoto. - La opción -p (o --prune) elimina las referencias a ramas remotas que ya no existen. - ✅ *Nos asegura que Git sabe cuáles ramas han desaparecido del remoto.* - **git branch -vv** Muestra todas las ramas locales con detalles: tracking, último commit, y si están desfasadas. - Aquí es donde Git nos dice si una rama está marcada como . - **grep 'gone]'** Filtra las ramas locales cuyo tracking remoto ha desaparecido. - **awk '{print $1}'** Extrae solo el nombre de la rama local de cada línea. - **xargs git branch -D** Elimina **forzosamente** todas esas ramas locales huérfanas. - ⚠️ Usa -D en lugar de -d para no tener que comprobar si han sido fusionadas. ### 🎯 ¿Cuándo usar este comando? - Después de hacer merge de ramas de características o fixes. - Tras un git pull en el main o develop. - Cuando notas que tu lista de ramas empieza a parecer un cementerio de ramas antiguas. ### 📌 Consejo extra Si prefieres ir con más cuidado, puedes cambiar -D por -d en el último paso: Copyxargs git branch -d Esto eliminará solo las ramas que ya han sido fusionadas y evitará pérdidas accidentales. Con este comando, puedes mantener tu entorno limpio, ordenado y sin ramas obsoletas que solo ocupan espacio. ¡Pruébalo y verás lo bien que sienta una limpieza de ramas Basado en este artículo de blog --- ## Mi segundo Año en el Equipo de Revisión de Plugins de WordPress URL: https://davidperezgar.com/blog/comunidad-wordpress/mi-segundo-ano-equipo-revision-plugins/ Y sí! ya llevo dos años contribuyendo en WordPress en el equipo de Plugins. Para quien no conozca este equipo, somos los que velamos por la seguridad y el seguimiento de unas directivas que velan por un ecosistema saludable. Ya hice un resumen de mi primer año, y parece que ha pasado más tiempo desde entonces, ¡pero ha sido sólo un año! Sobre todo tengo que agradecer el patrocinio de Hostinger todo este año, que patrocina las horas que realizo semanalmente en el equipo. Es esencial para dedicar todo este tiempo a esta labor que creo que es importante. * Tabla de contenidos Toggle - ¿Qué es un plugin? - ¡Muchas!, ¡muchas revisiones! - Charlas en las que he participado - Mención en el State of the Word - Involucración en el desarrollo de Plugin Check Plugin - Artículo Cierre Año 2024 - Conclusión y Agradecimientos ## ¿Qué es un plugin? Según su definición formal, sería: Un plugin en WordPress es un componente de software que se integra con el sistema principal para añadir nuevas características, modificar comportamientos existentes o conectar con servicios externos, utilizando los hooks (acciones y filtros) que WordPress ofrece.* Pero para que todo el mundo lo entienda, se tratar de **aportar funcionalidades a nuestro sitio en WordPress**. Para mí **creo que es clave en la popularidad de los Frameworks**, para que sean extensibles y personalizados a las necesidades de cada proyecto. Y la mayoría de plugins te los puedes instalar del repositorio oficial de WordPress, del que nuestro equipo es responsable. ## ¡Muchas!, ¡muchas revisiones! Dentro de poco llegaré a las 6.000 revisiones de Plugins realizadas durante el tiempo que estoy patrocinado por Hostinger (2024-2025). Sin la colaboración sería imposible estar tanto tiempo dedicado al equipo. Es un trabajo que mentalmente agota bastante, y siendo mi segundo trabajo, cuesta algunas veces un poquito más. Pero siempre orgulloso del trabajo y los resultados que estamos obteniendo. ## Charlas en las que he participado En este año, me ha dado tiempo también a preparar diferentes charlas en WordCamps (congresos de WordPress) y Meetups, cuya finalidad siempre es de compartir conocimiento y ayudar a otros desarrolladores a mejorar sus herramientas. He estado enfocado sobre todo en la herramienta Plugin Check Plugin, de la que hablaré más adelante. Charlas: - Desarrolla en WordPress Plugins más seguros en WordCamp Málaga - Crea tu propio plugin para WordPress, desde cero o ya sabiendo algo en WordCamp Madrid - Conoce la nueva herramienta para hacer tu Plugin WordPress más seguro en Meetup Granada - Contribuir a WordPress revisando Plugins en WordCamp Griñón ## Mención en el State of the Word Tengo el honor de elaborar las estadísticas que se utilizaron en el State of the Word del equipo de Plugins. Conseguimos una mención especial gracias a los avances en las herramientas que utilizamos para revisar Plugins. Las utilizó Matt Mullenveg (Cofundador de WordPress) en el evento anual donde se hace una revisión del proyecto WordPress y futuros avances. El equipo de Plugins era un gran olvidado, pero para esta cita si tuvimos nuestra mención. Fue una gran emoción. La frase que ayudamos a preparar fue la siguiente: **Desde que la lanzamos, vemos un 41 % menos de problemas aprobados por plugin aprobado. Y los equipos están aprobando un 138 % más de Plugins cada semana. Así que felicitaciones enormes al equipo de revisión de Plugins por darse cuenta de eso y poner más plugins en manos de los expertos de la comunidad. Matt Mullenveg en State of the Word 2024 La foto en gigante del equipo en el escenario en Tokio, hizo que al compartirla, me preguntaran si estaba allí… Pero no fue así… ## Involucración en el desarrollo de Plugin Check Plugin Este Plugin es una herramienta que permite a los desarrolladores de WordPress, hacer plugins más seguros gracias a las diferentes comprobaciones que tiene. Esta iniciativa del equipo de Performance, se creó en 2022, y no se hizo oficial hasta el año 2024. Plugin Check (PCP) Desde Abril del año pasado viendo que el plugin no iba avanzando, me involucré para revisar los Pull Request que había pendientes, ya que necesitaban un segundo revisor para terminar de validarlos, y ayudar a realizar comprobaciones que ya estaban hechas en nuestro Escáner interno, del que se encarga mayormente Fran Torres. Fue un camino un poco tortuoso al principio, ya que no se entendió mi papel que era el de ayudar y desbloquear el desarrollo. Veía una necesidad de desbloquear varios meses de trabajo por parte principal de Nilambar y el equipo de Performance. Mi trabajo ha sido principalmente enfocado: - Auditar todas la comprobaciones que realizamos en nuestro Escáner Interno y revisar cuáles pueden ir en la herramienta pública. - Aprender el flujo de trabajo del plugin. Esto me costó bastante, ya que aprendí al desarrollo con Tests Unitarios y BEHAT, y Trunk Based Development. - Crear las tareas para realizar comprobaciones por parte del equipo. - Proponer y avanzar en las necesidades para que se publicara wordpress.org Y conseguimos que se publicara en wordpress.org/plugins/developers/add/ el 17 de Septiembre Una vez conseguimos gracias a Chris en la WordCamp US, que se admitiera el plugin para todos los envíos al directorio fueran auditados automáticamente por PCP. Y por tanto, cree la siguiente entrada explicando cómo funcionaba PCP. Introducing Plugin Check (PCP) ## Artículo Cierre Año 2024 Como me encantan las estadísticas, preparé una revisión de todas las revisiones realizadas por todo el equipo durante este año 2024. Creé una herramienta interna junto con Fran, que analiza las conversaciones de correo con los usuarios para ver las incidencias que hemos detectado. Hice un cuadro de lo que se detectaba en más cuantía. El detalle de todo lo que se comentó, lo puedes ver a continuación en la entrada original. A Year in the Plugins Review Team – 2024 ## Conclusión y Agradecimientos Ha sido un año apasionante con grandes retos profesionales en el que he aprendido muchísimo. Tengo que hacer una mención especial a Fran Torres**, compañero de viaje y siempre dispuesto a ayudar revisando plugins, y también a Nilambar por su gran implicación en el equipo. También agradecer al resto del Equipo de Plugins, ya que creo que aunque tenemos una labor que no se ve mucho, pero que si no funcionara, saldría mucha gente a la calle con antorchas (en sentido figurado claro). Podríamos ser como los Fontaneros de Internet. ¿Qué nos queda para este siguiente año? Los envíos de nuevos plugins en WordPress, no dejan de crecer **habiendo doblado el año anterior**. Por lo que toca seguir haciendo muchas revisiones y ayudar a empujar al equipo a que siga apretando. ¡No queda otra! --- ## Desarrolla en WordPress Plugins más seguros URL: https://davidperezgar.com/blog/desarrolla-en-wordpress-plugins-mas-seguros/ Tabla de contenidos Toggle - Introducción - Charla - Resumen - Transcripción ## Introducción Plugin Check Plugin es la nueva herramienta disponible para todo el mundo y que permite hacer revisiones automáticas de tu plugin, darte indicaciones de tu código que no es seguro, además de indicar buenas prácticas. Mejora tu desarrollo con este plugin haciéndolo parte de tu flujo de trabajo. ¿Qué es Plugin Check Plugin? Es una solución que te permite realizar revisiones automáticas de tu plugin, analizando tu código en busca de posibles vulnerabilidades y errores de seguridad, y además, te ofrece sugerencias sobre buenas prácticas y estándares de codificación. Con ella, podrás: - Detectar problemas de seguridad: Recibe alertas sobre secciones de tu código que podrían ser inseguras o vulnerables. - Asegurar la calidad del código: Obtén recomendaciones para mejorar y optimizar tu código, garantizando que sigue las mejores prácticas de la comunidad WordPress. - Ahorro de tiempo: Automatiza las revisiones, lo que te permite concentrarte en lo que realmente importa, desarrollar y mejorar tus plugins. - Integración en tu flujo de trabajo: Incorpora fácilmente la herramienta en tus procesos de desarrollo, para que cada versión de tu plugin cumpla con los estándares de calidad y seguridad. Mejora tu desarrollo haciendo de Plugin Check Plugin una parte esencial de tu flujo de trabajo y descubre cómo mantener tus plugins a la vanguardia de la seguridad y eficiencia. ## Charla ## Resumen Hola, soy David Pérez, desarrollador apasionado por WordPress desde 2010 y cofundador de la Agencia Close de Marketing y Desarrollo, donde lidero el área técnica y desarrollo plugins, sobre todo enfocados en Gutenberg. También formo parte del equipo de revisión de plugins de WordPress.org, gracias al patrocinio de Hostinger, donde trabajo para mejorar la seguridad y la calidad del ecosistema. En esta charla quise presentar una herramienta que estamos impulsando desde la comunidad: **Plugin Check Plugin** (PCP). Es una herramienta gratuita que permite revisar automáticamente el código de nuestros plugins para detectar vulnerabilidades y malas prácticas. Lo interesante es que podéis integrarla fácilmente en vuestro flujo de trabajo y usarla antes de enviar un plugin al repositorio oficial o lanzarlo de forma comercial. Este proyecto empezó en el equipo de Performance de WordPress, pero ahora también estamos muy involucrados desde el Plugin Review Team y el equipo Meta. De hecho, desde septiembre pasado, todos los plugins que se suben al repositorio se revisan automáticamente usando esta herramienta, y en el futuro, también lo harán las actualizaciones de plugins. El número de plugins que recibimos ha aumentado mucho: de unos 120 a más de 250 por semana. Y aunque no fue una charla sobre IA, también usamos inteligencia artificial para comprobar, por ejemplo, si el nombre de un nuevo plugin entra en conflicto con los 60.000 ya existentes. Durante la sesión hice una pequeña demo de cómo funciona Plugin Check Plugin: simplemente instalándolo en nuestro entorno local de WordPress, seleccionamos el plugin que queremos revisar y el sistema nos muestra errores, advertencias y sugerencias, organizadas en categorías como seguridad, rendimiento o buenas prácticas de codificación. Nos centramos en dos medidas básicas de seguridad que todo desarrollador debería aplicar: **sanitizar** la información que recibimos y **escapar** cualquier dato antes de mostrarlo. Usando solo estas dos prácticas se puede evitar un gran porcentaje de las vulnerabilidades más comunes. Finalmente, compartí ejemplos reales de plugins conocidos que sufrieron vulnerabilidades graves que se podrían haber evitado simplemente pasando el código por esta herramienta. También respondí preguntas sobre cómo usar Plugin Check Plugin, cómo mejora la seguridad y algunas recomendaciones para seguir desarrollando de forma segura. Muchísimas gracias a todos los que asististeis. Espero que esta herramienta os sea tan útil como lo está siendo para nosotros en el equipo de revisión. Fotos Gracias a Paco Marchante 🔍🔧 En #WCMLG25, @davidperezmk nos ha presentado Plugin Check Plugin, una herramienta clave para revisar la seguridad y la calidad de nuestros plugins de forma automática.Porque un buen código… ¡también se entrena! 🚀#WCMLG #WordPress #WordCamp #IA pic.twitter.com/hr5oiL1tO3 — WordPress Málaga (@wpmalaga) April 26, 2025 ## Transcripción Toda la charla PresentadorAhora vamos con un ciclo de mini charlas. El primer turno es para David Pérez, que es desarrollador apasionado por WordPress desde 2010 y cofundador de la agencia Close, donde lidera el área técnica y desarrolla plugins, con especial foco en Gutenberg. Ha tenido un papel muy activo en la comunidad WordPress, participando en WordCamp, colaborando con WordPress TV España y desde 2023 forma parte del equipo de revisión de plugins, contribuyendo a mejorar su seguridad y calidad. Y además, en el plano personal, organiza una carrera solidaria en Granada en honor a su padre. En su charla, que se titula Desarrolla en WordPress, plugins más seguros, David nos va a presentar el Plugin Check Plugin. ¿Se llama así? Sí, sí, Davidplugin, check plugin. Una Presentadorherramienta gratuita que realiza revisiones automáticas del código de tus plugins para detectar vulnerabilidades y sugerir buenas prácticas. Esta solución permite mejorar la seguridad y calidad del código mientras que se integra fácilmente en tu flujo de trabajo, ahorrando tiempo y facilitando el cumplimiento de los estándares de desarrollo en WordPress. Así que, vamos allá. DavidMuchas gracias. Bueno, buenas tardes a todos. voy a contar un poquito sobre todo una herramienta que hemos desarrollado desde la comunidad que fue un proyecto que inició el equipo de Performance que como sabéis están haciendo muchas cosas también en el core de WordPress hace poco en las 6-8 he sacado muchas cosillas de rendimiento y lo iniciaron ellos y junto con nosotros el equipo de Plugin Review Team hemos metido una serie de checks que le llamamos nosotros para detectar incidencias en vuestro código. Cuando vosotros hacéis un plugin, ya sea de manera comercial o sea para ponerlo en el repositorio oficial, si lo mandáis al repositorio oficial nosotros hacemos una revisión manual también con un T automatizado y sobre todo ese tipo de comprobaciones que hacemos en el código lo podéis vosotros hacer antes. Entonces, lo bueno de esta herramienta es que podéis usarla en todo momento y vamos a ir viendo. También voy a enseñaros cómo vulnerabilidades graves en ciertos plugins se hubieran solucionado muy fácilmente utilizando este plugin. Además, dándote unos consejos que quiero que os llevéis, por lo menos, si sois desarrolladores. Este equipo también ha participado en este plugin. Si vos buscáis en el repertor oficial, se llama Plugin Chef Plugin o PCP. Y también ha participado el equipo de meta que si no lo conocéis el equipo que hay detrás de wordpress.org pues también ahí estamos entonces bueno actualmente también este plugin conseguimos en septiembre del año pasado de que si sube un plugin al repositorio de wordpress automáticamente sea verificado por este plugin entonces está cobrando mucha importancia y hay un proyecto que va a tardar un poquito de que todas las actualizaciones de wordpress porque ahora mismo son somos un equipo reactivo, es decir, que cuando nos piden o nos mandan plugin, nosotros lo revisamos. Pues la idea es que seamos mucho más proactivos, de manera que cuando haya cualquier actualización del plugin, sea revisado por este plugin. Con lo cual, tenemos una herramienta bastante consistente y bastante fiable para usarla y que va a ser usada por toda la comunidad antes o después. Si no es voluntariamente como es ahora, será forzosa porque no saldrá en nuestro problema de actualización de plugins. Bueno, como veis no es una charla de IA, pero bueno, sí es verdad que nosotros cada vez estamos usando más la IA y simplemente queda un par de toquecillos de IA porque no estaba pensada totalmente, pero bueno, para que sepáis un poco que los plugins que nosotros revisamos a la hora de que se nos envían, estamos encontrando que del año pasado a este ha doblado la media de envío de plugin semanal. El año pasado estaba sobre unos 100, 120 y ahora están unos 250. De hecho, ayer fue de los récords de este año, unos 45 plugins enviados. Suele ser los jueves o los viernes, ayer o antes de ayer. Y nosotros lo que estamos usando mucho la guía es también para cuando te mandas un plugin, tiene un nombre muy genérico, comprobar con todos los 60.000 plugins que tenemos publicados en nuestro repositorio que no entre en conflicto de nombre. Entonces lo estamos usando bastante. ¿Cómo funciona este plugin? Vamos a hacer una pequeña demo y va a enseñar cómo funciona. Si nos da tiempo, que tenemos que ir muy rápido. Primero se instala en nuestro WordPress. Evidentemente esto para usarlo en nuestro entorno local. Cuando tenemos nuestro entorno local, instalamos el plugin plugin-check-plugin Y junto con nuestro desarrollo podemos analizar el código. Tiene diferentes categorías. Tenemos un montón de checks o de comprobaciones. Y esas comprobaciones están ocupadas por categorías que no son excluyentes. Es decir, que puede haber… Vosotros podéis comprobar la seguridad y a lo mejor en el repo del plugin, que es el que nosotros usamos y el que está activado por defecto, también tienen todos los checks de seguridad. No son excluyentes, pero sí están focalizados. Entonces, pues dicen, bueno, quiero meter la seguridad. Entonces, si tenéis algún plugin comercial o tenéis plugin para clientes y os interesa también, por ejemplo, auditar el lado de rendimiento, la accesibilidad no lo recomiendo porque está muy verde. No hay muchas comprobaciones de accesibilidad. Pues le podéis dar y os hará una serie de incidencias en vuestro plugin. ¿Vale? Vale, esas comprobaciones o checks que estamos avisando se realizan de forma dinámica o estática. o basada en los estilos de código de coding estándar. Estática quiere decir que según el código en el que está lee el PHP y automáticamente ya te va diciendo los problemas que encuentran en ese check y dinámico es que ejecuta código. Se ejecuta código y espera una variable y sobre eso te va diciendo si deberían ser correctas o no. Entonces, pues hay una cantidad. Nosotros actualmente y por aquí tengo a Fran Torres que es el principal involucrado en nuestro comprobador que tenemos, Internet Scanner, que nosotros le llamamos que cuando nos llega un plugin y nosotros lo revisamos, tenemos una herramienta, aproximadamente habrá unos 200, ¿no? Más o menos. Sí, tuvimos… ¿cuántos? 200 y pico ya, le perdemos el control, no está contado. Pues bueno, pues de esos 200 y pico y que aparte tiene un proceso manual que nosotros realizamos, nosotros hemos podido conseguir hasta ahora unos 83. Es decir, no tiene todos los que se realizan por parte del equipo, pero sí tiene una gran parte, 83 son bastantes. Y de ello, hay veces que no estamos muy seguros de lo que hace la máquina. Es decir, nos dice los non sobre todo, la comprobación de seguridad cuando son peticiones post, etc. Pues, como no estamos muy seguros, lo ponemos con un nivel un poquito menos exigente para que no, incluso, como estaba diciendo, puede bloquear la subida de un plugin para que no la bloquee. Entonces, hay unos 31 errores, 24 avistencias y reglas coding estándar. Quería de manera rápida repasarles, y si quiero entrar un poquito a cómo se utiliza, para que os llevéis un poco esta herramienta que funciona estupendamente, las principales herramientas. Estos son los checks que tenemos actualmente. Hacemos comprobaciones de traducción. Actualmente los plugins, si queremos que sean traducibles, hay una serie de funciones en las que después tenemos que poner el dominio de esa traducción. Todas esas comprobaciones. Luego también puede haber inyecciones de código a través de esas funciones, con lo cual también damos que se utilice la versión segura o escapada. Esto también, por lo que conozcáis, no se permite ofuscación de código en el repositorio de WordPress. Esto también ayuda mucho a la seguridad porque no tienes código que no sabes que se está ejecutando. Eso es fundamental para nosotros y de hecho lo editamos y lo damos como error si se utiliza cualquier tipo de base encode o cualquier tipo de archivo. Por ejemplo, ejecutables.bat. Diréis, bueno, ¿quién pone un.bat, un.exe o un.sh? Hay mucha gente que lo pone. Eso está bloqueado totalmente, además de las librerías que se utilizan de desarrollo. Por ejemplo, nosotros podemos poner en nuestro Composer librerías que se utilizan para auditar nuestro código, para hacer PHP unitario, etc. Pues todas esas librerías no deberían ir en un plugin ya final. Por eso damos estrategia y damos ayuda. Las cabeceras, la típica, si habéis publicado… ¿Quién de aquí tiene un plugin en repositorio de WordPress? ¿Quieres levantar la mano? Uno, dos. Bueno, animo a que publiquéis porque se aprende muchísimo. Y yo también tengo unos cuantos. Y sobre todo, el modelo que está funcionando muy bien es el freemium. Bueno, por un lado, gratuito entero o freemium. Y cuando subimos una versión nueva en la cabecera del Realme, hay que poner una versión y tiene que ser la misma que la cabecera del PHP. Es algo sencillo, pero esto ya te lo está avisando. Y aquí voy a entrar un poquito más de detalle en medidas de seguridad, que son, al final, el 80% de las medidas de seguridad está en cuando recibe información que lo sanitice y cuando tú ejecutas código hace un eco que se escape. Esa es de los principales principios de seguridad y en ese sentido vamos a ir viendo un poco. Esto aquí hay, gracias a la herramienta Coding Standard, que si no la conocéis, es un repositorio que analiza nuestro código. Incluso lo podemos implementar en nuestro editor de código y no hace como, por ejemplo, en el Word, que te pone una rayita roja si el código está mal. Yo lo uso mucho también para el estilo de código, cuando tenemos un equipo de trabajo, que no todos escriban de una forma u otra, el código se vea de manera uniforme, incluso podemos tener reglas personalizadas para el equipo, porque a lo mejor los arrays, a mí me gusta los arrays cerrados con las llavecitas, pues el código estándar te pone un error, entonces tú puedes personalizarlo. Son cositas así que tienen, en estilo de código y en muchas más comprobaciones. Por ejemplo, el tema de los SQL. Os voy a enseñar cómo informes de vulnerabilidades graves en plugins conocidos. Voy a juntar las preguntas con… Ah, vale, vale, perfecto. Más comprobaciones y entramos un poco a peticiones directas a base de datos. Tienen que ir siempre con el Prepare. Y bueno, aquí hay unas cuantas más de performance. Os las dejaré en la diapositiva, en la web de la WordCamp. Sobre todo quiero entrar al detalle de dos comprobaciones que tenéis que hacer siempre cuando trabajéis con vuestros plugins. Sobre todo el de Sanitize. Sanitize quiere decir que, por ejemplo, si tenemos un formulario, tenemos un input, cuando se ejecuta ese formulario, la información que te llegue tendría que ir sanitizada. Tiene que ir sanitizada. Hay distintas funciones a la hora de sanitizar y lo que hacen es que descomponen si hay un código que no sea ejecutable o que no se guarde un código malicioso. Lo descomponen. un poco así de forma resumida hay muchos tipos de funciones de sanitizado por ejemplo, si nos viene un email para sanitizar email, tienen ciertas reglas pero al final la principal es el SanityZtexField y si hay un Array, tendrás que recorrer todo el Array y hacer SanityZtexField en cada valor del Array pues este y la siguiente bueno, estas Davidtres, Davidperdón La siguiente es la de escapado, la de escapado, que es cuando nosotros hacemos un eco de un script, de un título, deberemos pasarlo por una función de WordPress que se llama HTML, esa es la básica y luego la podemos utilizar. Lo que hace es que no ejecuta código malicioso. Con esas dos funciones y las conozcáis bien y las uséis de manera masiva, el código va a ser mucho más seguro. Se puede utilizar con un WP-CLI, se puede utilizar como acción de Gijas. Esto lo recomiendo mucho porque podemos hacer T automatizado sobre nuestro plugin cuando hacemos una release o un pull request y que sea analizado por el plugin-check-plugin. Y para terminar, aquí pone muchas gracias, pero todavía no. Para terminar, quería enseñaros, porque muchas veces hablamos de seguridad y creemos que es algo complicado y debe ser algo muy sofisticado. y os quería enseñar primero cómo funciona el plugin check plugin que si se ve más o menos bien cuando lo instalamos nos da una opción en tools plugin check y nos da un select de los plugins que nosotros tenemos instalado en nuestra instalación como veis bueno pues es más o menos sencillo y yo elijo el plugin y le doy a check it el plugin repo es el que está señalado por defecto con ese para mí es más que suficiente y fijaros este es un planning bastante conocido tenía la cantidad de resultados que da que hay que arreglar aquí como veis tienen un error estos tienen que arreglarse te dice pero es que hay un burguer por abajo te dice el archivo la línea y bueno con la línea suficiente y te da el típico error de comprobación. Incluso lo podéis ver en el editor si queréis verlo y esto se hizo al tiempo. Os da una guía de cómo poder solucionarlo y tener más información de cómo solucionarlo. Pues como veis, aquí tenéis una cantidad. Y quería entrar al detalle, y esto ya para terminar. Aquí tenemos, hay varias empresas de seguridad, una de ellas es Patestack y hace unos informes sobre plugin. El equipo de plugin, que nosotros tenemos un pequeño subequipo que es de seguridad, que recibe esos informes y notifica a los autores. Esto es lo que hace Patestack, que nos notifica y con un tiempo prudencial le dice el autor, oye, arregla este parche. Lamentablemente no siempre lo arreglan, pero bueno, y no lo hacen público hasta que se ha arreglado. Aquí, por ejemplo, vemos que la versión 2.26, la menor de 2.26 tiene una vulnerabilidad bastante grave, que es cross-site scripting, la ejecución de código. Incluso fijaros que nos da un poquito más el detalle de la vulnerabilidad. Este plugin se llama vpSocialWidget. ¿Cómo lo hubiéramos solucionado? Si el autor hubiera utilizado esta herramienta, automáticamente le hubiera dicho que tenía que haber estado escapando. Ciertas funciones. Y fijaros que no se da una vez, se da muchas veces. Usando esta herramienta y dejándolo limpio, sobre todo los errores, los warning es para que vosotros digáis, ¿esto está bien o está mal? Porque como no hay un proceso manual que nosotros podamos recomendar, pues sí es verdad un poco el criterio de cómo podemos solucionarlo. Entonces, bueno, el informe es bastante grande, inquieta un poco esto. También nos puede servir incluso para auditar la seguridad que tenemos de ciertas instalaciones. Oye, nos interesa a lo mejor, voy a pasarle el plugin y si es un plugin conocido se lo mando al autor. oye los autores normalmente suelen estar implicados en que esto funcione entonces ellos les interesa que sea lo más seguro posible entonces pues sí también de ahí a conocer aquí por ejemplo el que decía de croissants scripting que sólo está asociado que no utiliza el escapado este por ejemplo es vulnerable con sql que es un plugin que se llama order splitter que aparentemente lo que hace es que según creo que los pedidos los divide. Y aquí en orden de splitter le damos y efectivamente veréis que si hubiera usado esta herramienta, aparte de tener escapado que aquí por ejemplo tiene traducción, también se hubiera encontrado con que hubiera hecho bueno ahora no me va a salir porque hay un montón de incidencias pero si lo buscamos aquí estáis viendo se ha usado una query y no se ha utilizado el pp que lo que hace es que las variables que nos traemos la sanitiza de alguna forma para que nos entre directamente en una consulta sql pues si hubiera utilizado nuestra herramienta no hubiera tenido este problema y finalmente de aposar widget he cogido tres más o menos que veía algunas ponen los priority otra high priority pues igual aquí si vemos que la de dashboard bueno la vez que es un ejemplo vaya tela yo es para no usarlo y salir corriendo vale aquí como veis pues igual este era de cross-site request forgery este no lo conozco yo este pues igual aquí escapado como veis casi toda la seguridad en un Presentadorporcentaje muy Davidalta es sanitizado y escapado y los nonsense que no tenía el detalle de contarlo pero también ayudan mucho pues si tenéis alguna pregunta Pregunta 1¿El plugin este que nos has mostrado para comprobar la seguridad solo sirve para comprobar la seguridad de un plugin o sirve para comprobar la seguridad de un código que tú le Davidinsertas? Solo para plugin Pregunta 1Primero conviertes tu código a un plugin Davidprivado Acuerdas Pregunta 1de la conversación de antes y luego lo compruebas me ha llamado la atención que todos los que pones tienen muchísimos agujeros de seguridad es así con todos yo Davidespero que no o sea esto está buscado bueno pero no lo tenemos bien no lo sabemos exactamente nosotros lo que tenemos es que yo digo que nuestro equipo trabaja de forma reactiva cuando tenemos notificaciones de usuarios o nosotros analizamos el código y cerramos el plugin para digamos cortar la sangría Davidle Daviddecimos el autor que arregle y a partir de que haga una actualización se hace como a una comunidad normalmente suele ser Pregunta 1vale y por último si Daviddetectó Presentadorerrores Pregunta 1importantes en un plugin se los reportó al autor y no le sale Davidde los huevos utilizar otro plugin Pregunta 1utiliza otro sí sí justo Davida Davidti Pregunta 2Buenas, yo más que pregunta, recomendación yo sí he utilizado el plugin desde que lo anunciasteis me habéis tirado ya un plugin para atrás Davidvamos a salir corriendo Pregunta 2no, en realidad son tres tonterías pero no he tenido tiempo de corregirlos Davidpublica Pregunta 2uno nuevo pero sí que os voy a dar una recomendación DavidPaco estaba por aquí también, haciendo fotos cuando Pregunta 2te sale una alerta de un error Davides Pregunta 2verdad que bajo mi punto de vista a veces las recomendaciones que dais para solucionarlo Davidno son de todo no Pregunta 2son de todo claras y no va directamente al turrón es decir Davidlo Pregunta 2que estamos Davidhablando el Pregunta 2problema lo tiene el escaping coño pues llévame el escaping dímelo claro Davidporque te manda Pregunta 2lo mejor una documentación gigantesca Davidque Pregunta 2en realidad tampoco me termina de Davidresolverla Pregunta 2vamos Davideso en el canal interno si lo tenemos hecho de hecho se hace con un ejemplo te enseñamos dónde podéis qué línea que en planche no lo tenemos pero bueno te cojo la sugerencia y trabajaremos en ello de hecho animo en hija si lo buscáis y hagáis vuestro propio issue y bueno hay gente de google de hago esos motifs de empresas muy grandes que le interesa muchísimo el tema Pregunta 3hola me gusta mucho la herramienta pero también Davidpienso Pregunta 3en un hacker también estáis dando la información de cómo hackear no Davidbueno no creas porque realmente ellos nos van a quiero decir que siempre vamos por delante en el sentido de buscar posibles agujeros es como hago un símil rápido es como en la oficina mi edificio oficina hubo un robo y dónde fueron los que fueron a robar pues en la oficina que no tenía alarma quiero decir que los planes que se preocupan por hacer nuevos parches de seguridad pues normalmente van a tener menos ataque ellos van a donde va a lo que lo tienen más fácil entonces Pregunta 3realmente no se puede Davidhacer si podría ver oye y en estos planes algún Pregunta 3playa y no así que vea lo busco y Davidclaro efectivamente bueno no sé claro la audita dice mira este plan es un agujero sí sí ellos también tienen a su propia herramientas. Luego me cuentas. Listo, muchas gracias. Muchas gracias. --- ## Crea tu propio plugin para WordPress, desde cero o ya sabiendo algo URL: https://davidperezgar.com/blog/charlas/crea-tu-propio-plugin-para-wordpress-desde-cero-o-ya-sabiendo-algo/ **Ponentes:** Francisco Torres, Paco Marchante y yo, David Pérez Tuvimos la oportunidad de estar en la WordCamp Madrid 2025 compartiendo un taller donde enseñamos a crear un plugin en WordPress desde cero. La idea era hacerlo sencillo, dinámico y adaptado al nivel de cada persona en la sala, así que lo planteamos como un paso a paso práctico. Agradezco a Hostinger por patrocinar mi tiempo de contribución en el equipo de WordPress Review Team. Tabla de contenidos Toggle - ¿Por qué estáis aquí? - Primer Paso: ¿Qué es un Plugin y Cómo se Publica? - Segundo Paso: Creando el Plugin con WordPress Playground - Tercer Paso: Haciendo que el Plugin Funcione - ¿Y Ahora Qué? - Cierre y Preguntas ### **¿Por qué estáis aquí?** Empezamos con una pregunta al público: ¿Quién ha creado un plugin alguna vez? ¿Quién tiene uno publicado en el directorio? Hubo algunas manos arriba, pero muchos venían con ganas de aprender. Así que bajamos el nivel y arrancamos desde lo más básico. ### **Primer Paso: ¿Qué es un Plugin y Cómo se Publica?** - Un plugin es básicamente una pieza de código que añade funcionalidad a WordPress sin tocar su núcleo. - Explicamos cómo funciona el equipo de revisión de plugins, del que formamos parte, y mencionamos que se revisan unos 35 plugins al día. - También repasamos las reglas básicas que debe cumplir un plugin para ser aceptado en el directorio. ### **Segundo Paso: Creando el Plugin con WordPress Playground** - En lugar de complicarnos con entornos de desarrollo, usamos **WordPress Playground**, una herramienta que permite crear un WordPress en el navegador sin instalar nada. - Explicamos cómo guardar los cambios y trabajar con **Blueprints**, que nos permiten personalizar la instalación con plugins y configuraciones predefinidas. ### **Tercer Paso: Haciendo que el Plugin Funcione** - Creamos el plugin en directo, explicamos cómo organizar los archivos y escribimos el código básico. - Hablamos de **Hooks**, diferenciando entre **Actions** y **Filters**, y cómo usarlos para modificar WordPress sin tocar su código. - También explicamos la importancia de la **sanitización y escape de datos** para evitar problemas de seguridad. ### **¿Y Ahora Qué?** - El plugin ya estaba hecho, pero ¿qué más? El público quería más. Así que hablamos de cómo publicarlo en el directorio de WordPress y qué revisar antes de enviarlo. - También dimos algunos trucos sobre nombres de plugins, dependencias y buenas prácticas. ### **Cierre y Preguntas** El público se animó a preguntar de todo, desde cómo evitar errores comunes hasta cómo adaptar WordPress Playground para probar proyectos reales. Fue un taller muy interactivo y divertido, y nos encantó compartirlo con la comunidad. ¡Nos vemos en la próxima WordCamp! 🚀 Transcripción Tengo el gran placer de presentaros a Francisco Torres, a David Perez y Paco Marchante. Francisco Torres participa en la comunidad desde hace ya casi dos años, contribuye en el equipo de revisión de plugins de WordPress. Trabaja como desarrollador. Es Andaluz de Graná. Exactamente. Le gusta el ciclismo, la natación, las tostadas con tomate y aceite. Aunque bueno, los chorros tampoco están nada más. También tenemos a David Perez, que participa también en el equipo de revisión de plugins desde 2023. Tiene además una agencia de marketing y desarrollo basado en WordPress. Me encanta el código limpio, las buenas prácticas y cuando nieva, pues sube corriendo a Sierra Nevada a practicar el esquí de fondo. Además, también organiza una carrera solidaria en Granada, en memoria de su padre. Y bueno, también tenemos a Paco Marchante, que es desarrollador senior full stack con más de 8 años de experiencia en CMS. WordPress, Prestasov y otras plataformas similares. También forma parte del equipo de revisión de plugins de WordPress.org. Ha sido organizador de las meetups oficiales de WordPress desde 2018 en Cádiz y Chiclana. Y también organizado eventos como la Workup de Chiclana desde 2020. Workup Spain, también desde 2020, entre otros. Y bueno, además ha sido ponente de distintos eventos. Así que bueno, yo dejo de enrollarme ya y os dejo a ellos buenas manos. Un fuerte aplauso, por favor. Bueno, y por qué tanta gente aquí? Es que, bueno, hoy lo que vamos a enseñar en estas dos horas, lo siento, son dos horas, es un poquito larguito. Pero bueno, esperemos que todo auguste y tal. Vamos a enseñar cómo crear un plugin. Y vamos a empezar directamente, porque es que esto ya vamos a no perder tiempo, cuanto antes lo tengamos hecho, pues ya está. Entonces, el primer paso, porque esto en tres pasos se puede hacer un plugin. Entonces vamos a enseñarlo así. Esto a ver por dónde tiene, es que cada estropeón no es mío, donde están navegados. Mira, aquí entramos en chat GPT, paso uno. ¿Vale? Bueno, y a paso 2. Claro, el paso 2 bueno utilizando tecnología de última generación, ¿vale? Como es la Inteligencia Artificial, ¿vale? Sólo tenemos que escribir un texto simple. ¿Tú qué quieres hacer? Un plugin, yo quería hacer un plugin. Ah, vale, no lo he dicho que sea, ¿eh? Créame un plugin, ¿vale? ¿De qué quiere ir el plugin? ¿De qué lo quiere ir? No sé. Oye, un plugin. Sí, sí, sí. ¿Qué te pongas los metatíteles? No sé qué. Keyboards, que hay boards. Meta keyboard. Keyboard. Word. Joder, qué palabras. En las entradas, ¿no? A mí mismo. En la entrada, claro. Es optimista, sobre todo las keywords, ¿eh? Es que si no, si no las ponéis. Y tiene que decirle que es en WordPress. ¿He escuchado que no se utiliza? No. Yo qué sé. Ya, ya. Pero más allá, el título. Sí, sí. ¿Se ha dicho el título? Claro. Vale. Que también es título. Es el título. ¿Sí? Vale, pues ahora– Venga, voy a darle ley. Venga. ¿Tecés paso, no? No, sí. Ahora va, tercer paso. Al tercer paso. Al final, es el paso más importante, ¿eh? Sí, sí. Me habéis dejado para hacer. Sí, sí. ¿Y ya está? Bueno, ya no está escribiendo. Ahí está. Lo estás generando. Se ve bien, ¿no? Bien. Bueno, ahí está. ¿Me tiene meta aquí igual? Ya está. Ese es el código del plugin. O sea, que ya está el plugin hecho. Así que, bueno, pues muchas gracias por todo. Gracias, Pedro. Ahí se un público acolente. Saludos. Saludos. Sí, sí. Oye, ha salido bien, ¿no? Ya hemos terminado. Ya esto. Ahora va la siguiente charla, ¿eh? Oye, Paco, creo que… Sí, sí, sí. No, ya tenés que ir por mi portátil. Sacra, ya he llegado a tarde. No, a ver, David, voy yo, lo recojo yo. ¿Qué haces aquí? Ya lo he terminado, ya. Estamos cansados. Ya hemos de ir. ¿Que siguen aquí? También. Pero, ¿quiere más cosas? Pero, ¿estás en? No entiendo. ¿Y si ya le hemos enseñado a hacer un plugin, qué más? Claro. ¿Un PRO? ¿Cómo se creen que ese programa en 2025? Eso digo yo. Pero, ¿vosotros? ¿A qué habéis venido? ¿Qué? ¿Qué? ¿Por qué es aquí? O sea, ¿qué espera es que hagamos? Aparte de esto, no sé. ¿Publicarlo? Ah, publicarlo, bueno, bueno, mira, puede ser útil. David, ¿dile a esta GPT qué publica el plugin? ¿Qué más preguntan una cosilla? Vamos a decir que lo publique. Bueno, y ya está. La cosa es que ya no hemos preparado nada más. No, pues, yo qué sé, dile… No, le estoy diciendo que lo publique en www.warpers.org. Vale, vale, vale. Mira, ahí está, enviar plugin para supervisión, en la página de subida de plugins, pues no me dé el plugin. Eso ya está, eso ya está hecho, porque lo ha hecho todo. Y una vez enviados, suelen tardar entre 2 y 7 días para probarlo bueno. Bueno. Bueno, no siempre, no siempre. Pero bueno… Es más rápido. Sí, sí, es verdad. Pero bueno, ya está, sí, pues, ya está. Si esta gente quiere más cosas, podremos más cosas. Así que, a mí, bueno, ya está. Vamos a sentarnos aquí, vamos a hacer algo. Quedan más sencillo. Más sencillo que eso. Bueno. Después de esta performa. Bienvenidos, señores, señores y señores y señores a este taller excelente para crear un plugin. Que va a ser todo adaptado a vosotros, porque realmente vamos a ver qué sabe cada persona, qué necesidades tenéis. Y estamos tres personas. Por eso estamos tres, porque para poder dividirnos gente que tenga menos conocimiento de programación, gente que tenga más y adaptarnos a cada caso. Y bueno, vamos a empezar presentándonos un poquito, aparte de lo que ya ha comentado el compañero. Pues yo mismo que estoy hablando, pues soy Francisco Torres. Sí que realmente creo que nos presentamos los tres al mismo tiempo un poco, porque los tres estamos en el equipo de plugins de volpes.org. Somos de las personas que revisamos los plugins que se suben al día de estudio. Y queríamos hacer este taller. En todas las cosas, porque lo hicimos en Sevilla y salió bien. Goto mucho. Y sobre todo para enseñar a gente cómo hacer un plugin y que ese plugin pueda formar parte luego del repositorio o el directorio de WordPress. En el directorio hay unos 60.000 plugins. Pero como comentamos ayer, pues 60.000 uno, pues está bien. Al fin y al cabo, yo considero que contribuir con un plugin a la comunidad es una forma de contribuir a WordPress. Así que bueno, es algo que podías hacer. Claro, a ver, yo creo que también tendríamos que empezar un poquito bajando totalmente el nivel a ver si alguien no sabe que es un plugin que puede pasar. No hace un par de preguntillas, ¿no? Claro, las típicas preguntillas. Oye, alguien no ha programado nunca, nunca ningún plugin para WordPress, el levanté la mano. ¿Y alguien tiene un plugin subido en el repositorio? ¡Oh, nada mal! Pero el resto tiene que publicar el plugin. Y el resto hay programas plugins, por lo que estoy entendiendo, ¿no? ¡Y sí, sí, sí, sí! O dedica a WordPress activamente con código o otra materia. Vale. Aquí, sobre todo, como comentaba Frank y David, vamos a ver un repaso entero desde la creación de plugins, desde los puntos básicos hasta los puntos más avanzados. Como somos 3, nos podemos dividir y podemos hacer una enseñanza más activa, no solo aquí viendo la pantalla. Y bueno, ¿cuánto de ustedes también tiene importate? Le pasa aquí la sesión y demás. ¿Sí, hay importate? Sí, porque realmente la idea es que sea un poco taller, que tenga ese portátil que hagáis, sé que tenéis poco espacio disponible para poner el portátil, pero bueno, lo podéis poner entre las piernas, luego se oscalienta los cachetes. No, no, tenéis una mesa. Ya, pero la mesa es… No, no, no, pero la segunda fiel es tan bien. Ah, la mesa, eh. Bueno, lo que te dices te me da si querés pasar a la segunda. Normalmente no sé, dice, todas las charlas, pero si hay mejoras mesas, sentíos libres de pasado. Claro, sobre todo también comprender el tema de… Bueno, ¿qué es un plugin, claro? Aquí tenemos la definición textual de qué es un plugin. Claro, esta es la definición textual de qué es un plugin. Afinar es algo que hace diferente o que te añade a Word. Lo más popular es el de Tienda Online, que crea una Tienda Online con un plugin y a partir de ahí puedes tener formas de pago, formas de envío, con plugin aparte. Al final añade una funcionalidad, de hecho lo que comenta David en el directorio cuando nosotros revisamos plugins que estamos recibiendo del orden de 30, 40 al día era. 35 al día. Sí, sí, pues imaginado, eh, 25 al día. Por ejemplo, muchos llegan de pasaderas de pago para para integrarse con Bookomers, y bueno, llegan de muchos tipos en realidad, ¿no? Pero la cosa es, fijaos, si hay cosas, integraciones y gente que piensa cosas distintas, o distintas integraciones con distintas cosas, por el final ya se integra todo con todo, para 35 nuevas ideas de plugins cada día. Es verdad que algunas veces son repetidas la idea, pero… Hay gente que no es original. Oye, pero ¿qué es esto del equipo de revisión de plugins? ¿Qué es el equipo de revisión de plugins? ¿Qué es el equipo de revisión de plugins? ¿Qué hace el equipo de revisión de plugins? ¿Quién no sabe? ¿O quién se sabe? Claro, es muy fácil. ¿Pero por qué? El por decir «revisión plugins». Es bueno. ¿Por qué se aprecie? Porque se podría subir el plugin, y bueno, la hemos subido, y se descarga mucho usuario. ¿Por qué hay personas detrás, y manualmente, revisando el código? Al final es un poco… para que haya cierto control en lo que se publica, y sobre todo hay tres cosas que son claves. Seguridad, compatibilidad y cumplimiento de las normas del directorio. Hay unas ciertas normas que al final acabo de hacer, que sea software libre y que no haga nada malo, y luego es súper importante que sea seguro. Que sepamos que ese plugin, si se instala en un sitio WordPress, que el sitio no vaya a ser hackeado en tres segundos. Entonces, por eso se hacen estas revisiones, y ese contior también posterior, cuando ya está publicado. La base de los plugins, bueno, hay un handbook gigante, que os animo a que lo conozcáis, porque se aprenden muchísimas de desarrollo. Y dentro de aquí hay una sección, que es la que hacía un poco… una referencia a él, la directiva o lo guidelines, para poder publicar tu plugin. Vamos a ver un poquito… Esgeramente. Esa es la norma que tiene que cumplir cualquier plugin, que es que la hay publicar dentro del repositorio, para ser hackeado. Esa son las normas básicas que tiene que cumplir, ya aparte de que esté bien programado. O peor, bueno, que cumpla con un mínimo de seguridad, y demás que, bueno, para eso ya también está el equipo nuestro, que revisa uno a uno todos los plugins que se suben, se intentan publicar, hacen la petición de publicación, dentro del repositorio, y todo esto se revisa uno a uno por un voluntario, ¿vale? Luego repasaremos también cuáles son los errores más básicos, los errores más básicos, los que repiten son los más comunes, pero con esto digo una cosa, no rayéis. Yo creo que todos nosotros, estos errores los cometíamos a diarios, hasta que entramos también en el equipo, donde aprendes. Yo creo que el mayor exponencial de aprendizaje fue también cuando entramos, por eso no os preocupéis si cometéis estos errores, porque son errores que cometemos todo el mundo a diario, ¿vale? Bueno, en poco a poco irán montrando materia, pero básicamente las mayores directrices de seguridad es cuando en nuestras funciones recibimos información o sacamos información que pasen por un proceso de sanitizado o de escapado, ¿vale? Eso es, digamos, las dos más importantes para que, digamos, no recibamos codidos maliciosos y los ejecutemos y bueno, y al hacer récord los ejecutemos, entonces estamos sirviendo a los usuarios codidos maliciosos que estamos creando. Para todo esto, ¿vale? Teníamos pensado mostrar primeramente WordPress Playground, porque todo el mundo tiene un entorno de desarrollo, y vamos a enseñar también un poco Playground, que es una herramienta que os va a servir muchísimo, ya no solo para la hora de desarrollar, sino también a la hora de realizar presentaciones a clientes o hacer cualquier tipo de testing, de código, de cualquier plugin o código que no lo queráis meter directamente en vuestro equipo, ¿vale? Hay una charla de Playground a las 12 y media, así que ya no tenéis ningún motivo para ir de aquí. No, es que la tenás cuidado. a que directamente la… ¿dónde acústela? Encuentra. Ya weonchado una primera. Se van a chalar de playground. ¿Por qué? ¿Por qué nos haces esto? A ver, no sé… Bueno, mientras que no conozcas qué es playground… ¿cómo lo explicamos? Es magia. Toda esta historia de… cuando te decís, vamos a montar un sitio web en WordPress. Y empezamos con el reorrollo MySQL, el IPHP, no sé qué… ¡puf! ¡qué cansado eso! Pues playground es un WordPress que se ejecuta en tu navegador. Y tú haces así, ¡pum! y aparece un WordPress y dice ¿dónde aparece el WordPress? Y el WordPress lo tiene en tu ordenador, te lo han metido, te lo han inyectado en WordPress y se ejecuta desde tu ordenador. Y haciendo un pequeño proceso puedes hacer que los archivos de ese WordPress se guarden en una carpeta de vuestro ordenador. Así que cualquier cosa que cambiáis, ahí se aplica en el WordPress. Es verdad que tiene algunas pequeñas limitaciones, con algunas cosas, hay algunas cosas que no funcionan, pero la mayoría sí. Vale, esto que veis en pantalla ahora mismo ya sería WordPress Playground, ¿vale? Para saber es muy, muy, muy sencillo, lo único que tenemos que buscar. WordPress Playground en Google y va a salir el primero o el segundo, ¿vale? Es súper sencillo, igualmente la URL es playground.wordpress.net, no .rg, ¿vale? .net, porque .net es el saco de pruebas de la comunidad, ¿vale? Aquí donde en .net hay un montón de proyectos que se están desarrollando, que se están haciendo pruebas. Y ahora mismo también es donde se aloja WordPress Playground. También Playground lo podéis ver cuando veáis un plugin en el director de plugin, que es el Live Preview. Eso lo que hace es que monta un Playground con el plugin que estás viendo. Esto también es muy útil para probar plugins sin tener que… Porque muchos plugins crean tablas o crean modifican base de datos, justo al activarlo. Entonces, puede ser muy interesante para probarlo y no ensuciar tu web, usar Playground para ello. Vale, con Playground como estáis viendo, ahora ya tenían, digamos, una instalación de WordPress totalmente funcional. O sea, esto está corriendo ya directamente en navegador, ¿vale? No tengo nada descargado, no tengo nada. No activa ningún servidor Apache ni en MySQL, ¿no? Yo no activa nada. O sea, si creí o lo enseño, pero aquí… Mira… Yo aquí no tengo… ¿Cómo era aquí? En Forzad… Forzad… Forzad Salida, para que veáis que no estoy engañando, ¿eh? Aquí yo no tengo nada. El Spotify y el OnePower para que me recuerda la contraseña y poco más. Vale, esto está directamente en el navegador, ¿vale? ¿Cómo se llama… con WebAssembly, ¿no? WebSuppers, ¿no? WebAssembly… La tecnología está detrás de la webSuppers. Claro, y bueno, esto directamente es una tecnología que nos permite ejecutar código directamente en los navegadores. En este caso ya se está desarrollando con PHP y SQLite, ¿vale? Que por eso todo el proyecto de WordPress que se estaba haciendo con SQLite era sobre todo para poder implementar Playground, ¿vale? Aquí tendremos una instalación totalmente funcional, ¿vale? Os voy a dar unos pequeños consejos súper rápidos, porque es lo primero que os va a romper un poco, da un error, ¿vale? Que es que cuando queramos instalar un plugin, aparte de el Odoli que viene siempre, ¿vale? Os va a dar este error, ¿vale? Que está diciendo que es que no tenemos conexión fuera, o sea, no tenemos conexión a Internet, voy a hacer un poco de zoom para que se vea igualmente. Ya estamos aburriendo un poco, ¿vale? Pero bueno, se os fijáis, ¿vale? Si lo leemos, igual que la informática, la informática es 90% le lo que pone en pantalla, ¿vale? Que es que… Seguir las instrucciones. El problema es que nos hacemos los listos y nos queremos leer. Esto ahora mismo no tendríamos conexión a Internet y es súper sencilla arreglar. O ponemos esto en el JSON, ¿vale? Que ahora os lo explicaré. O nos vamos aquí, ¿vale? Donde por usarlo. Lo vuelvo a repetir por si no se ha visto en este botóncito de aquí. Pasó la acción del Playground que está cargando en el momento. ¿Vale? Por cierto, que nos tengáis importante y podéis seguir el proceso porque esto os va… O sea, podéis usar esto ahora para desarrollar el plan. Claro, hasta en el móvil podría hacerlo. O sea, el Warp Playground se va a abrir en el navegador, pero en cualquier navegador, ¿vale? Y aquí lo guay que pasé testing y pasé presentaciones a clientes y demás, es súper útil, más que nada porque podemos configurar Warp como queramos. ¿Vale? ¿Cómo activo eso? Oírá, aquí tengo la opción de permitir la conexión a la red y ahora lo único tendría que aplicar y resetear Playground. Playground se está borbiendo a cargar, está generándome de nuevo ese WordPress, ¿vale? Está regenerando entero, o sea, está generando otra instalación con estas opciones. Entonces, ya cuando me vaya aquí a plugin la tema, ya voy a poder encontrar, ¿vale? Me voy añadiendo nuevo y ya tengo conexión a Internet, ¿vale? Y ya podríamos hacer instalaciones de cualquier tipo de plugin, o sea, podemos instalar el que queráis, ¿vale? ¡Paco, pero esto cuando cierre el navegador se pierde! Claro. ¿Pero qué no? Yo no me sirve de nada. No me sirve. Bueno, es que le hago. No lo quiero. Ni que yo lo hubiera inventado. (risas) Claro, vamos a dar un poco la demostración, pues el Aqinme, ¿no? O sea, el Clasy Editor que queráis, podemos instalar cualquier plugin. Mira, activo este, ¿vale? Aquí lo tenemos. Entonces, si yo recargo, me cargo la instancia. ¿Vale? Es la memoria del navegador. O sea, creo que era cuando recargaba. ¿Lo ves? Me cargaba. O sea, ya es otro WordPress totalmente nuevo, ¿vale? Eso tenerlo en cuenta. Cuando recargáis es un WordPress totalmente nuevo. O sea, regeneraba, ahí es una instalación nueva y ha montado todo. Ojalá hubiera una forma de evitar eso. Pues la hay. ¿Cómo? Sí. Con WordPress Playground y su memoria podrás tener tu WordPress guardadito aquí todas las veces que quieras. ¡Oh, eso es muy bonito, Paco! ¡Sí! ¡All right! Es súper sencillo guardarlo, ¿vale? Le damos los tres puntitos, ¿vale? Y lo podemos descargar, ¿vale? Ah, incluso lo podemos guardar. Pero ahora no me sale la opción porque no yo nada todavía. Entonces, por eso tengo primero… Ah, bueno, sí, es que está ahí. Es que nunca lo veo. Ha cambiado. Ha cambiado mucho la interfaz. Claro. Va cambiando. La habéis visto vosotros antes que yo. Vale, porque antes estaban en los tres puntitos, ¿vale? Pero aquí, cuando hagáis cualquier cambio, cualquiera, ya va a salir aquí de… Esto es un… Os avisa que es una instancia temporal de Playground. Otra vez que le es, ¿no? Es lo que nos dice. Claro, claro. Es que… ¿Qué me ha pasado? Que yo he ido delito y no he leído lo que ponía, ¿vale? Entonces, si nos vamos aquí, ya está diciendo que, oye, si quieres guardarlo, podálelo al botón. Y lo podemos guardar. O en el navegador, ¿vale? O en nuestro local. Si lo guardamos en nuestro local, lo potente de esto es que nos va a crear toda la instalación de WordPress, o sea, toda la estructura de carpetas y que podemos hacer con todos los directorios, pues lo abrimos en Visual Studio Code y podemos empezar a desarrollar como si fuera un entorno de desarrollo. Pero lo potente es que no vamos a tener ni apalles donde necesitamos un servidor local. Muy gusto. Y tú vas abajo, porque cuando no estamos en un portal general nuestro, pues nos permite ahí estamos haciendo, por ejemplo, grabar los archivos a la carpeta local. Es súper útil para hacer talleres de creación de plugins. Sí, ahí está. Oye, mira, si está un taller de creación de plugins. Vale, y aquí voy a intentar llamar algunas opciones de más, ¿vale? Como voy a borrar esta instancia completa y demás. Y bueno, aquí ya podemos hacer lo que queramos. Lo bueno de Playground, que todo esto se genera con unos JSON que se llaman Blueprints, como lo han llamado, y le podemos dar a verlo. Y aquí tenemos el código de todo este, esta instancia de WordPress. Aquí podemos poner instalación de plugin, instalación de tema y podemos preparar una instancia completa con nuestro, con el WordPress que queramos. ¿El plugin que normalmente usas? Sí, claro, claro. Si tienes tu Blueprints guardado, lo pegas y ya automáticamente inicia la sesión con los plugins que tú quieras. Esto también es muy útil para hacer testing. Vale, los nuevos testing unitarios que se hacen en los plugins se utilizan por debajo o Playground. Entonces es más fácil porque los plugins siempre se utilizan con WordPress limpios para que no entre en conflicto con otros plugins. Claro, y lo bueno que esto, que no solo tenéis que limitar a lo que es tema de los plugins de repositorios y que no, que podáis poner cualquier plugin que esté en una URL pública. O sea, vuestros hijas, cualquier cosa podéis ponerlo. Entonces, imaginarse tenéis toda la instancia de un cliente y si queréis hacer una demo lo podéis hacer perfectamente con esto. En la empresa donde hay trabajo tenemos un sistema ya automatizado donde estamos con Playground, haciendo demos a los clientes con prácticamente la web de ellos porque también podéis poner automatización de contenido, automitación de página, de creación. Entonces, el momento de que lanzáis el Blueprint, te crea una instancia completa de WordPress con todo el contenido y todas las cosas que queráis. De hecho, Blueprint se usa también mucho para cuando vaya a publicar un plugin en el director de plugins. Ese LivePerview, bueno, hubo un tiempo que se activó por defecto, pero ya no ahora tienes que activarlo tú. Tienes que dejar un archivo en la carpeta de Asset. Y, por ejemplo, si ahora es un plugin que necesita Google Comer, pues digamos que utiliza un elemento o cualquier otro plugin, utilizar los pasos para que te deje la instalación al usuario como querías que te gustara. A ver si tenéis alguna duda y preguntando. Mira, tenemos una duda. Espérate, espérate, el micro. Sí, sí, para que te hayas grabado. Claro, para que se grabe. Sí, sí. Para que haya poterlo luego. No, yo os quería preguntarse si existe, por ejemplo, la opción de exportar ya una instalación que tengamos ya hecha con plugins y con temas del cliente a un archivo así para reutilizarlo. Mira, es una buena idea para un plugin. Hace un plugin. Claro. Mira, así que… Claro, más que nada, si ya quieres partir de algo que ya está hecho y quieres probar pues eso, una actualización en la web del cliente. También en el Blueprint puedes meter URL exacta, que se las descarga Wordp en ese momento y puedes hacer plugin extend o cualquier otro tipo. Entonces no se puede descargar algo que ya… Un Wordp es completo. No, sí, yo entiendo que lo vas a poder hacer a mano. Vale. O sea, de tipo de que si estás a la Playground con tu directivo de locales y luego metes ahí los archivos y luego importas la base de datos, pues entiendo que podés llegar a hacerlo. Vale. Pero no sé si… Seguramente puede que haya un plugin que tenga para hacer eso. Por ejemplo, algún plugin de backup que permita importar a la Playground. A ver, Automatic Studio, que es el software que han sacado de local para… Está basado en un Playground realmente y permita tener instalaciones de Wordp en local y te puedes instalar la base de datos, los plugins y todo. O sea, quedan como paquetizadas para que puedas usarlo. Vale. Claro, la forma fácil también es montar toda la instancia aquí y los portas. Porque una vez que nosotros vamos instalando plugin, que es lo que estás haciendo, ahora yo esto puedo descargármelo, exportarlo a GitHub directamente o ver el blueprint de lo que he creado. Vale. Estos aquí no podemos hacer todo. Vale. Lo pasa, tienes que ir guardando la instancia para que se vaya generando el blueprint, sino no se genera. Igualmente aquí, si te fijas, vamos teniendo todo el JSON que se va montando. Igualmente hay un montón de ejemplos aquí. Si vas aquí en GitHub que lo tenían mordemos. O te vas aquí y aquí hay un montón de demos ya montadas por el equipo de Playground. Para usar blueprint. Esto ya te digo, esto utilizado y automatizado para afinar una cadena de JSON. Puedes montar con un poco de código, puedes montar aquí automatizadores de… De hecho el JSON tiene steps. Tienes como steps, pasos o pasados, puedes incluso decir que, por ejemplo, quieres que directamente cuando se instale ese plugin, pues que vaya a la página de ajuste de configuración, le puedes especificar donde quiera que vaya. Y aparte te puedes lanzar también código PHP, o sea, tiene un comando de run PHP y puedes emitir código. O sea, es muy útil para hacer demos. Vale, vale. Es otro que hace Playground, por ejemplo, es bastante interesante. Muy bien. Pues muchas gracias. Entonces Paco, entonces tú tienes el Playground que es como un específico entorno local, pero como hago yo un plugin, ¿dónde encuentro yo los archivos de WordPress? O sea… Vale, pues a ver, lo que podríamos hacer es descargar este Playground, pero vamos a descargarlo local. Ya lo tenemos en el navegador, ¿vale? Pero estás subiendo un zip todo el rato y demás, es un poco tedioso y demás. Así que lo que hacemos es descargarlo a lo que es un… Un director local. Ahí está. Sí, pero lo tienes inclinizado ya con un directorio, ¿no? Sí, a ver, ¿no? Ah, claro, pero claro, este directorio lo hemos guardado directamente en navegador. En navegador, ¿no? Ahí está. Vale. Que no esté en eso. Y en vez de hacer lo que hemos hecho antes, de guardarlo en el navegador, pues vamos a guardarlo en un directorio local. Y aquí… Puedes ver con las carpetas… Le vamos a apacar todo el archivo. Uuuuh… No, el refierta no lo toque. ¿Qué? El refierta no lo toque. Que sea el más peligroso. Uuuuh… No, no, creo que no tengo nada. Bueno, no tienta la suerte. Y vamos a hacer una carpeta nueva, ¿vale? Warp Pre. Ahí está. Vale, seleccionamos. ¿Qué te pasa? Te voy a pedir una foto. Ah, sí. Y ya me estás creando toda la estructura de carpeta de Warp Pre, ¿vale? Que necesita playground para ir funcionando. Esto puede tardar más o menos. Pero no es lo que es, es verdad que los Windows, como los directos, como funciona el administrador de archivos de Windows, va un poco más lentillo, que Linux o Mac, sí que es verdad que lo que vimos en anteriores talleres puede tardar un poco más. Pero no os preocupéis que esto va creando solo, ¿vale? Igualmente, ya me ha dicho que lo tiene. Aquí está Solito Warp Pre. Y si os fijáis… ¿Puedo darles más zoom? No. A ver… ¿Puertemente seré, no? No, a menos. Claro que no estoy mintiendo. Aquí ya tenemos un Warp Pre creado, ¿vale? Y este Warp Pre está conectado directamente con el playground de antes. Entonces, ahora mismo ya tengo un entorno de desarrollo. O sea, que así es decir… No, es que es un cominuto. Vamos a tardar más de explicar lo Paco, pero que lo explico a mí no te… Pero porque nos enrollamos un montón, no, por eso. No, por eso. A ver, ahora en Visual Studio… Visual Studio, ¿o es que vosotros utilicéis, ¿vale? Hostia, así me está actualizando el Visual Studio. Lo bien ofertaba. Nos fíamos. A ver, voy a darle zoom. La vaya está confiado por la vida. Entonces, tenemos ya aquí un Warp Pre con su admin, su content… No, con todos. No, no, aquí está todo. Es una maravilla. Sí, sí, sí. ¡Ahora veis mejor! Conocéis un poco cómo se estructuran los archivos de Warp Pre, bueno, lo explicamos para quienes no lo saben, para que alguna que no lo maneje tanto. Os digo, respecto a esto, ¿vale? Oye, no tiene pudor en pregunta, porque es el momento de preguntas. No, no, no. Cuando salgamos, no. Ahora, cuando salgamos, que no respondo ni una pregunta de Warp Pre, ni de… Ni de plugin, ni de plugin. Nosotros cerramos el sigo en cuando salgamos. Ahí está, ¿vale? Pero que… Oye, aprovechar lo que es el momento, porque hay un «tormo» porque también le decimos porque tomo todo esto también en la posición de estar escuchando y da corte de preguntas, pero aquí estamos para darle sarseo, ¿vale? Sí, sí. Este taller, como comentaba antes, lo hicimos en Sevilla. Y hubo muchísima interacción entre otras cosas porque eramos menos gente. Eramos como 15 personas, entonces era como más cercano y tal. Aquí, como es tan escenario y tan… Para mejor, da un poco de corte, pero que… De verdad que es que esto lo hace y por nosotros, más que nosotros. De hecho, por nosotros venimos para hacer nosotros posiblemente. Claro, seguro que ustedes saben más que nosotros, que no penséis que ahora… Uy, que tan enterrevisa y… Uy, que sabe un montón. Aquí sabemos cada uno de los nuestros. Sí, sí. Hay una preguntita por allí. ¿Cuál es la diferencia entre Warp Press Pride Run y Local Situ? Cuando se pone en un Local de Warp Press. Sí, el Local te refiere a ese Local de lo que era antes Flywheel, ¿no? Que es un software que se llama Local para tener un instalador local. Local WP. Eso es, eso es. Pues la diferencia, si no me equivoco, porque yo es que no lo he usado en Local. Sí. Local es un Dock. Claro. Local, al final, usa tecnología Docker por detrás, ¿vale? Y al final, lo que está montando es una instancia completa, te está montando. Un servidor entero del INU, ¿vale? Un… o sea, un… Mejor se… Está montando un Ubuntu… Me lo estoy imaginando, ¿vale? Está montando un Ubuntu entero por atrás. Está montando todo el… Un servidor apache entero. Mhsql. Claro, Mhsql. Ahí está todo. Y ahí ya empieza a funcionar luego por encima del Warp Press. Aquí no. Con WebAssembly, lo que permite es poder ejecutar el código directamente en navegador, que es una tecnología fantástica. O sea, eso es maravilloso. Y el equipo de Playground pues ha conseguido adaptar PHP para Playground, que yo creo que es el equipo que está manteniendo la instancia de PHP en WebAssembly, ¿vale? Y ahí no… estamos ejecutando ningún servidor. Las finales son estrategias diferentes para manejar tu instalación local, que es cómo se debería desarrollar. Sí. Otra pregunta. Y lo que sí es verdad es que el Playground puede tener algunas limitaciones por la limitación que tiene la técnica en este momento. Y lo vaya a ver ahora la limitación más grande que tiene. Y tanto local como otra vez que también funcionan con Docker y tal va a ser más realista con lo que al final es un servidor. Para día a día al final no utiliza Playground para desarrollar. Lo vais a ver claramente ahora porque una de las limitaciones grandes que tiene es que cada vez que hagamos un cambio tenemos que actualizar el Playground y volver a lanzarlo, ¿vale? Pero igualmente es que una vez que tenemos ya todo desarrollado esto para presentarlo al cliente una maravilla. ¿Por qué? Porque luego vamos a ver que le podemos mandar la URL al cliente para que lo ejecuten directamente en su ordenador. Y él pueda estar trasteando, trasteando, lo rompa y cuando lo rompa lo uno tiene que recargar la página y lo tiene otra vez bien montado. Son estrategias diferentes al final, pero sí. Simplemente era que comparándolo con local. Yo en local veo los archivos de la base de datos y aquí entiendo que están en navegador o aquí no. Bueno, aquí sí lo tienes porque lo tienen SQLite. Si conocéis SQLite, ¿conocéis todos SQLite? Bueno, una estrategia de guardar la base de datos en un archivo, ¿vale? Eso es muy útil también para todos los como, por ejemplo, la universidad que no te monará ya así, pero antiguamente la universidad no te dejaba tener base de datos. Tenías solo archivos, entonces, pues hay entornas que están más limitadas por temas de seguridad y aquí en este caso, por ejemplo, si hizo una extensión de guardar el gusto para SQLite. Sí, y Cado, ¿y cómo consigo yo descargar la base de datos? Si no me equivoco, si te instala un plugin de backup de Playground te puede descargar una versión de la base de datos, aunque no sé si funcionará bien, la verdad, porque no lo he probado. Tenés cierta limitación en el plugin. En el local tienes, sabes que tienes un pequeño editor de un segundo PHP Miami en el clímetro. Efectivamente, eso aquí no lo tienes, eso aquí no lo tienes, eso es verdad, sería una de las limitaciones. Y otra, alguna duda que tenía, es que, igual diréis ahora, que hay que hacer esos archivos que son el bajado, si es un cambio, eso es como se refresca, como los restaúros en el Playground. Como lo que hemos puesto, es que se synchronice con un director de la redredador. Sí, eso iba a decir que aquí tienes la base de datos en ht.sqlite y eso lo abre, yo tengo Tablet Plus, o pasa de Paco, ¿no tienes Tablet Plus, por favor? Sí, yo también lo uso para él. Al final, un cliente de base de datos carga ese archivo. Y ese archivo también te lo puede llevar cualquier sitio. ¿Cuál es el tablet? No, pero es una aplicación de… No, no, no, recupera. Con cualquier cliente de base de datos puede abrirlo. Al final, es muy sencillo porque esto hace un zip y te lo lleva cualquier sitio. No tienes que estar esperando levantar el servidor y todo esto. Pero para un taller, por ejemplo, viene muy bien. No, porque te lo he montado de un momento. Y lo que vamos comentando es que, claro, ya aquí tenéis todos estos archivos que son los archivos de un Warp Desk y alguna vez lo habéis visto, lo vais a reconocer, su WP Admin, WP Includes. Recordad que en eso el director no se toca o corta las manos. Y lo está el WP Content, que ahí es donde hay que tocar. Y ahí es donde se hacen los cambios, hay los contenidos, los temas, los archivos que se suben y los ponen en los que se ponen los plugins. ¿Fran, la funcionaria se puede poner en los temas? Es que eso está feo. Sí, seguro. Porque una diferencia entre temas y plugins o al final alguna diferencia conceptual o para intentar que esté todo ordenado y cada cosa en su sitio, es que los temas sean. Están dedicados a cómo se ve el sitio web, el aspecto. El diseño y además esto va mucho más en ese camino con los temas que están dedicados, los temas de bloques, los temas de Gutenberg, por ejemplo, que es que ya estilo y diseño y ya está y no va a poder hacer nada más y que los plugins sean los que tengan la funcionalidad. Que esto realmente tiene cierto sentido porque muchas veces el diseño no necesita un mantenimiento o no tiene actualizaciones, claro tiene actualización cuando cambia el diseño entero, pero una funcionalidad sí que muchas veces… Es más fácil que la actualizar. Que más fácil es que cambie algo y que tengas que tal. Entonces, los plugins para la funcionalidad y los plugins se actualizan por su parte y añaden cada plugin una o dos cosas y los temas específicos para el tema diseño. Esto lo comentamos porque es que muchas veces hay temas que incluyen… POST-I. Muchas funcionalidades que a lo mejor no usas. El típico por ejemplo por folio. El tema con por folio. Cuántas veces no me he encontrado un tema de tinfoires o de cualquier otro de embatos o de cualquier sitio que pones por folio. Que siempre lo tenés fácil. Claro. ¿Cuál es el problema de esto? ¿Alguien sabe cuál sería el problema de tener un tema con un custo POST-I que… Mamá sí, desde el perfil. ¿Cómo? Mucho peso. No. No. Ay, ese sí es. Si cambiamos el diseño o el tema activado, el POST-I lo perdemos. Porque normalmente si se ha registrado con el tema tendrá su propio slug que aún es slug que se le pones y cuando cambia otro… Claro, si quieres respetarte tenés que registrar POST-I por un plan y utilizar el mismo lúpano para perderlo. Claro, pero fíjate, esa tontería, que es una tontería en verdad, porque al final el contenido lo vamos a tener en la base de datos, ¿vale? Pero ya no va a ser asesible para nosotros. Entonces, cuántos clientes nos llaman asustados porque han cambiado el tema y he perdido toda la información. Yo estaba poniendo todas las cosas en el portfolio, dios mis clientes, mis cosas y lo perdí todo porque he cambiado el diseño nuevo. Esa llamada la hemos recibido seguro. Hay una resilla por aquí al principio. Claro, claro. Y entonces, ahora lo que teníamos que hacer, tenemos que hacer un plugin que tenga el mismo etiquetado y el mismo lúd del POST-I y del tema y todo para recuperar eso. Directamente vamos a hacer todas las funcionalidades que no sea visual, porque el tema también… Hay temas que también necesitan un poquito que no estamos diciendo que todas las funcionalidades ya tengan que ir en los plugins. Todas las funcionalidades principales que esa añada, WordPress, necesarias de front visuales, eso nos lleva el tema. Con ejemplo, los patrones, eso sí se está incluyendo directamente en los CIN. Pero también depende… También en los plugins. Sí, y también… Puedes encontrar plugins con patrones. Claro, claro, pero eso sí es algo… Es una función que es un poco sutil, pero sí en este caso, diseño, patroneta, pero sí las funcionalidades en buena práctica y de hecho se pide que se vaya a plugins. Así que todo, por favor, vamos a hacerlo en plugins. ¿Me ha venido a ver? ¿Me ha venido a ver? Ahora me he venido a hacer plugins, ¿no? Sí, de hecho, una cosa que también hace mucha gente es el concepto de hacerte tus plugins de funciones. Que es cuando estás haciendo un tema, estás desarrollando un sitio para alguien y quieres añadir algo que es más funcionalidad, no es tanto tema. Por ejemplo, lo que hemos comentado, añadir un custom post type, es que te hagas tu propio plugin, aunque no lo publique, no tienes por qué publicarlo, pero en ese plugin introduces esas funcionalidades para que luego, en el futuro, pues pueda seguir funcionando. Un recurso muy, muy, muy súper útil, ¿vale? Para ver las últimas tendencias de desarrollo en WordPress y cómo se desarrollan los temas, es ver directamente por los temas que están ahora desarrollados por la comunidad, como el 2024, no? El FI, en este caso. Y ahí vamos a ver cómo se desarrollan ahora los temas este año, por eso es la última tendencia, cómo se está haciendo. Todo esto lo podemos ver directamente aquí porque esto está desarrollado por un equipo de comunidad, que son tú, nos veas o máquinas, y así vamos a poder desarrollar los temas ahora, ¿vale? Y lo mismo pasa con los plugins, es una tontería, ¿vale? Pero el HelloDolly es un ejemplo básico de cómo se crea un plugin, ¿vale? Nos vamos a recomendar, nunca sé, por ejemplo, un plugin directamente con un archivo PHP directamente aquí, vamos a hacer una carpeta, ¿vale? ¿Por qué? Porque vamos a tener que tener más archivos, entonces imaginarse si empezamos a tirar archivos aquí, puede ser una locura. La carpeta se suele nombrar de alguna forma, y nos encontramos carpetas con espacios, con mayúsculas, tiene que ser siempre minúsculas, con guiones, y respetar… esa carpeta, o ese nombre se le llama, el plan es LOO, ese nombre de carpeta hay que respetarlo para todo, digo como buena práctica, no pasa nada que le llame de una forma y después la utiliza de otra, pero como buena práctica, utilizar ese LOO, y no cambiarlo en la vida. O sea, esa decisión, bueno, una de las más importantes a la hora de crear un plugin es ¿Qué nombre le pongo? Si lo vas a distribuir y tal, porque lo que sucede es que cuando… las carpetas que hay aquí dentro de plugins, por ejemplo, crees que hago un apaco, ¿pongo un plugin de SEO o algo así? – SEO plugin. – SEO Madrid, para que no haya… – Sí, efectivamente. Esta carpeta, si que no es una carpeta, la misma, pero bueno… – Ah, me quedaba. Si el director de WordPress hubiera un plugin con ese nombre WordPress.org/plugins/barraseo.md, WordPress detecta que ese plugin existe en el director y va a intentar actualizarlo desde ahí. Entonces, cuando crees que es tu propio plugin, es un nombre que sea propio, que sea vuestro, no le pongáis mi plugin. – Que eso también se va a ver. – Sí. Y ahora importante, porque seguro que… a ver, habrá también mucho desarrollador PHP como llamamos al archivo principal. ¿Sabéis qué me lo dice? ¿Cómo llamará y llamo al archivo principal? – ¿In… eh? – ¿In the… Ahí está el buen… ind.php, ¿vale? Esto se puede hacer en WordPress, porque WordPress no busca por el index. WordPress, cuando creemos un plugin, va a buscar por dónde está la cabecera, ¿vale? Que es que podemos hacer el archivo principal dentro de una carpeta de otra carpeta, que WordPress va a empezar a buscar donde está el archivo con la cabecera. Esto tiene un problema, ¿vale? ¿Y cuál es el problema? Que esto tiene un montón de incompatibilidad, ¿desde luego? ¿Vale? Que esto va a funcionarte toda la vida y esto no va a dar ni un problema, pero luego, como lo suba al repositorio y demás, y luego, para tener traducciones y demás, va a tener un montón de problemas, pero que vaya a flipar desde el problema que os va a dar a la hora de traducir, ¿vale? Y ciertas cositas, ¿vale? Entonces, como buena práctica se utiliza el nombre del luz y el nombre del archivo, el mismo luz. Entonces, como han dicho por ahí, tendría que ser también José Madrid. Punto, l’HT. ¿Y con esto ya estamos empezando a crear un plugin? Así sin convenir. O creéis que esto es una tontería, pero que hay plugins que no voy a decir el nombre, os lo buscáis porque está todo en el repositorio, lo podéis descargar de un patroda aquí, ¿vale? Con cientos de miles de instalaciones que tienen este problema. ¿Por qué? Porque en su día, cuando lo subieron, son desarrolladores PHP y que le pongo a mi asigo principal, o «indexhp», ¿vale? Y ahora, pues, han tenido muchos problemas con esto. ¿Cuál es la única solución que tiene esto? ¿Vale? Este es el problema. Cambiar el nombre del archivo. Pero ¿qué pasa si le cambiamos el nombre del archivo al archivo principal? ¿Qué pasa? Uno por uno, por favor. Por ahí. ¿Qué pasaría? Mira aquí. Bueno, eso puede ser un error. Sí. Esta es ella. ¿Qué pasa? Hay todas las instalaciones que tenga ese plugin, se van a desactivar. Imaginarse un plugin funcionando. Imaginarse, por ejemplo, que no es, ¿vale? Pero imaginarse elementos. O un Google Comer. Con 18 millones de instalaciones que la tengan que desactivar las 18 millones. Son unas que han elegido el nombre del archivo. O sea, el nombre del archivo y la carpeta ya son inmotables. Por eso siempre se dice que se piensen un poco a largo plazo. Si hacemos un plugin, no sé, que busque arreglar un problema ahora, busca un nombre más genético. Más general por si en un futuro consigue actualizaciones, ¿qué es lo que ha pasado? No le ponga ahí Twitter, por ejemplo. Por un plugin. Porque luego cambia el nombre y luego ya. O por ejemplo, hay uno muy conocido que es un plugin de SEO, se llama SEO Framework. No sé si lo conocéis. Pero es autodescripción. Sí, sí. Pero ya no puede cambiarlo. Ya está. En su momento tenía que haberlo llamado plugin SEO. Bueno, SEO Framework, por ejemplo. Y ahora ya no. Ahora ya es Lula Beck y tiene ese. Cuando has dicho que el nombre del plugin tiene ser único, ¿dónde puedes buscar? Si ese nombre existe. A ver, lo puedes buscar directamente en el repositorio. Si existe algo parecido. No se ve de preferencia. Pero igualmente hay herramientas, ¿vale? Que puedes buscar por este tipo de cosas, ¿vale? Yo veo fácil el buscar el nombre que vayas a poner en el repositorio y mirar si lo encuentras. Si el buscador por lo que sea, funciona un poco regular, mejor que busques en Google o un buscador… Se lo puede preguntar, ¿sabes qué pretendo? Si no lo hagas, sí o sea. Claro lo que… Otra cosa también, si es un plugin personal para un cliente, pues si tienes el nombre de tu empresa o Freelang, pues pones tu nombre adelante y después lo que hace el cliente. Entonces ya sabes que eso no va a ser difícil, ¿no? Que encuentre otro plugin con el mismo. Traía otra. El micro, el micro. Bueno, para revisar eso si existe el plugin cuando baja el directorio de los plugins y estás en la URL de cualquier plugin la última parte es «look» ahí puedes ver… ahí sabes si está repetido o no. Y otra cosa que no sé si lo mencionaron cuando cambias el «look» de un plugin es verdad que se desistalan y aparte de eso los plugins que interaccionen con ese otro plugin y que revisen si está activado también tienen que cambiar todo el código porque utilizan el nombre de la carpeta y el nombre de la oficial que activa. Y una puntualización a eso que prácticamente es todo lo que tú has dicho, ¿vale? No, el 100% de las veces o sea, el 99 si va a ser no el 100% de las veces el «look» del repositor tiene por qué ser el nombre de la carpeta y demás porque los autores pueden solicitar un «look» distinto también. Ah, gracias, no sabías. ¿Vale? Los que están en colas de revisión tienen ya uno reservado. Puede que esté en colas de revisión que la colas de revisión hay 2.000 plugins en todo el clado pero de todo modo sería improbable si tiene un nombre distinto en vivo. Igualmente, y lo último ya sobre el tema de las URL si subís un plugin una vez que tenéis vuestra URL a toda la vida. Si, vienen preguntas diciendo ¿Puedo cambiar mi slug? Por ejemplo, este deseo frango, voy a pedirlo. No se puede. ¿Por eso? ¿Por qué se debe de se instalar plugins? ¿Pero es un feo final? Claro, como crean más problemas los usuarios o evidentemente eso no se permite. Entonces ya tenemos dentro de la carpeta «plugging» tenemos una carpeta que se va a ver el chico con ese nombre y ahora que hacemos. Hay 2 preguntas. No sé si saben los «most just plugins» vuelves también tiene una carpeta Sí, más para plugins. Si bajas la funcionalidad que a lo mejor sea pública en vez que sea un plugin puede ser un «most just plugin» o no sea publica. ¿Eso es otra carpeta? Es una carpeta especial para los sitios multi sitios y efectivamente lo que hace es que esos plugins que tú pongas, puedes poner un «function» o puedes poner «plugging» directamente que se activan siempre o sea no puedes desactivar o sea en una pestaña parte de plugins siempre activado. Sí, yo tenía un pequeño apunte que a lo mejor lo vais a comentar y es que a pesar de que no se ponga el index PHP por los problemas que habéis comentado que es muy interesante que lo habéis comentado aún así es interesante crearlo y en todas las carpetas por algo que seguro que vais a explicar ahora mismo. Sí, bueno una de las cosas que hacemos durante las revisiones es pedir que los archivos PHP ponerles el «appspot» este al principio básicamente se les pone que verifiquen si existe un parámetro de WordPress para que no se puedan ejecutar directamente los archivos PHP Pero me refiero a que para que no haya un listado de directorios si en Apache está mal configurado eso ocurre en muchísimas instalaciones es mejor en cada carpeta tener un index PHP con el típico «silence is holding» por ejemplo Claro, los hosting normalmente por defecto evitan que esas carpetas ya es que lo que pasa que hay acepciones pero normalmente evitan que esas carpetas se puedan listar y por tanto vean los archivos pero no siempre o el «dorks» ve su montón pero sí, efectivamente un archivo como tú has comentado un index.php vacío sin nada y ya está, así se evita el listado de archivos Igualmente, lo del index que estamos comentando es para el archivo principal del plugin el que va a llevar el comentario evitarlo 100% de la presa que sea un archivo genérico como el index ¿Cómo hacemos un plugin? que es lo primero que tiene que llevar un plugin alguien lo sabe que es lo que tendríamos que hacer si quieres un plugin una cabecera una cabecera que es un conjunto de comentarios con distintas directrices El plugin tiene que identificarse a sí mismo como plugin ¿De dónde lo vamos a copiar? por ir a ver el «Hero Dolly» mismo lo podemos copiar que antes de ya empezar con los errores comunes alguien detecta aquí un error solo aquí ya hay un pequeño error y lo vamos a comentar (murmullos) (murmullos) ya lo han dicho ya lo han dicho no se comprueba la ejecución directa del PHP eso es para que no haya ataques directos a archivos PHP muchas veces hay por ejemplo hay PHP que reciben la petición de un Aya o de otra petición entonces si no le ponemos a parte de un NOM puede ejecutar el PHP y hacerle petición directamente esta después sería una forma de hackear la otra la forma de que los archivos PHP de un plugin solo los ejecute mortes y no los ejecute hay un caso un concreto con PHP donde podemos hasta no ponerlo hay un caso concreto en PHP donde podemos porque ya sería imposible esa ejecución de fuera alguien sabría cuál es el caso concreto que estoy comentando donde no hace falta poner un APA es súper fácil o no (murmullos) justo justo cuando hay solo una declaración de clase sabes que no va a haber nada ejecutable es una declaración claro el APA sobre todo es para cuando tenemos el código aquí y una función aquí por ejemplo se puede ejecutar lo que pasa es que está realmente posiblemente no se ejecute porque seguramente abajo del todo hablará de alguna función de golpe el atasión y en cuanto se ejecute estrenamente llegará aquí y esta función no existe y fallará le ha dado un fatal error que PHP pero se pide que se ponga en todos los archivos por si acaso como una buena política y si no lo hagas en la historia nosotros lo comprobamos y te pedimos que lo ponga ya preventivamente o incluso en los PHP de clases porque dice bueno llevo una clase pero a lo mejor se te ocurre cambiar ese archivo y meter funciones meter un tipo de de funciones o lo que sea y entonces pues lo pedimos también como manera preventiva y es preventivo porque además una de las cosas que hay que tener en cuenta es que vale puede que tu plugin ahora mismo por lo que sea como este hecho y no te ha afectado por eso no te puedo demostrar que se puede hacer algo malo pero en el futuro cuando edites el plugin cuando hagas cambios a lo mejor si que te dejas algo entonces todas las buenas prácticas que puedas aplicar para evitar todo ese tipo de cosas pues está bien por ejemplo también pedimos escapar todas las salidas cuando a veces no hace falta porque hay una salida que viene de una variable que es una variable fija por ahí no van a meter nada por ejemplo que es tuya pero en así se solicita porque mañana cambias esa constante por una variable que viene de otro sitio y tal y no te acuerdas de ponerle el escape se escapa todo lo que sale se sanitiza todo lo que entra por ahí pregunta por ahí por ahí ahí va la pregunta por ahí pregunta cuando van a revisar el plugin estamos en un template y llamamos la función home your para pintar el sitio eso también es estrictamente necesaria escaparlo aunque sea una función de botles porque tiene filtras imagina yo cuando reviso cuando reviso y lo veo digo bueno me estoy pidiendo que escape esto pero en fin pero si se solicita aunque sea así hay casos que no son pero para no perder es como lo de las paths igual es que al final no te equivocas están escaparas todas las salidas no tienes que andar mirando excepciones claro también piensas que tú te fías de lo que tú tienes en tu base de datos tú piensas lo siempre así por qué te tienes que fías de lo que tú tienes en tu base de datos pero bueno dice una función pero claro para final para todas las salidas tú piensas lo así para que te fiarías de lo que tú tienes en tu base de datos porque te podrías cambiar el valor con la base de datos y lo estas ejecutando otro plugin te mete un filtro en la función que genera la url y es que también eso pasa entonces Paco esta haciendo esta cosita que hace que el plugin se pueda identificar claro claro lo único que hay yo es venirme a otro plugin y copiar la cabecera para yo escribir a mí igualmente si ponéis cualquier cosa en WordPress y le ponéis handbook detrás o va a poner o va a salir aquí la documentación oficial de todas las cabeceras que hay como son las cabeceras de WordPress y aquí hay ejemplos de cabecera que podríamos pegar copiar de gelo dolly y vamos a poner por SEO Madrid que va a ser el plugin así el plugin WordPress lo ponen normalmente si tienes una web en la que hablan de tu plugin cuando mas te ponías eso eso te sugiere Paco no es que te quede clash o no eso te esta sufriendo tu propio código hasta que la gente artificial polo polo hostia ahora vamos a ponerlo mas mule en vez bueno como ya esta la en la media en que lío te esta metiendo la eclipsencia hostia increíble hay en la documentación aparte de su cara decía de la IA en la documentación tenéis cabecera y hay una que hace poco que ha dicho que esta muy bien que requires plugin que te ahorra mucho código PHP en que tu le pones el slug del director de WordPress y entonces señalo si queres ¿requires plugin? requires ¿que hace que ahora si? el singular y el plural yo siempre tengo dudas y lo bueno es que si detecta que no esta un comment te sale una interfaz para que tu puedas activar entonces es muy útil y no te deja activarlo hasta que no crea la dependencia hasta ahorra muchísimo código PHP ver si se ha activado o si no se ha activado o sea fijar en una linea lo rapido que tenemos la dependencia de hecho vamos a dejarlo puesto y así lo veis venga y listo ya esta esto ya es un plugin vamos a ver como se ve ya lo hemos probado ya lo hemos probado vamos a ver la descripción que hemos creado tan bonitas vale ahora me iría este es el que yo tengo en el local requires plugins o sea los dos en plural hostia no hay nada esto es lo que hablábamos que siempre esta el porque no vamos a utilizarlos en nuestro momento de desarrollo total para usarlo diariamente siempre vamos a tener que estar sincronizando sincronizando lo que ahora va a pulsar a ver que sincronizar el shibos locales y ya lo tendríamos es rapido pero hostia esta pulsando todo el rato cada vez que hagamos un cambio es como un muchedioso como veis pues ha salido la interfaz requires plugins eso es la quides con ese con ese pero con ese esta con de si no lo coge bien, no esta bien puesto si si lo coge con ese requires plugins y a más a ver si a que no lo dejas activarlo vale un toro claro aquí te dice normalmente te sale un enlace no se si como joaquinplegrablo esta cambiando para que te pueda instalar el plugin depende si porque a lo mejor no tiene acceso a descargarlo porque no se ahora mismo la confirmación igual no tiene la red puede ser claro si no marca lo paco no mira eso es eso si si si ahora si te dejas esto es así la eso esto es lo único a que hagamos que hagamos coger cambio hay que estar ator rato recargando pero bueno no pero igualmente te sale te sale aquí ya enlace ahí ya lo podemos instalar instalado, esta muy comod pero recordar que tienes el slope como en el caso este que decimos de el feseo framework tendréis que visitar la web y la parte de arriba del laurre le tenéis que cogerse y entonces ya tenemos un plugin vamos a ver si lo podemos activar o instalabos como eso quitarles requires mas fácil claro y así ve veas un cambio lo guardo me vengo y sincronizo y todo rato cada vez que hagamos un cambio tiene que ser este proceso y ya podremos activarlo y lo damos y ya tenemos un plugin activado que que hace? nada en absoluto es una mierda es una mierda claro lo dice hasta la ida pero esto ya es un plugin y ya es un entorno ya podes estar ejecutando con este y ahora la cuestión es claro que hacemos que haga el plugin se llama «didicxlydic» pero bueno tu ya esta un poco si inventa cosas dice que haga la canción completa y la canto (risas) cado ahora es el momento de poner aquí «cococopash» y lo que hay que tener en cuenta es como nos comunicamos con WordPress que normalmente el lugar de poner aquí como si esto pueda cualquier cosa un PHP echo bar dump directamente de lo que nosotros queremos mostrar porque queremos que o que se mueste en algún sitio o que modifique algún comportamiento de WordPress o que incluya algo en otro plugin de WordPress como puede ser bucomes esta todo el sistema de hooks que eso ya se ve en el «Helludoli» que tiene una atacción que los hooks son, hay de dos tipos están los «action» y están los «filter» que diferencia entre ambos si alguien lo quiere comentar antes de una buena práctica porque no estamos modificando código estamos añadiendo o quitando esta es una buena práctica porque una cosa que pasa sobre el pre es que si actualizamos plugin si notizamos esta tegea de código se rompan cosas entonces es mucho más fácil que no se rompan que diferencia hay en los hooks entre actions o filters ¿alguien algún valiente? o no valiente de como dig por allí para ahí se animan si si si, me imagino que estarás haciendo estarás haciendo un envío de información y cuando estás haciendo un filtro estarás pidiendo información bueno hay algo si eres un «action» es, yo quiero es decir, en una «action» puedes hacer un filtro o así si puedes hacer una acción de petición de información o de filtrado un filtrado sería simplemente de esta información si, por ahí va a ser filtrado eso seguro por ahí una mano vamos por ahí un «action» lo que hace es crear una función nueva tuya y un «filter» lo que hace es modificar una que ya hay o una variable si, básicamente si, realmente la verdad es que se puede explicar de distintas formas porque al final también es como lo tomes y el concepto y tal yo la forma en la que un poco lo distingo y lo explico es que dentro del código de WordPress hay un montón de sitios donde hay cosas en las que puedes hacer cosas que son esto que llamamos «hooks» el «action» es que tú, en ese momento de ejecución le estás diciendo que código tiene que ejecutar le estás diciendo un código tuyo, de tu plugin o bueno, puede ser tu plugin también no tiene que ser tuyo pero básicamente le estás diciendo que en ese momento cuando llega WordPress a ese punto de la ejecución que ejecute esto que normalmente hay una función que tú la edad puede ser un método de una clase puede ser una función directamente y tal cuando es un «filter» y por ahí es verdad que había estaba acertado con lo que has comentado un «filter» es prácticamente similar pero la diferencia es que si que terminas ejecutando código en ese momento pero el objetivo de esa edición es modificar algo WordPress en ese momento de la ejecución a ti te manda un parámetro con el que está te trabajando te manda los datos, esa información que hay ahí tú en tu función lo procesas, haces lo que quieras y se lo devuelves a WordPress y WordPress sigue su ejecución con la información que le has dado de vuelta ¿A qué te refiere? Me refiero igual a un «action» sería una «action» que te diguió que me refiero a lo mejor un «action» sería como por ejemplo una base atos cuando haces una petición haces un «select» dame esta información y luego puedes filtrar esa petición decirme «segucioname» esta información pero por ejemplo solo los hombres donde el género igual hombres donde el sexo igual hombre No realmente pero sí que puedes modificar la base de datos con los filtres y te va a ver si va por ahí estamos enseñando en pantalla hay un «plane» que se llama «hooks filter» y los «hooks» como dice Frank son huecos donde tú puedes ejecutar código y en el «action» se compone por varios parámetros uno es el hueco que es el «hook» que aquí lo estamos viendo el primero es muy bien «admignnotice» pues hay un hueco que da «workpress» búcalo en el code yo decía por asimilarlo a algo por coger una mensaje a «fora» y se me ha parecido por ejemplo perdón así de este grupo pero en una base de datos es eso cuando quieres la información o la pides o la pides filtrada no pides información sino que es más bien que tú en ese punto ejecutar algo piensa que «workpress» está lleno de huecos huecos que te va dando de hecho los «plane» que están bien hechos dejan también esos huecos «wookcomers» los más populares los sabréis y entonces no sólo te permite aquí ves todos los huecos y veis en orden que se ejecutan los huecos y los huecos pueden tener funciones y ya ejecutándose que tú puedas quitar, eliminar y se sería «remove action» dentro de los huecos hay funciones y esas funciones tú puedes elegir quitarla o añadirla y también puedes decir «no, no, quiero añadirla» pero antes que es el tercer parámetro que sería la prioridad entonces tú según estás en muy buena práctica a la hora de programar porque tú vas haciendo por ejemplo una cosa que se hace mucho en «wookcomers» que es el archivo de plantilla de checao o de pagina de producto te lo copia en tu tema y lo modifica pues cuando se actualice el «warp» en la mojosa plantilla se ha quedado osoleta entonces una buena práctica es «no, no, mejor, voy a poner en mi «pluggy» «adactium» o «remove action» y las funciones que yo vea que sean necesarias porque los huecos sí verán que son bastante inmutables se mantienen durante mucho tiempo porque por retrocompatibilidad van a estar en «wookcomers» toda la vida y aquí podéis ver todos los huecos que se ejecutan y bueno pues hay estos son los «fit» «admin» no son huecos aquí por ejemplo el «admin» no te lo tenemos aquí y ese se ejecuta en el «body» digamos del «admin» entre medias de antes del título de una de una página y claro eso está por todos lados cuando se ejecuta «warps» con esto podéis decir en el momento que «warps» carga la url haz esto un poquito o cambiame si es un «fit» cambia la url por esto o por ejemplo un caso como muy claro que creo que podemos mostrarlo es cambiar el título de la página o algo así cambiar algo de la página pero yo creo que se puede ver muy claro con eso en este caso el título bueno es que no se si va a cambiar porque aquí pone «warps playground» como título de la página no se si al estar dentro de «playground» bueno aquí una cosilla claro las acciones se están ejecutando en PHPHP el tema está hecho en HTML, CSS un tema de bloque entonces como veis no tiene tanto huecos de hooks no se ejecutan en PHPHP si cogera un tema clásico es un tema clásico que si está hecho es muy importante tenerlo en base para que no lo sepa a raíz de el fullside editing que se añade a WordPress se crea un nuevo concepto de tema que son los temas de bloque donde ya no tenemos PHP ya solo tenemos HTML y unos xml que nos permite meter todas estas configuraciones para que todo el sitio funcione exclusivamente con bloque dando una posibilidad infinita eso da para un taller 2 o 3 porque WordPress cambia fullside editing un tele uno para generate espere vamos a ver cualquiera que no a un 20 antiguos perdón ya lo tocado demasiado no tocas el ordenador no se toca el ordenador hay una manera de un tema uno que no sea de 20 antiguos por ejemplo tienes que ser seguro entonces los hooks que estábamos hablando los tenemos en el admin lo tenemos cuando se ejecuta incluso nosotros en nuestro propio para bien podamos poner esos huecos pero bueno eso ya sería otra historia pero vamos que esos huecos son muy importantes y el plugin este o señal o señal como están esos huecos una buena práctica es llenar la cantidad de huecos entre los que crea el WordPress crea el tema y crea los plugins que tengas tu instalado esto para desarrollar está súper bien y también fijarse la diferencia que tenemos entre un plugin un tema un tema clásico un tema fulsa editing ya solo por la cantidad de huecos que tenemos en uno y en otro es que realmente un plugin por ejemplo el típico plugin que añade las redes sociales al final desde el post es que realmente usa un action y que está por ahí aquí por ejemplo veis lo que decíamos que se llama generate before content que tiene una o sea aquí te lo está mostrando en la área gráfica veis la acción que es el hueco y nosotros podremos elegir que incluso esa función la podriamos desactivar un remoactio el hueco y la función podriamos eliminarlo y que tenemos el título de las páginas y si le metemos un condicional de que no sea en home o que sea en home por ejemplo podriamos eliminar el título de las páginas de inicio pero eso con una línea de ADACTI o remoactio si que te voy a hacer un ejemplo con get the title que se puede filtrar para ponerle hello world 2025 actualizado que son muy típicos del SEO o sea que queremos vamos a filtrar de title un filto de title y así se ve claramente para que veáis a la hora de la documentación de warpre que es muy importante revisar porque vamos a poder ver cómo se ejecuta por dentro estas funciones porque vamos a decir por ejemplo por qué tengo que escapar a esta función de warpre del core porque tengo que estar sanitizando esto porque a lo mejor por algún proceso interno no lo hace entonces como sé que sí tengo que hacer lono yendo directamente a la documentación a verlo porque ahí vamos a poder ver la ejecución interna del play de ADACTI o de la función en concreto cual queríamos tocar de title por ejemplo de title esto es el base de nuestro mejor amigo todo el día es que vamos a poder ver directamente cómo funciona por dentro y las funciones que utilizan es muy necesario para saber ese proceso de ejecución y sobre todo si necesitamos o no escapar este contenido o sanitizarlo en caso de que fuera rebe fuera una entrada y al final está el filto al final de ese bloque porque esto forma parte del núcleo de warpes más abajo ahí y fijaos que warpes dice porque esto es una función que te da el título de un artículo que es ese «hello war» que hemos visto ahí y warpes te dice al final te devuelvo el título pero antes de devolvértelo voy a aplicarlo en filtro de title y le mando el título en el segundo pedámetro en este caso y en el tercero el identificador del artículo y esto es para que cualquier plugin cualquier cosa pueda tomar eso y decir vale pues te lo voy a cambiar y voy a hacer otra cosa distinta con esto lo bueno que trae también la documentación que abajo siempre no tiene un montón de ejemplos vale eso por la comunidad como puede utilizarlo vale aquí hay comentarios hace 9 años también hay funciones que son perennes y que no van cambiando vale entonces aquí hay muchos ejemplos que va haciendo la peña y que no son súper útiles para poder programar todo tipo de modificaciones esto es el recurso que vamos a estar utilizando en nuestro día a día vale esto va a ser fiarse que hay documentación por todos lados vale hay que hacer los ejemplos de eso y lo vemos en vivo bueno al filtro si quiere y a la copia de aquí directamente una buena práctica que ahora también vamos a conocer y que nosotros de hecho cuando revisamos plugins lo decimos es no sé si os veáis de la cuenta cuando hacemos colamos css o js que hay que ponerle la versión de tu plugin continuamente vale y en otras cosas también a lo mejor hace falta utilizar la versión del plugin pues aparte de ponerlo en como cabecera de PHP lo bueno es que en tu inicio de plugin tenga un conjunto de constantes prefijadas con un prefijo de lo que va a necesitar al lado del plugin la versión se utiliza también por ejemplo el directorio principal de tu plugin y así bueno con los clases si no pero tiene ya hecho pero también vamos antes si lo engancha eso lo que comentaba aquí un poco aquí por ejemplo lo que decíamos tenemos aquí una cabecera este es un plugin que está publicado en el directorio y aquí tenemos el aspad y definimos una serie de constantes que luego lo vamos a utilizar para muchas cosas las más típicas son la versión yo esto lo recomiendo bastante de forma importante porque ya digo cuando me voy a hacer un encolamiento de CSS siempre voy a utilizar esa constante entonces cuando yo cambio versión o actualice versión del plugin lo cambio en mi cabecera y lo cambio en mi constante y llaman seguro que todos los CSS que están encolados y que van a pasar se reinician no se si sabéis que cuando la versión dentro de los CSS se mete como un parámetro al cambiar la versión de encolamiento también te hace que te reinician porque si el que cambia cosas de CSS no se muestren bien al usuario a la actualizar entonces esto es muy buena práctica luego el propio file porque muchas veces hacemos referencia al plugin o sea perdón al archivo del plugin principal pues lo meto también en una constante la url también porque esto se utiliza para encolamiento de CSS y jms nos pide la url donde va a estar nuestro CSS pues lo cojo aquí en el principal y luego solo al añado las sus carpetas y sus archivos que tenga esa estructura de play y para terminar cuando hacemos un require o incluye de un archivo si no lo hemos hecho con composers también esto nos ahorramos esta función que se está ejecutando sino que en el propio constante ya la estoy metiendo esta parte es otra cosa que tiene pero estas son las principales que siempre recomendamos para nuestro plugin y aquí veis lo que hablamos de política de seguridad para que no se cargue el PHP que se puede… Faran tiene un archivo de las distintas formas que se inscriben y ahí es infinidad de veces esta es una al final es que si no tiene este constante que la define el propio WordPress pues que muera ese PHP que no se pueda terminar ejecutando y… esta con el fito este que al final crear un plugin es que sobre todo es eso es comunicarse mucho con esos hooks y ver que hooks ejecutan cada momento para que tú puedes introducir ahí tu código o podrán modificar la salida que existe ahí, la salida, el dato o lo que sea en este caso veis que es una función adfirter añadir un filtro y la dicha añadir el filtro de title ha metido ahí directamente la función esto se puede hacer así o se puede referenciar a una función a una clase, a un momento de una clase fíjate y en un momento te lo hace que Manny hablaba a la IA con las leadings no, no, no, no ¡Ey, cante, entro! están pidiendo que cante y lo que está haciendo esa función que toma el título porque el título le ha venido desde el otro lado lo va a poner en función separada, casi igual se ve sí, más claro vale, al final lo único que estamos haciendo es concatenar sí, sí póntelo en el aflíter el nombre de la función el nombre de la función ahí en el segundo que es que esto no te va a ejecutar ¿qué es que es? el segundo parámetro, el nombre de la función así como string aconde que bueno eso el segundo parámetro es la referencia ¿qué es la función en este caso? simplemente le decía el nombre de la función y luego hay otro parámetro que veis que hay un 10 que eso es la prioridad con la que se ejecuta esto es porque pueden haber más plugins que ejecuten esto así como una vez que deis ponerlo vosotros primero después etc. y dos es el número de parámetros que va a recibir la función solamente sólo vamos a usar el primero pues hemos puesto dos pero la función sólo tiene uno y da igual así como que funciona de todo modo y lo que le estamos diciendo es, vale cuando se ejecuta la función de title que es la función esta por defecto que tiene warp y tal en el code que tome ese título y le añadimos ese ssr. como veis en el fitro recibimos la variable original que queramos con ella esa variable puede ser de muchos tipos no tiene porque sea de texto en este caso es una de texto luego sea write de todo cualquier tipo hay alguna cosa que vosotros digáis cómo se hace esto en un plugin cómo funciona día y le damos así como una pensada agrupal a ver cómo se ha día para así resolver un problema real algo que se pueda ocurrir si no lo preguntamos si no lo preguntamos a chagpp que cosa por ahí a ver por ejemplo como has mencionado a rice, se me puede ocurrir que cuando metas en un carrito por ejemplo cinco productos te aplique cierto porcentaje del cuento por así estaría viendo a rice y una regla en una página externa por ejemplo de las primeras de las que vas añadiendo vale, y está la buscó en spaco vamos a ver cómo se hace normalmente para esto porque esto que ha habido de bucomers tienes que mirar en la documentación de bucomers a ver cómo se hace eso claro el problema que has planteado es cuando añades como cinco productos algo así que te haga un descuento para eso lo que hay que hacer es modificar el carrito de bucomers y el carrito de bucomers es que tiene un parámetro tiene un objeto si, un objeto tiene un parámetro de descuento si no me equivoco bueno, para aplicar el cupón puedes cambiar el precio puedes utilizar diferentes estrategias cambiarle el precio o añadirle descuento o añadirle un cupón puedes hacer distintas estrategias también como te interesa comercialmente ponerlo en el plugin vamos a buscar una solución a eso y vamos a hacer más no solo nosotros, también vosotros nos miras porque esto obviamente no está preparado no estamos conchabados, ¿verdad? no no estamos conchabados entonces este es el momento de buscar en la documentación ¿Has dicho que un array seguramente sería un objeto? claro que lo decía porque como habéis dicho lo de la array igual a alguien nos ha dado programación no sabe lo que es un array le puede interesar que le expliquéis cómo funciona un array de la forma básica por si el día mañana tiene que hacer algo con un array que sepa para que le puede servir por eso he dicho también lo de 5 productos porque tiene que igual darse información a algún lado claro bueno, ahí probablemente sea un objeto vamos, ya de cabeza no no recuerdo pero vamos a hacer un objeto que tiene que hacer el cart y ahí le pueden modificar estas cosas pero está al final en un descuento por cantidad es que al final es eso que por cierto cuando te encuentras este tipo de problemas una forma de ver cómo solucionarlos es encontrar un plugin que lo haga y dice y este cómo lo hace pasarme el hdmi y a ver si sacamos de aquí algo ¿Llegas? ¿Cómo llegamos? ¡Mira que chingadito! no hemos descargado un plugin estamos viendo como lo hace si, lo he metido en google he puesto ¿Vocommerce discount by quantity no sé qué está enseñando una ajuste ¿Pero qué es esto? bueno, aquí por allí hay una pregunta cuplica parece que hay un filtro que se llama «willcommerce before calculate hotels» 10 minutos no parece no me asustes nos quedan también mal 10 minutos para las preguntas ¿no? ¡Ah claro! ¡Ah que llevamos 10 minutos! ¡Ah que ya! por allí vas a preguntar tengo el hook ¿por qué lo he usado alguna vez? ¡Estupendo! ve salen cosas es «bookommerce card calculated fees» ¿vale? «card calculate» quizá esta fíjate que casualidad ¿hay alguien que ha abierto esta? si y cada vez te dice «ah si perdona» si que tu ya la agafa pero nosotros no y la agafa la tengo un poquito cuando más comando más no, y comando más no hace nada es un visual es parte de la cosa que me enseñó y es para que si la haces así como los móviles bueno ¿hay alguien que estaba peleando con la un poco el tema de la acción y filtro es muy importante por eso porque fijaros que el hueco siempre va a estar entonces es muy buena práctica si bueno, fijaos que aquí pasa una cosa un poco rara hace un «action» hemos visto antes el filtro esto sería un «action» no sé por qué es un «action» si modifica un par… supongo que le añade en lugar de… con el cálculo a lo mejor al final para que ponenle muchas veces también la prioridad si queremos que lo haga después de todos los plugins a lo mejor tenemos una prioridad muy alta hace esto porque realmente bueno, ha traído la función «attaction» realmente la función «agación» original sería… esto no se lleva muy bien porque lo hacen si, es que… porque ha traído algo que ya… que ya está extraído entonces, es este «hook» veo que llama esta función y voy a ver esta función si la encuentro voy a ver qué hace lo que pasa es que el calva que ha dado una función que se llama «buckummer» no sé qué… aquí está un poco rara esto ya está mal a nivel de revisión de plugins porque no está poder fijar en nombre de la función así que cualquier otro plugin que use este mismo nombre pues va a haber una colisión pero no está dentro del clase, ¿no? o si… ah, si, es verdad, es verdad, está dentro del clase es que como no… si, no lo ha traído bueno, un comentario a esto que están hablando los prefijos que no lo habíamos dicho hay que prefijar siempre las funciones en las clases nosotros hace poco cambiamos la directiva de tres dígitos a cuatro que sean los… suficientemente distinguirlas de otros entonces, normalmente lo que decíamos un poco los «lou» son decisiones que tenemos que tomar que luego van a venir bien el futuro hay que utilizar cuatro dígitos y en esta clase por ejemplo, lo han puesto tres dígitos que es más más, ¿no? «what» un bajo disco también como… es una directiva que hemos puesto hace un relativante poco bueno, lleva más tiempo bueno, pues claro, los plugins que ya estaban no pueden cambiar a partir de ahora si dice cuatro dígitos pues, vamos a ver lo que hace es una función que se llama «bookomers custom search age» que es como… lo que añadirle algo adicional de dinero, de dinerito a arcarrito y veo que lo que hace es que bueno, aquí toma algo se da alguna comprobación aquí toma como un descuento lo multiplica por menos uno claro, porque le está añadiendo un «sack change» entonces claro, si multiplica un descuento por menos uno se convierte en un antidescuento (risas) a veces hay que hacer las cosas las cosas un poco chapucedas (risas) y luego lo que hace es que aquí lo… toma una variable la divide entre el total de descuento que hay en el carrito y le suma uno supongo que esto sea para hacer un porcentaje puede ser, no sé y… y luego compreva… esto se va a apagar con alguna comprobación (risas) vale, perdón, perdón perdón, es que… se hubiera un señor mayor con esto, fíjate (risas) y lo que hace es que aquí hace una comprobación aquí abajo no hace nada más, así que de aquí para abajo lo podemos ignorar de aquí tiene una… una llamada bucomerscart@fi y añade como una reducción en el carrito al precio que supongo que habría Paco, ¿tú qué tienes? el este levantado puede montar la función para ver si podemos aunque sea de forma superestática (risas) pues se llama buadvance discounts no lo pego por… (risas) (risas) (risas) mira, ¿eh? (risas) ¿cómo se llama? el… el… el… el… te lo pongo más grande con mi mano super mágica que fuerte se me escucha (risas) (risas) (risas) buadvance discounts pero si no preguntan a la IA si la IA te lo va a montar vale, vale (risas) mientras que ahí se maneja Paco me gustaría comentar buenas prácticas seguí hablando buenas prácticas ayer en el contributo estuve hablando de utilizar un control de versiones es importante hay muchos en el mercado el más conocido guija esto que hace que y sobre todo con con distintas directivas para poder hacer codigos de otros por ejemplo utilizamos Kid Ignore para las carpetas vendors que no se guarden ehh… ehh… liberías de terceros, vale pero si a la hora de distribuir plugins lo podemos hacer y… utilizar una estrategia de ramas para poder trabajar con ellas, vale hay una que es muy conocida también últimamente que te permite hacer este unitario y es… o mismo que los mirejes TBD TBTrand based development y funciona muy bien entonces control de versiones para tener otro código siempre versionado y… y utilizar estrategias de ramas funciona muy bien ¿Fruro tiene? ¿lo pasamos? si es que hay un nip directamente aquí pero si pasaselo vale pero cuartemos que tiene vamos bueno, ya se ha dado una cosa ahí a ver, la cosa también es terminar toda la instalación de boomcomber hay que crear productos, hay que crear un montón de cosas no, te viene ya uno no, no, no, no, no creo que no me queda ninguno por eso estaba viendo un poco ¿la capital está aquí por dentro? ya, está el CSV está el CSV ya, ya pero mira, tiene aquí un nip, es Paco te lo paso por… por Slack mmmm pasame la URL por… no te voy a quitar no voy a abrir el Slack aquí lo comprende ahí eh, más cosillas a veces tenía preparado toda la parte de scaping, cosas que… eso nos va a hablar si, pues vamos a comentar sobre los scaping comentamos, mientras monta eso comentamos sobre los scaping ahora lo tengo tú aquí lo aquí aguantada la alfaca claro creo que hace boletillas es que no por más que no da tiempo ha hecho todo esto vamos a ver bueno, tenés que ir y decirles si nos dan la tarde también para seguir con esto toda la tarde y mañana también vais a venir aquí vale, igualmente al final lo comentas, aquí tenemos el filtro, vale con lo que sería vale, ya la función es bastante sencilla la prioridad aquí importante yo le pondré una prioridad más alta, de 10 darnos cuenta que las prioridades van por sartas de 5 o de 10, casi todos de 10 10, 20, 30, 40 eso lo haces para que puedan, para darte espacio a ti a meter una prioridad de 9 o 5 normalmente, para que vayas antes o después y luego, pues si tenés que ir a 99, pues te va a 99 y ya sabes que normalmente es la última claro, a ver, también como terminé todo esto se llama muy largo, vale, y nos quedan 10 minutos si, si, si, bueno, nos poníamos menos hace 10 minutos quedaban 10 minutos, vale una cosa que nos tiene que quedan bastante claro, vale es esta parte de la documentación de aquí, vale, que es toda la parte de de recibir y mandar datos, vale, que eso sí que es una cosa que queremos que quede claro por el de hecho, vale, de que esto genera uno de los problemas de seguridad más comunes de internet y más explotado, vale que al final, poder recibir inyesiones, vale, en nuestra página, vale por eso, siempre tenemos que seguir una directriz, vale que escapa lo más temprano que pueda, o sea sanitiza, no, lo sanitiza sanitiza lo más temprano que pueda vale, o sea, cuando recibimos un dato por un post, por cualquier sitio, vale, por una llamada tenemos que sanitizar y con las funciones que nos da WordPress, vale, que no tenemos que reinventar lo que es el ciclo, vale ya WordPress tenemos un montón de funciones de sanitizado con los que vamos a poder desinfectar lo que ya recibamos, vale una vez de esto, vamos a validarlo, vamos a validar siempre, siempre siempre, siempre, siempre validar lo que recibeis, vale y nunca fui de lo que tengáis guardar la base vale, así que siempre escaparlo, no es que es el post, bueno y quien dice que no hayan infectado la entrada cualquier cosa, eso tenéis que tenerlo en cuenta, no solo por vuestro plugin, sino por el resto de plugin o resto de la instalación, vale porque no vayas a saber si el plugin de verdad lab esta tiene una vulnerabilidad una cosa muy típica también de sanitizado es la API, cuando te conecta una API a ver, normalmente no debes estar infectada la API, pero te pueden infectar la API, lo que te traes de la API tienes también que sanitar y al final, como que no te fías de nadie de quién te va a traer, si es de la base de actos, si es de una API extena o cualquier cosa si, como además uno pide pan, eso da igual sanitar los cinco veces, da igual no va a ser algo que añada mucho tiempo de ejecución, así que hay distintos tipos de funciones de sanitizado según la variabilidad que te traigan por ejemplo email si es un texto si es un título, etcétera sanitiza el título, me parece que lo que hace es que lo van a cometer eso y siempre utilizarla, que convengan ese momento no utilicemos una genérica si no nos quedamos muy claros, pues entramos en cualquiera de ellas y vemos lo que ejecuta, vale, esto es el pan de cada día, vale igual que con el resto, yo recomiendo con el resto de funciones lo mismo, vale revisarlo, porque siempre nos fíjamos de muchas funciones de WordPress como el Detight, hay un montón de funciones que nos fíjamos pero quien nos dice si estás protegido o no por la única forma es entrar aquí y ver si están protegidos o no para saber si necesitamos escaparlo o no cuando lo saquemos, esa información vale, hay una pregunta ¿Has comentado el tema de tiempo de ejecución? Me imagino a ver, por ya obtenerlo en cuenta de cara al futuro que las que más añadan serán peticiones a la base de datos me imagino que más añadan tiempo de ejecución porque eso es la que te reelevan solo es ser relevante la cosa es que las llamadas a base de datos si usan las funciones por defecto de WordPress el URL que editó todo esto realmente no importa tanto si consultan la misma información cinco veces porque el cuerpo de WordPress la cachéa y no vuelve a consultar a la base de datos cuando ya lo ha hecho pero sí, la base de datos es uno de los factores más importantes cuando se analista por qué una web tarda mucho en ejecutarse una de las cosas que miras es cuántas queries se está lanzando a la base de datos y ves que está lanzando 400, 500, 600 es un poco exagerado en plan se llama query monitor me imagino que lo conoceréis que ahí te dicen las query y las peticiones que hace es un poco para rendimiento de la página claro, era de cara a me imagino que vosotros que habréis visto mucho más si podíais decir los típicas 3 a 5 razones por las que más se te sobrecarga a lo mejor un plugin de cara a si eso generalmente si pretes llamar query a la base de datos o si había alguna otra cosa que supieres otra también muy típica hace peticiones a una API que te traiga entonces hay una buena práctica, utilizas transient que guarden base de datos el valor de esa API y ya no te has que estar pidiendo continuamente una API otra cosa que no debéis de hacer o evitarlo es llamar librerías de fuera vamos a intentar siempre tener las librerías en nuestro plugin, o sea, no la descargamos y la instalamos típico Google Phone por ejemplo bueno, hay cosas concretas que sí podemos llamar fuera, como fuentes y demás que está permitido hay mucho para tenerla dentro pero por ejemplo en el repo sí está permitido pero muchas gente, un slider que dañan de un slider por ejemplo un carruxer, coge la librería del JSA y la cogen en un external siempre es mejor tenerla dentro del propio plugin de hecho nosotros pedimos que lo hagan salvo excepciones, como fuentes porque el CDN bueno, el de vuestra te mete un segundo de lazo a la hora de cargar la página que es brutal claro, el de vuestra gratuito no vuestra, no perdón, es de phone a Weesson phone a Weesson es brutal entonces os traíis dos archivos, que es CSS y los iconos pues ahí te quita bastante y también importante revisar qué librería tiene Word, pero de por sí porque siempre es lo supertípico y Word tiene una lista de librería ya cargada que es bastante grande así que siempre revisarlo además en la versión se van a ver si se añaden cosas nuevas así que es una cosa, teñar día que sí que va venir bastante bien y también más allá de la eficiencia hablando de las librerías que se cargan desde fuera hace unos meses sucedió que una librería muy famosa que cargaba mucha gente, no recordaba el nombre pero la mantenía alguien y una empresa china le compró el dominio de su web entonces empezaron a meter Marwar en toda la gente que estaba cargando esa librería a través de su cdn entonces bueno también por seguridad, claro, siempre va a ser mejor que la cargue a tu mismo también me aprecia una pregunta hola, qué tal me ha parecido muy interesante quería hacer una punta en el tema del desarrollo del plugin cuando habéis creado el filtro es buena práctica también comprobar que existe el filtro y que existe la función a la que llama porque si no se te cae toda la página si no existiera el filtro o no existiera la función a la que se está llamando no pasa nada si no existiera el filtro no pasaría nada si no existiera la función si no existiera la función si no existiera la función para comprobar lo que es la función más que el filtro yo puedo efectos y lo suelo poner porque a veces incluso dependiendo de otro plugin en el caso del requires, yo no conocía que se podía solicitar que otro plugin estuviera activado y presente en el sistema porque es lo que decís que desativa Google Comerz por una actualización o lo que sea y si hay un plugin que está llamando esas funciones como no las encuentras tú va toda la página de hecho esa cabecera que se programó no te permite desactivar el padre vale y luego una pregunta en el tema de la vulnerabilidad es que es un tema súper importante vosotros tenéis un prefiltro o algún tipo de software que os haga un análisis inicial pero yo por ejemplo lo estoy haciendo para un proyecto y con Quimera te va analizando pues todo el tema de cadenas que no se escapan de llamadas conflictivas o rl y la verdad que ha alucinado bastante porque además analiza toda la página y vienen todos los plugins y hay algunos que tienen unas vulnerabilidades de ejecución de código directamente que puedes inyectar lo que quieras. Hay un proyecto que tenemos en el equipo que es abierto que lo podéis descargar que se llama plugin check plugin y tiene un montón de ejecución a todos como hemos estado hablando de te da un interfalo, tú me abriendo ayer en el contributo y entonces lo que haces es que lo instala en tu work esto siempre intenta ejecutarlo en local lo que le decís que plugin quere analizar y te da un informe bastante desobstivo de un montón de vulnerabilidades que pueden tener. Entonces esta herramienta lleva ya tiempo con un añillo por ahí con nosotros y está funcionando muy bien y lo podéis usar sin problema y además el proyecto está abierto en Gija para que podáis contribuir cualquiera de vosotros vale que un ISO un public with aquí en algún contributo se ha hecho algún public que ahora es que tenéis el proyecto para que podáis ver como va el proceso actuar, cuáles son los checks que tenemos activos, esto no podéis revisar aquí igual que si alguien se anima puede contribuir aquí y poner lo que quieras. Aquí podéis ver el listado el listado de checks que hay ahora mismo que hay unos cuantos y por ejemplo lo que estaba hablando en Paco el escapado de ir sanitizado y te dice que lo donde es porque a ver son tanto códigos en Plagio también más complejos pues más difícil o más fácil que se te escape algo y te haces por una herramienta te ayuda mucho por ahí hay una pregunta sí, sí tiene una duda es que básicamente utilizamos los plugins para crear funciones a medida de un cliente entonces, quieres saber si hay alguna forma igual que hay un que puedes pedir la carga de otro plugin si puedes también pedir controlar que te haces un tema determinado que tenga que un tema, o sea para que el plugin se ejecuta te va a tener un tema que tú ya has creado o un comercial entiendo que sí porque tú el tema se guarda en la tabla de opciones y tú tomas para que te vete la función getoption y se llama theme/slash o algo así o Carren theme es una de ellas y ahí te dice pues el nombre de la carpeta del tema el nombre de la carpeta del tema que hay en este momento cargado con eso lo puedes comprobar también si el tema por lo que sea incluye una función o una clase o lo que sea pues puedes comprobar si la función existe o si la clase existe y con eso puedes verlo porque no estoy seguro si eso va a funcionar de todo porque depende también del momento de la ejecución que es que a mí me no sé si los plugins cargan antes o después del tema y ya lo puedes comprobar dentro de hooks porque seguramente hay un hook que sea después de que cargue el tema hay un hook que activa el plugin después de que cargue el tema comprúebame si existe cierto tema y ya a partir de ahí puede empezar a ejecutar tu código si a veces tienes dudas de cómo se hace esto hay un montón de temas que te dicen oye tengo el requerimiento de este y este plugin ahí se puede ver fácilmente como se realizaría la mejor forma de ver cómo se hace todas cosas de WordPress es viendo alguien que ya ha hecho ya que es OpenSor y eso es lo beneficio que nos da OpenSor poder ver como la hecho otro claro y una cosa que hay que tener en cuenta es que en el desarrollo es el orden de ejecución porque cuando se cargan todos los plugins si tu plugin empieza por la A y quieres comprobar si hay un plugin cargado que empieza por la B no puedes hacerlo antes de que carguen todos los plugins hay un action que se llama plugins loaded que se ejecuta después de que cargan todos los plugins pero fuera de ese si tu plugin por a veces da dios está antes que el otro porque tu plugin se ejecuta antes que el otro técnicamente como veis podríamos estar todo el día hablando de plugins y nada más que nos en el pasillo donde hay nos preguntan las pasillas porque a la unímedia la foto de familia y no vamos a salir no sé si hay alguna pregunta más alguna pregunta rápida o venga vamos a hacernos la foto muchas gracias ordion content. ## --- ## State of the Word: Plugins URL: https://davidperezgar.com/blog/comunidad-wordpress/state-wordpress-plugins-2024/ * Foto realizada por wordpress.org* Ayer se presentaron las novedades en las que se va a trabajar en WordPress el próximo año. También el cofundador de WordPress, Matt Mullenweg describió los retos más importantes alcanzados por la comunidad en este año. Y claro, me ha encantado el momento de hablar de Plugins, el equipo en el que ando involucrado. Destacaba la cola de plugins por revisar que era de 2 meses y ha pasado a 0 en Octubre, y la nueva herramienta Plugin Check Plugin, en la que estoy involucrado, que permite realizar comprobaciones automatizadas en el envío de nuevos plugins, y que vendrá en un futuro próximo a las actualizaciones de versiones. ## Transcripción de Matt: En lo que respecta a los Plugins, las cifras también son bastante disparatadas. Se prevé que alcancemos los 2 billones de descargas de Plugins este año, lo que supone un crecimiento interanual del 20 %. Y, como sabéis, WordPress tiene un sistema de actualización automática increíble. De hecho, se han realizado más de 3 billones de actualizaciones de plugins durante el año pasado. Y con algunas de las actualizaciones de la versión 6.7, es posible que incluso lleguemos a los 3,5 billones. Es muy emocionante. Quizá recordéis el año pasado en Madrid, porque me gusta hablar de los retos y de los éxitos aquí. Y el año pasado en Madrid mencioné que la cola de revisión de plugins había aumentado a 79 días. Eso significaba que, si enviabas un nuevo plugin, tenías que esperar más de dos meses para que lo revisaran. Tengo buenas noticias, como podéis ver en la diapositiva. Gracias al increíble trabajo de nuestro equipo de revisión de plugins, esa cola, que superaba los 1300, se redujo por completo a cero en octubre. No se trata solo de velocidad. La calidad de los envíos ha mejorado mucho, por eso lanzamos la herramienta de verificación Plugin Check Plugin. Desde que la lanzamos, vemos un 41 % menos de problemas aprobados por plugin aprobado. Y los equipos están aprobando un 138 % más de Plugins cada semana. Así que felicitaciones enormes al equipo de revisión de Plugins por darse cuenta de eso y poner más plugins en manos de los expertos de la comunidad. Con el crecimiento interanual del 20%, está claro que el ecosistema de Plugins está prosperando. Y los Plugins son realmente el mercado libre de ideas donde cualquiera puede probar cosas nuevas para WordPress, algunas de las cuales incluso podrían llegar al núcleo, o pueden transformar por completo lo que hace WordPress. Así que, una vez más, felicitaciones al equipo de revisión de Plugins, como pueden ver aquí. ## Conclusiones Este año ha sido un gran año en lo que respecta a Plugins en WordPress, y estoy muy orgulloso de ser parte de ello. He crecido como profesional aprendiendo mucho de mis compañeros e involucrándome en un equipo multidisciplinar gracias a la herramienta Plugin Check Plugin. ¿Qué depara el próximo año? Creo que trabajaré para que se conozca más esta herramienta que ayuda mucho a hacer el ecosistema de WordPress más seguro. Además de incorporar más comprobaciones, algunas nuevas y otras creaciones adaptadas de la herramienta interna, originalmente creadas por Fran Torres. --- ## Me Entrevistan en la Taza de Amadeu URL: https://davidperezgar.com/blog/me-entrevistan-en-la-taza-de-amadeu/ Soy David Pérez, de Granada, y lidero la agencia Close, donde digitalizamos proyectos. También estoy muy involucrado en la comunidad de WordPress como parte del equipo de revisión de plugins, y colaboro con Hostinger. Mi recorrido empezó en 2006, cuando creé un blog llamado «Close Marketing» mientras trabajaba como técnico de marketing en una empresa de muebles. Ese blog, que inicialmente era un espacio personal para compartir ideas, me llevó a adentrarme en el desarrollo web y, poco a poco, a trabajar como freelance. En 2016, junto a mi socia Sacra, formalicé Close tras varios años colaborando en diferentes proyectos. Mi participación en la comunidad de WordPress comenzó en 2015 con los Meetups locales y luego con las WordCamps. Estos eventos han sido esenciales para mí, no solo como espacios profesionales, sino también como lugares donde compartir con colegas y amigos que comparten mi pasión por la tecnología. La comunidad me ha permitido aprender mucho y sentirme realmente conectado con otros profesionales. Ah, y sobre café… ¡tomo mucho! Aunque estoy intentando reducir un poco, sigue siendo un acompañante clave en mis días. --- ## Contribuir a WordPress revisando Plugins URL: https://davidperezgar.com/blog/charlas/conoce-nueva-herramienta-desarrollar-plugin-seguro-buenas-practicas/ Esta es la charla que he dado en la WordCamp Griñón 2024, acerca de Plugin Check Plugin la herramienta para desarrolladores de Plugins en WordPress. El pasado fin de semana estuve en la WordCamp Griñón, un evento oficial de WordPress, en el que los profesionales, agencias y empresas del mundo digital, marketing y Hosting comparten experiencias, conocimientos y establecen colaboraciones. Muchos temas se tocaron, me gustó mucho las charla de Email Marketing de Marina Febles, y cómo estamos perdiendo dinero si no usamos flujos automatizados de email con las tiendas online. La de Miguel Mart y los afiliados como recurso para generar ventas. Recomendaba comisiones de un 10-15% para tiendas físicas. De Miguel Sanz aprendimos lo que no hay que hacer en los ecommerce para no perder oportunidades de venta. Priorizar las mejoras por este orden: Checkout, Producto, listados, buscador, Home y Opiniones, nosotros, porque y envíos. De Pablo Moratinos, cómo tener en cuenta diferentes factores, no sólo la venta, para tener en cuenta productos con mayores oportunidades. Y de Víctor Sáenz, las dificultades que trae una tienda para mantener el ritmo de venta de un millón de euros al mes. Saludando amigos de la comunidad como Fede Padilla,Pablo Moratinos, Fernando Puente, Paula Carmona, Paco Marchante, Jose Ramón Padrón García, Miguel Ángel Pérez, y muchos mas que me dejo… Tuve también la oportunidad de realizar una charla sobre «Contribuir a WordPress revisando Plugins». Gracias a Hostinger por patrocinar mi tiempo a la comunidad. Está permitiendo aportar avances en la revisión de Plugins de WordPress importantes. Gracias por las fotos realizadas a Nilo Velez y Paco Marchante. **#wordpress** **#wordcamp** **#wcgriñon** **#marketing** --- ## Cómo instalar y configurar Xdebug en Mac para depurar tus aplicaciones PHP URL: https://davidperezgar.com/blog/desarrollo-web/como-instalar-y-configurar-xdebug-en-mac-para-depurar-tus-aplicaciones-php/ Tabla de contenidos Toggle - ¿Qué es Xdebug y para qué sirve? 1. Depuración en tiempo real - 2. Seguimiento de pila (Stack Trace) - 3. Perfilado del rendimiento - 4. Cobertura de código (Code Coverage) - ¿Cómo empezar a usar Xdebug? - Cómo instalar Xdebug en Mac para depurar aplicaciones PHP Requisitos previos: Homebrew - Pasos para instalar Xdebug en Mac - Configurar Xdebug - Configura tu editor ¡Listo para depurar! ### ¿Qué es Xdebug y para qué sirve? Si trabajas con PHP, seguramente te has enfrentado a errores complejos que parecen imposibles de resolver con simples var_dump() o echo. Aquí es donde entra en juego **Xdebug**, una herramienta imprescindible para cualquier desarrollador PHP que quiera mejorar su flujo de trabajo y solucionar problemas de manera más eficiente. **Xdebug** es una extensión de PHP diseñada para ofrecer herramientas avanzadas de depuración y análisis del rendimiento de tu código. Veamos algunas de sus funciones más destacadas y cómo pueden ayudarte en tu día a día como programador. #### 1. **Depuración en tiempo real** Con Xdebug, puedes olvidarte de los métodos rudimentarios como imprimir variables por todas partes. Te permite integrar un depurador interactivo en tu entorno de desarrollo (como PhpStorm, Visual Studio Code o NetBeans) para: - Poner puntos de interrupción (breakpoints) y detener la ejecución en líneas específicas del código. - Inspeccionar valores de variables en diferentes momentos del programa. - Ejecutar paso a paso el flujo del código para entender exactamente qué ocurre. Esto no solo **acelera la resolución de errores**, sino que también te ayuda a comprender mejor cómo interactúan las diferentes partes de tu aplicación. #### 2. **Seguimiento de pila (Stack Trace)** Cuando ocurre un error o una excepción, Xdebug genera un seguimiento de pila detallado. Esto incluye información como: - Qué funciones se llamaron antes del error. - En qué archivos y líneas ocurrió el problema. - Los argumentos que se pasaron a cada función. Este nivel de detalle es oro puro para identificar rápidamente la raíz de los problemas más complejos. #### 3. **Perfilado del rendimiento** ¿Tu aplicación está funcionando más lento de lo que debería? Xdebug incluye un **perfilador de rendimiento** que analiza tu código en busca de cuellos de botella. Genera archivos compatibles con herramientas como **Webgrind** o **QCacheGrind**, donde puedes visualizar cuánto tiempo y recursos consumen diferentes funciones o partes de tu aplicación. #### 4. **Cobertura de código (Code Coverage)** Si haces pruebas unitarias, probablemente te interese saber qué partes de tu código están siendo ejecutadas durante las pruebas. Xdebug genera informes de cobertura que te muestran qué líneas han sido probadas y cuáles no, ayudándote a mejorar la calidad de tus tests. #### ¿Cómo empezar a usar Xdebug? - **Instalación**: Puedes instalar Xdebug desde el repositorio oficial de tu sistema operativo o compilándolo manualmente. - **Configuración**: En el archivo php.ini, habilita la extensión y configura parámetros clave como xdebug.mode para definir qué funciones quieres usar (debug, profile, trace, etc.). - **Integración**: Configura tu IDE para conectar con Xdebug y empezar a depurar como un profesional. **Xdebug** es más que una herramienta; es un compañero que puede transformar tu experiencia de desarrollo en PHP. Al adoptar prácticas avanzadas como la depuración en tiempo real y el análisis del rendimiento, no solo escribirás mejor código, sino que también ahorrarás horas solucionando problemas. ### Cómo instalar Xdebug en Mac para depurar aplicaciones PHP #### Requisitos previos: Homebrew Antes de comenzar, asegúrate de tener **Homebrew** instalado, ya que lo utilizaremos para gestionar las instalaciones. Si no lo tienes, instálalo ejecutando este comando en tu terminal: **Copy/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ### Pasos para instalar Xdebug en Mac - Instalar PHP con Homebrew** Primero, instala PHP utilizando Homebrew. Este comando instalará la última versión de PHP disponible: **Copybrew install php - Instalar Xdebug** Para instalar Xdebug en sistemas con procesadores M1 o posteriores, usa el siguiente comando: **Copyarch -arm64 sudo pecl install xdebug - Verificar la instalación** Una vez completada la instalación, verifica que PHP y Xdebug estén correctamente instalados ejecutando: **Copyphp -v Deberías ver algo como esto en el resultado: CopyPHP 8.x.x (cli) (built: ...) Zend Engine v4.x.x with Xdebug v3.x.x Esto confirma que Xdebug está activo. - Localizar el archivo php.ini** Para encontrar el archivo de configuración de PHP, ejecuta: Copyphp --ini Esto te mostrará algo como: CopyConfiguration File (php.ini) Path: /opt/homebrew/etc/php/8.0 Loaded Configuration File: /opt/homebrew/etc/php/8.0/php.ini Scan for additional .ini files in: /opt/homebrew/etc/php/8.0/conf.d El archivo que debes editar es el que aparece como Loaded Configuration File. En este caso:/opt/homebrew/etc/php/8.0/php.ini. ### Configurar Xdebug Abre el archivo php.ini con tu editor de texto favorito. Por ejemplo: Copynano /opt/homebrew/etc/php/8.0/php.ini Al final del archivo, añade las siguientes líneas: Copyzend_extension="xdebug.so" xdebug.mode=debug xdebug.start_with_request=yes Guarda los cambios y cierra el archivo. ## Configura tu editor Ahora, entre en configuración en la configuración principal settings.json: Copy "launch": { "version": "0.2.0", "configurations": [ { "name": "Listen for Xdebug 3.x", "type": "php", "request": "launch", "port": 9003, "xdebugSettings": { "max_children": 128, "max_data": 1024, "max_depth": 3, "show_hidden": 1 } } ] }, ### ¡Listo para depurar! Reinicia tu servidor local si es necesario, y Xdebug estará configurado para depurar tus aplicaciones PHP. Con esta configuración, podrás integrar Xdebug con tu IDE favorito, como Visual Studio Code, y disfrutar de una depuración avanzada con puntos de interrupción y análisis detallado del código. Si te encuentras con problemas, revisa la documentación oficial o verifica que los pasos anteriores se hayan seguido correctamente. ¡Buena suerte depurando tu código! 🚀 --- ## Cómo mantener tus dependencias al día URL: https://davidperezgar.com/blog/codigo/como-mantener-tus-dependencias-al-dia/ Cuando programamos en PHP/JS y utilizamos librerías como composer o npm, que son fundamentales en nuestro trabajo. Tenerlas actualizadas es fundamental por motivos de seguridad principalmente. Esto hace que nuestra programación sea más segura y aunque dependa de terceros, también esté actualizada. Tabla de contenidos Toggle - ¿Qué es dependabot? Características principales de Dependabot: - Flujo de trabajo típico de Dependabot: - ¿Cómo implementarlo? ## ¿Qué es dependabot? Dependabot es una herramienta integrada en GitHub que ayuda a gestionar y mantener las dependencias de un proyecto de software de manera automática. Se encarga de revisar regularmente los archivos de configuración de dependencias, como los archivos package.json en proyectos de Node.js, composer.json para PHP, pom.xml en proyectos Java, Gemfile para Ruby, entre otros. Dependabot detecta si alguna de las dependencias está desactualizada o tiene vulnerabilidades de seguridad, y puede generar automáticamente pull requests (PRs) para actualizar esas dependencias. Los Pull request nos permiten revisar el código propuesto de mejora y aprobarlo. ### Características principales de Dependabot: - **Actualización de Dependencias**: Dependabot revisa periódicamente las dependencias del proyecto y genera PRs automáticas con sugerencias para actualizar versiones que hayan cambiado. Esto nos permite mantener las bibliotecas y herramientas del proyecto actualizadas sin tener que hacerlo manualmente. - **Parcheo de Vulnerabilidades de Seguridad**: GitHub, a través de su base de datos de vulnerabilidades, notifica a Dependabot cuando detecta una vulnerabilidad en alguna dependencia. Dependabot puede entonces generar una PR para actualizar esa dependencia a una versión segura. - **Configuración Flexible**: Tenemos un archivo de configuración de cómo y cuándo se ejecuta Dependabot. Se pueden definir los intervalos de tiempo (diario, semanal, etc.), qué archivos debe monitorizar, y si debe crear PRs automáticas o simplemente notificar sobre actualizaciones. - **Integración con el flujo de trabajo de GitHub**: Las PRs creadas por Dependabot se integran con los flujos de trabajo de CI/CD existentes. Por ejemplo, las actualizaciones pueden ser probadas automáticamente mediante pruebas unitarias y otros mecanismos que ya tenga configurado el proyecto. - **Compatibilidad con múltiples lenguajes**: Dependabot es compatible con una amplia gama de lenguajes y gestores de dependencias, como Node.js, Python, Java, Ruby, PHP, Go, y más. ### Flujo de trabajo típico de Dependabot: - Dependabot escanea regularmente el archivo de dependencias del proyecto. - Cuando encuentra una versión nueva de una dependencia (o si detecta una vulnerabilidad de seguridad), crea una PR automática con la actualización correspondiente. - Tenemos que revisar el PR, ver los cambios propuestos y decidir si aceptar la actualización. - Si se acepta la PR, se integra al proyecto y las dependencias se actualizan. En resumen, **Dependabot** es una herramienta muy útil para mantener las dependencias de un proyecto actualizadas, reducir el riesgo de vulnerabilidades de seguridad, y minimizar el trabajo manual relacionado con la gestión de dependencias en proyectos de software. ## ¿Cómo implementarlo? Partiendo de que estás desarrollando un plugin para WordPress o también te puede valer para PHP, te incluyo el archivo de configuración que utilizo en mis repositorios. La configuración de este ***dependabot*** está basado en el Plugin Check Plugin de WordPress, que te recomiendo bastante, y que le he añadido un ajuste que me sirve bastante en mi flujo de trabajo. Por tanto, mi dependabot hace: - Revisa las dependencias de acciones de github, npm y composer. - Lo revisa cada semana. - Tiene un límite de 10 PR. - EL PR se realiza sobre la rama «develop» que es la que utilizo normalmente. Para ponerlo en marcha, sólo será necesario crear este archivo en la rama por defecto que tengas en GitHub, como *trunk*, *main*, o *master*. Copy.github/dependabot.yml Con el siguiente contenido: Copyversion: 2 updates: - package-ecosystem: github-actions directory: '/' schedule: interval: weekly open-pull-requests-limit: 10 target-branch: "develop" - package-ecosystem: npm directory: '/' schedule: interval: weekly open-pull-requests-limit: 10 target-branch: "develop" - package-ecosystem: composer directory: '/' schedule: interval: weekly open-pull-requests-limit: 10 target-branch: "develop" --- ## Cumplo mi primer aniversario en el equipo de plugins de wordpress URL: https://davidperezgar.com/blog/cumplo-mi-primer-aniversario-en-el-equipo-de-plugins-de-wordpress/ Viendo a mi compi Fran Torres, me he dado cuenta que yo también cumplía un año el **5 de Mayo de 2023** en el Equipo de Plugins Oficial de WordPress. Y me gustaría recordar cómo ha sido también este año de revisiones. Y parece que fuera ayer cuando empecé en el equipo de Plugin y recibí el correo de invitación de Álvaro. En este tiempo, me he conseguido enviar 3.195 correos casi la mayoría con informes de código, más de 600 aprobados y la siendo sobre todo a partir del año 2024, cuando Hostinger patrocinara mi tiempo dentro del programa Five for the Future, junto a Paco Marchante, y fijara en el calendario unas horas fijas semanales para este cometido. Dentro del equipo se hacen muchas, cosas, mayormente: - Revisar código, y cómo funcionan los plugins que quieren aparecer en el directorio oficial. - Revisar interfaz de los plugins, para velar que cumplen con las líneas marcadas por la comunidad. - Proponer mejoras en la herramienta interna del equipo para mejor detección de incidencias de seguridad. - Proponer mejoras en la herramienta pública, Plugin Check Plugin, disponible para los desarrolladores y que mejora la autodetección. - Participar en eventos para un mejor conocimiento del desarrollo y ayudar a Desarrolladores a mejorar su programación. La revisión que más me costó ha sido una que me ha llevado el máximo de 14 correos, por ser una interfaz extraña y tuvimos que ayudar a que lo cambiara para que cumpliera las directivas. Sin duda, ha sido un año apasionante, con mucho trabajo pero satisfacción del trabajo que estoy realizando. ¡Espero contar unos años más en este equipo! --- ## Hacer un mundo mejor con WordPress URL: https://davidperezgar.com/blog/eventos/hacer-un-mundo-mejor-con-wordpress/ Este pasado fin de semana del 23 de marzo estuve en el evento WordCamp Torrelodones 2024, un congreso imprescindible para desarrolladores, creadores de contenido, y entusiastas de WordPress. Y el título de esta entrada lo resume de la forma que más me gusta. El viaje hacia la WordCamp la hice con mi amigo Fede Padilla, y con parte del equipo de CLOSE: Álvaro, Bea y Alex. No pude asistir a todas las charlas, ya me hubiera gustado, pero en las que estuve, comparto lo más destacado. El título de esta entrada está acuñada por Juan Hernando en su ponencia. Tabla de contenidos Toggle - Cambia el mundo con tu WordPress – Juan Hernando - Mi primer tema a medida con el Editor del Sitio – Marta Torre - WPO con Sentidiño – Carlos Longarela - Descubre las tendencias de Diseño Web en 2024 - Grabación del Podcast de la WordCamp - Crear webs abre puertas que ni te imaginas – Gonzalo Garzo - Accesibilidad Web: Lecciones y prácticas – Vicent Sanchis - El impacto de la IA en el desarrollo y análisis web - Evitando el contenido duplicado y la canibalización de palabras clave – Lucía y el SEO - Galería de Imágenes - Referencias ### Cambia el mundo con tu WordPress – Juan Hernando Juan Hernando nos inspiró con su visión de cómo WordPress puede ser una herramienta de cambio social, económico y ambiental. Con un enfoque en la lucha contra la monopolización de contenido por las grandes tecnológicas y la mejora de la accesibilidad y sostenibilidad de nuestros proyectos web. ### Mi primer tema a medida con el Editor del Sitio – Marta Torre Marta Torre compartió su experiencia desarrollando su sitio web personal, destacando la importancia de principios como la accesibilidad, sostenibilidad y rendimiento. Me gustó bastante el enfoque de desarrollo basado en Block Themes, y también los bloques personalizados que realizó para su página web. ### WPO con Sentidiño – Carlos Longarela Carlos Longarela nos llevó por un viaje técnico sobre optimización web, enfocándose en herramientas y técnicas para mejorar el rendimiento de nuestras páginas. Su charla fue una masterclass en el uso efectivo de las herramientas de desarrollador para la optimización web. ### Descubre las tendencias de Diseño Web en 2024 En esta charla, descubrimos las últimas tendencias en diseño web, desde el Bento Grid hasta la tipografía gigante, pasando por el dinamismo y la asimetría. Estas tendencias marcan algunos caminos a seguir para diseños web innovadores y atractivos. ### Grabación del Podcast de la WordCamp Tuvimos también ocasión de grabar un podcast para hablar de lo que será la próxima WordCamp Granada 2024. Hay un equipo de organización en el que me encuentro para traer este evento oficial de WordPress a nuestra Granada. ### Crear webs abre puertas que ni te imaginas – Gonzalo Garzo Gonzalo Garzo nos recordó el poder de la creatividad en el desarrollo web. Su ponencia fue un llamado a la acción para los creadores de contenido y desarrolladores, animándonos a hacer visible nuestro trabajo y abrir nuevas puertas profesionales y personales. ### Accesibilidad Web: Lecciones y prácticas – Vicent Sanchis Una sesión fundamental sobre la importancia de la accesibilidad web, ofreciendo guías prácticas para asegurar que nuestros sitios sean accesibles para todos los usuarios, enfatizando la jerarquía de encabezados, el contraste, y el uso adecuado de imágenes. ### El impacto de la IA en el desarrollo y análisis web Exploramos cómo la inteligencia artificial se ha integrado en nuestro trabajo diario, desde el análisis de código hasta el manejo eficiente de documentos y datos. La IA emerge como una herramienta indispensable para la optimización y eficiencia en el desarrollo web. ### Evitando el contenido duplicado y la canibalización de palabras clave – Lucía y el SEO Lucía nos ofreció estrategias para manejar el contenido duplicado y la canibalización de palabras clave, dos problemas comunes en SEO. Su enfoque en soluciones prácticas y estratégicas es esencial para cualquier profesional del marketing digital. Este resumen abarca una selección de las numerosas charlas y talleres ofrecidos en WordCamp Torrelodones 2024, cada una aportando valiosas lecciones y perspectivas en el uso de WordPress para el desarrollo web, la sostenibilidad, accesibilidad, y mucho más. La diversidad de temas y la profundidad de conocimiento compartido reflejan el dinámico ecosistema de WordPress y su comunidad global. ## Galería de Imágenes A continuación, comparto algunas de las fotos oficiales, realizadas por Nilo y Fede. ## Referencias - Album de Fotos Oficial de la WordCamp - Videos de todas las charlas de la WordCamp --- ## Linked in Lunch Granada’24 URL: https://davidperezgar.com/blog/eventos/linked-in-lunch-granada24/ El pasado martes se estrenó en Granada la primera edición de Linked Lunch, un evento basado en desvirtualizar a personas que ya conoces en LinkedIn de tu ciudad y promovido por Fran Cortés, Ángela Labrador, Adrián Crovetto y Pedro García. Foto: de izquierda a derecha Pedro García, Fran Cortés, Adrián Crovetto, Ángela Labrados, Marifran Carazo, Alcaldesa de la ciudad de Granada y Eva Cortés, presentadora del evento. Con más de 400 asistentes, Linked Lunch contó incluso con la presencia de Marifran Carazo, Alcaldesa de Granada. Mi más sincera enhorabuena a los organizadores, puesto que llenar el auditorio del Parque de las Ciencias no es tarea fácil. Los ponentes invitados compartieron charlas orientadas a mejorar la marca y superación personal, y pudimos disfrutar de grandes comunicadores como Josef Ajram, Ángeles Carsi, Juan Merodio y además ponentes según la votación de los invitados: Alejandra Domíngez, Ignacio Castillo, Javier Tallón, Javier López y Aadel Hamad. Lo que más me ha llamado la atención ha sido el enfoque de conocer gente, gracias a que había 1 hora de café entre charla y charla y además estaba lleno de Stands de Patrocinadores. Y de las ponencias que pude estar, me llamaron la atención varias cosas. La ponencia Josef Ajram fue muy personal, en el que recorrió su historia de emprendimiento y deporte. Lo que más me llamó atención fue una frase que puso en grande: ** Hay que saber perder. Stop Loss Josef Ajram Y es que debemos dejar de ser siempre los mejores todo el tiempo y a todas horas. De Javier López, me quedé con esta diapositiva, el del salir de tu zona de confort y asumir siempre un poco de riesgo a cada paso que damos. Juan Merodio me gustó bastante, ya que fué una ponencia muy práctica. Nos estuvo comentando cómo prácticar nuestra marca personal, que puede empezar con nuestra propia página web como tengo yo o Sacra Jáimez, y compartir contenido que veamos interesante. No sólo tenemos que ser buenos, hay que aparentarlo y sin duda comunicarlo. Aquí nos detalló la estrategia de contenidos que realiza Juan Merodio que se basa en el siguiente flujo (trepidante!): - Comparte en el blog - Crea un podcast sobre ello - El podcast lo graba en formato video y lo comparte en Youtube - Hace clips de video y lo comparte en diferentes redes - Y de ellas, una Newsletter - Que finalmente acaba en un Twitch. ¡Menudo flujo!** También estuvo interesante Alejandra Domínguez hablando sobre IA y lamentablemente me perdí el resto de ponencias, que seguro estarían muy interesantes. Pero si estuve para la foto Foto con Beatriz de Language House, Paco de Gilauto y Oscar de Limpiezas Castor. Foto con Carlos Oya Foto del Evento con parte de **GastroHub.** Felicitar la iniciativa y veremos qué tal se les da en otras provincias, yo espero que muy bien. Intentaremos estar en dichas iniciativas en las próximas fechas. --- ## Soy parte del Equipo de Revisión Oficial de Plugins de WordPress URL: https://davidperezgar.com/blog/soy-parte-del-equipo-de-revision-oficial-de-plugins-de-wordpress/ TL;DR: Soy parte del equipo de revisión de plugins de WordPress y estoy esponsorizado por Hostinger. ¿Y qué quiere decir? Bueno, si tienes una **web con WordPress**, has tenido que instalar seguro algún plugin, para añadir funcionalidades a la web. El plugin más conocido es el que te permite montar una Tienda Online a golpe de varios clic: **WooCommerce**. Este listado de plugins se pueden encontrar en el administrador de WordPress, Plugins > Añadir Nuevo Plugin. También puedes observar los plugins que hay actualmente en su directorio: https://wordpress.org/plugins/ Ahí verás, que hay sobre 60.000 plugins en el repositorio oficial. Por supuesto, hay muchos más, en diferentes directorios y los propios desarrolladores que lo venden a través de sus propias plataformas. El directorio es la mejor forma de conseguir visibilidad y de forma muy fácil, ayudar a los usuarios a encontrar aquella funcionalidad que buscan. Los plugins que están en este directorio, son gratuitos y pueden tener una versión premium, que puedes comprar en el sitio que te facilite el desarrollador. Pues bien, para que un plugin que hayas desarrollado tienes que enviarlo a través de un formulario: Add your Plugin En el que con tu cuenta de WordPress envías un zip para que lo valide un equipo. Este plugin tiene que cumplir un guía de buenas prácticas para que sea más seguro y fiable a tus usuarios. Para velar de que es así, un equipo de desarrolladores voluntarios se encargan de revisar dicho código, guiar al desarrollador a corregirlo, y hasta que no se cumplan estrictamente, publicarlo. Este trabajo lleva bastante horas y para que sea posible, hay empresas que patrocinan dicho tiempo para poder aportar a WordPress dentro del programa de Five for the Future, que básicamente dice que aportes mínimo un 5% de tu facturación si WordPress es fundamental para tu negocio, a invertirlo. Pues este Enero, he tenido la gran noticia de que Hostinger va a esponsorizar mi tiempo en la revisión de plugins de WordPress. Ya era para mi un gran reto estar en el equipo, pero bloqueando ya tiempo para realizar esta tarea, seguro que ayudará a aportar a que WordPress tenga otra vez un directorio de plugins actualizado y seguro para sus usuarios. Hoy ya hemos conseguido bajar de los 700 plugins para revisar, y 50 días en total para la revisión inicial. Nuestro objetivo es bajarlo lo más posible, de manera que sea mucho más ágil a los desarrolladores. ¿hasta donde podremos llegar? --- ## Crea el archivo de distribución de tu plugin con wp-cli URL: https://davidperezgar.com/blog/charlas/crea-archivo-distribucion-plugin-wp-cli/ Con esta charla que he realizado en la WordCamp Madrid 2023, aprenderás a crear un archivo de distribución para subir a nuestras páginas web. Utilizar esta opción es la mejor porque mantenemos versiones para los plugins que vamos haciendo con WPCLI. ## Charla en WC Madrid ¿Que levante la mano quien ha roto una web subiendo el desarrollo en Producción? ¿A quien le gustaría mejorar el proceso? Pues con esta charla, vamos a ver cómo trabajar con **Control de versiones**, **hacer nuestro archivo para distribuir**, y **subirlo a producción**. ¿Desde cuando podemos hacerlo? desde el 11 Agosto del 2020, con un ticket de WordPress que ha tardado ¡11 años!. ¿Os imagináis un ticket con tal duración? Pues este es un ejemplo. Tenemos que ganar al «malo de la película» y salvar los errores fatales en producción. Con este método tenemos bastantes beneficios: - Versionamos nuestro desarrollo. - No dependemos de librerías de terceros. - Permite comparar con la versión actual subida. - Limpia cachés después de reemplazar el plugin. - Los ZIPs que montamos son limpios y fuera de carpetas que ensucian y no son necesarios. - Es un método rápido y confiable. ¿Cómo lo hacemos? Puedes ver el detalle en la sección más adelante. Y subimos a Producción. ## Cómo configuramos nuestro comando WPCLI De forma descriptiva, vamos a ver cómo instalar nuestro comando para después utilizarlo. Instalación: **Copywp package install wp-cli/dist-archive-command Para crear un zip de distribución de plugin, hay una orden de WP-CLI: wp dist-archive**. Coge los archivos de la carpeta y lo nombra con **nombreplugin.version.zip** **Copy wp dist-archive nombreplugin Para que ignore archivos en la distribución, tenemos que crear en el raíz el archivo: .distignore** que tiene en cuenta y no introduce dichos archivos en el zip. Copy.distignore .editorconfig .git .gitignore .travis.yml circle.yml .DS_Store composer.json composer.lock Las diapositivas de la charla, las podéis descargar a continuación. Transcripción de la charla ¿Cómo se hace el plugin? Así que por favor, recibámosle con un grandísimo apalso. Que levante la mano, ¿quién no ha roto una web subiendo su desarrollo en producción? Hay unos cuantos, hay algunos que no han levantado. Y que levante la mano, ¿quién le gustaría mejorar el proceso? Hoy vamos a dar en diez minutillos un proceso en el que vamos a subir nuestro desarrollo a través de control de versiones y subiendo la producción, creando más garantías de nuestro desarrollo que no va a romper la web en producción. Al final lo que queremos es garantizar nuestro desarrollo, no rompe y aparte mejora nuestro flujo de trabajo. le he puesto la temática de Stranger Things veréis por qué, porque siempre pasan cosas raras y el gran malo de la película es Begna al que hay que salvarlo y vamos a ver un poquito el proceso porque yo trabajo y desde hace ya un tiempo me ha cambiado totalmente la forma de trabajar y es de mi agencia en general ¿desde cuándo podemos hacerlo? podemos hacerlo desde el 11 de agosto de 2020 en el que en una release de WordPress 5.5 nos dejaba subir un zip y que ese zip reemplazara el plugin que estaba ya subido. Diréis, bueno, una cosa sencilla, pues costó 11 años, un ticket de 11 años, estuvo dando vueltas hasta que el 11 de agosto se publiqué. Ahí tenéis los enlaces de los tickets y de la conversación que tuvieron y llama mucho la atención que una cosa que ves tú sencilla, toda la complicación que dio y cuánto duró. Y antes se hacía con dos plugins y el que quería hacer este flujo de trabajo tenía que instalar ese plugin y luego hacer este flujo. Ahora ya no. A partir de WordPress 5.5 lo tenéis. ¿Por qué hacerlo así? ¿Por qué ganar al malo? Bien, sobre todo tenemos un control de nuestras versiones de desarrollo. Vamos creando versiones, las vamos documentando y las vamos subiendo. Lo ideal es tener una web espejo o staging en el que nosotros subamos ese desarrollo, probemos que todo funciona bien y automáticamente después subirlo a producción. Automáticamente o con ciertas revisiones antes. Lo bueno de este proceso es que no dependemos de librerías de terceros. No sé si habéis tenido alguna librería de que se conecta a GitHub o algún repositorio, mira si hay una nueva versión, se descarga y lo actualiza. Esa librería, sorprendentemente, te crea un lag en el admin y nosotros desde hace tiempo ya lo quitamos, porque nos creaba, si tenemos varios plugins nuestros propios, nos creaba un lag, o sea, un lapso en esa conexión que no era necesaria, porque es un control que tú tienes de un plugin que tú puedes subir cuando tú quieres. Permite subir y comparar la versión actual respecto a la que tenemos. Entonces puedes ver incluso si tú en el propio desarrollo, en las cabeceras del plugin has puesto, si soporta la versión de WordPress, si soporta el PHP, pues todo eso lo puedes comprobar justo cuando estás subiendo. Antes incluso de terminar de reemplazar el desarrollo. Normalmente limpias las caché de objetos, lo que hace es que si tú estás cambiando por FTP en caliente el plugin, si tu servidor te ofrece una caché de objetos, posiblemente no verás el desarrollo actualizado. Y si entra en conflicto con otro plugin, puedes tener problemas. Con este proceso, no. Tú subes el zip, reemplazas y limpias caché. Los zip son mucho más limpios, porque no sé si habéis encontrado zip con carpetas con node de módulos, con la carpeta de Gihaz, con todo esto. Mucho más limpios y muy fáciles de compartir, de distribuir a nuestros clientes o directamente para subir. Y es un proceso que es rápido y es confiable. Es decir, que cuando ya la tienes estructurada y montada, ya puedes subir perfectamente. Bueno, muy bien David, me contaste estas cosas. Está muy bien. Pero, ¿cómo se hace? ¿Quién de aquí sabe qué es VPClip? ¿Hay algunos que no? Pues bueno, VPClip es la forma de trabajar con WordPress a través de la línea de comandos. Nos permite automatizar muchísimos procesos que, por ejemplo, actualizar los plugins de la propia instalación, incluso cambiar ajustes de la tabla de opción. Podemos automatizar totalmente la instalación de un WordPress a través de WPK. Os recomiendo que lo instaléis, lo podéis utilizar tanto en local como en producción. Y aparte tiene unos comandos, este comando que yo ofrezco que lo instaléis se llama thisArchive, que es el que permite poder hacer este archivo de distribución zip. Lo instalamos con WPackage Install WP.clix y una vez que se instala ya tenemos para poder utilizar el comando. Utilizamos el comando, tiene por varias partes, dice acá el comando, la parte del slug de nuestro plugin donde está y a donde queremos guardarlo. Esto yo lo suelo tener en un snippet, un testpander o cualquier cosa. Entonces le pongo el slug y siempre guardo toda la distribución de mis versiones en una carpeta. me crea un archivo plugin.isubversión, esta versión, ojo, que es la que nosotros ponemos la cabecera del PHP del plugin. Entonces, es muy importante llevar la versión y aparte otra cosa muy importante es tenerlo documentado. Que al final, si estamos trabajando para clientes, tenemos que justificar los nuevos desarrollos y ahí lo vamos viendo. Pues con esa versión, ya sabéis, la gestión de versiones, la menor, la mayor, vamos viendo un poco y vamos creando nuestras nuevas versiones. Hablando de versiones, una cosa interesante también es utilizar beta 1, beta 2. Hay veces que la versión que tú tienes la quieras subir a este sitio espejo, podrías hacer una versión beta para subirlo, revisarlo, y ya cuando la tienes definitiva compila otra vez y creas tu versión definitiva. Y aquí la magia de todo esto, y cuando salimos corriendo, es porque hay un archivo que se añade a nuestro root del plan que se llama thisignor, que lo que hace es que ignora las carpetas que nosotros no queremos que estén en nuestro archivo de distribución, en el zip. El típico de sectores si tenemos un Macintosh, el típico.git si es un repositorio, el no de módulos que suele ocupar 60 MB o 70 MB. Entonces, todo este archivo, que estos son los que yo suelo poner en mis archivos, digamos que te los limpia por defecto. Y entonces te tienes que despreocupar. ¿Cuántas veces hemos hecho manualmente un zip y hemos tenido que limpiarlo antes, borrando cosas, luego copiando, y muchas veces incluso hasta borrando, volvían a aparecer archivos y en el zip que tú pasabas a producción te encontrabas archivos que no querías que estuvieran? Pues con This Ignore, la solución definitiva. Y también muchas veces tenemos carpetas de desarrollo que nosotros utilizamos, cualquier cosa, el Composer, por ejemplo, o incluso el Vendor. Hay veces que el Vendor lo utilizamos en desarrollo y no lo utilizamos para utilizarlo en el plugin. Eso también lo podemos ignorar para que no salga en nuestra versión. y luego hay que subir a producción todos sabemos ya que los viernes no se sube a producción se sube los lunes o los martes pues subiendo el lunes o martes, una vez que subimos ese archivo que hemos tenido, que hemos compilado que hemos hecho un zip que lo hemos probado en nuestro sitio espejo lo tenemos preparado, pues vamos a subirlo hay un proyecto dentro de WordPress del Core de que pueda hacer rollback, es decir, que podamos subir archivo y siquiera algún problema puede volver hacia atrás llegará pronto, pero mientras tanto tenemos el staging, es decir, probarlo en staging, que no se rompa nada, que todo funcione perfectamente y una vez comprobado subimos a producción. Una cosa a la que suelo aconsejar es crear nuestro propio release en el propio repositorio. Creas tu release y ahí ponemos la parte que habíamos dicho de documentar las versiones para tenerlo documentado esa versión. Y aparte de release, yo utilizo GitHub. Bueno, nosotros utilizamos GitHub. Ahí te permite incluso subir un archivo. Entonces, aparte de que te crea el propio release, tú puedes subir el archivo de distribución que ya está listo para subir a cualquier otra página web. ¿Vale? Que ha tratado los Dignore y todo lo que habíamos visto. Y súper importante es documentar los cambios en el Realme. Cada vez que hacemos un cambio en nuestro desarrollo, línea al canto en el Realme, documentando, he cambiado, he arreglado, he mejorado, para que después de cara al cliente podamos justificar lo que hemos hecho. Hemos vencido al malo, por lo menos, se nos ha roto la página web. Yo soy David Pérez y animo a trabajar nuestro flujo de trabajo. Nosotros llevamos ya un tiempo trabajando con este flujo. Creamos nuestros zip, tenemos nuestra carpeta de proyectos, incluso para plugins comerciales. Y lo que hacemos es eso, es tener nuestros zip limpitos, listos para distribuir y para compartir. E incluso para vender. Nuestros plugins comerciales también lo hacemos con este proceso. Muchas gracias. y las diapositivas las tenéis aquí en davisperegar.com barra vcmadrid23. ## Reacciones Viendo cómo añadir seguridad a los plungin con @davidperezmk #WCMAD pic.twitter.com/VBuS0IAgpA — Luis Ruiz (@lruizcode) November 5, 2023 💥Crea tu archivo de distribución de tu plugin con WP-CLI💥¿Cómo preparas tu plugin para publicar en una web? David Pérez @davidperezmk ⏰Sala 2 12:15#WordPress #Desarrolloweb #WEB pic.twitter.com/uCP5DmiKcI — WordCamp Madrid (@WordCampMad) November 4, 2023 Cómo generar paquetes para su distribución con WP CLI #WCMAD @davidperezmk pic.twitter.com/3nXzSZVkJh — César Saiz (@Emper) November 4, 2023 No os podéis perder la ponencia de este hombre que huele muy pero que muy bien 😊 https://t.co/n9Pd48xovY — Pedro Crespo (@Pedromcj95) November 4, 2023 Después de toda una mañana saludando amigos, desvirtualizando y abrazando tanta buena gente, por fin veo una charla. Y la mejor es la de @davidperezmk, haciendo hechizos para subir a producción #WCMAD pic.twitter.com/lbFefXcfIA — Jesús Yesares García (@jesusyesares) November 4, 2023 Ya, sólo con eso y lo de "wp dist-archive", bien que aproveché la #WCMAD 😉 — Paco Toledo 🚜 (@pacotole) November 16, 2023 --- ## Nueva versión WP Development ToolbOX para VSCODE v3.1.2 URL: https://davidperezgar.com/blog/nueva-version-wp-development-toolbox-para-vscode-v3-1/ Justo para la WordCamp Sevilla 2023, me decido a crear la última versión de mi «caja de herramientas» para desarrollar en WordPress. - Fragmentos actualizados: (wpamet) Se corrigió la casilla de verificación, (wpagi) Actualizado para tener una configuración inicial. - Se añadió el comando para cargar Debug.log con la combinación de teclas «Ctrl+Shift+D». - Se añadieron fragmentos: (phpacs) Agregar clase PHP estática, (wpagi) Agregar Git Ignore para el plugin. - Fragmentos actualizados: (wpamet) Se añadió un área de texto, (phpacl) Actualizado. Esta extensión de Visual Code te lo puedes descarga desde el propio Visual Code o en su página oficial. --- ## Mi Resumen de la WordCamp Europe 2023 en Atenas URL: https://davidperezgar.com/blog/comunidad-wordpress/mi-resumen-de-la-wordcamp-europe-2023-en-atenas/ https://davidperezgar.com/wp-content/uploads/davidperezgar-1-wceu.mp3Podcast: Reproducir en una nueva ventana El pasado Junio estuve en la WordCamp Europe Atenas. Mi segunda Wordcamp Europe. Las WordCamps son congresos profesionales de las personas que trabajan con WordPress desde sus diferentes perspectivas como sería el diseño, marketing, desarrollo, etc. Y el congreso por excelencia es el que se celebra anualmente en Europa, que este año ha sido en Atenas. El año pasado también participé como organizador en la WordCamp Europe Oporto. Tabla de contenidos Toggle - Organizador en el Equipo de Sponsors - El evento - Fiestas WordCamp - Contributor Day - Día 2: Ponencias Taller WP-CLI for developers - Día 3: Ponencias - Agradecimientos - Afterparty - Otras referencias: ## Organizador en el Equipo de Sponsors 9 meses de trabajo, 40 reuniones y hemos llegado a esta foto: * Aprendes mucho. Aprendes cómo coordinar un equipo multidioma-multidisciplinar y voluntariado. Mucho trabajo. Un trabajo de Captación de los patrocinios, firma de contratos (este año con novedad para las firmas con Firmafy) Hemos estado nueve personas durante un año y casi 40 reuniones hemos conseguido casi 1,2 millones de euros que va todo a que sea posible la realización del evento. Al final tenemos que trabajar con las patrocinadoras es una parte que realmente hace posible la **realización económica del evento**, con muchos gastos: la comida, el catering, producción, etc. Yo estuve llevando varias marcas como SiteGround, GravityForms… Lo que hacemos es que llevar la venta, firma del contrato, le enseñamos lo que lleva su paquete de patrocinio, sitio donde tienen que ir, los logotipos y la información que van a poner en la página web. Bueno, pues una serie de información que durante todo el año lo van trabajando y ya, en nuestro equipo la ventaja que tiene es que la ultima semana, como esta todo ya planificado y hecho, es que funciona muy bien. ## El evento Foto de la Organización La verdad es que un evento bastante interesante, impresionante la verdad. Yo que llevo desde 2016 yendo a distintas WordCamps, en la Europe las dimensiones son brutales. Encuentras gente muy experta, Directores y Jefes de proyecto, Desarrolladores Senior de grandes empresas y lo mejor es que puedes **preguntarle dudas y están abiertos a ayudarte**. Por ejemplo yo lo que saco sobre todo de la WordCamp fue una conversación de todo con Carlos Bravo que editor de WordPress que me ayudó a hacer implantar los nuevos tests que están ya usando en editor de Gutenberg con tipo END to END de Playwright y también los test de basado en WP-ENV. Seguro que me prepararé ponencias para próximos eventos sobre estos temas. Siempre lo comento para las personas que vienen por primera vez a una WordCamp. Y es que participen y que incluso propongan ponencia para poder, bueno, poder profundizar y compartirlo con más gente. Además, recomiendo ir a las charlas, conocer gente, darse a conocer, presentarse y sobre todo intentar sacar, bueno sobre todo en la edición Europe quedar con gente antes, que quieres ver, porque claro habiendo tres mil personas en un evento pues es verdad que te encuentra mucha gente de pasillo de entrando por un lado a otro, pero no es tan fácil si quieres buscar a una persona y encontrarla. ## Fiestas WordCamp Las fiestas que se realizan en torno a lo que es el propio evento que se hacen las noches del día previo y durante el evento son impresionantes. Este año hemos estado en la de Patch Stack y Elementor que fue en una terraza. Estuvo muy bien también la de Siteground con Moncho que nos invitó y que se veía el Acrópolis de la azotea. Impresionante. Y ahí estuve, estuve con Matías Ventura hablando bastante tiempo, de cómo había evolucionado el editor de Gutenberg, el nuevo editor de WordPress, con un próximo avance muy interesante de cómo **los campos personalizados serán parte del propio editor con cualquier bloque.** Esto cambia todo lo que tiene que ver con los campos personalizados y de cómo se guardan los datos de los bloques. Lo simplificará mucho. Y también estuve hablando con su compañero Pablo, Director de Diseño en Automattic , o sea que estuve hablando bastante rato de cómo se podía trabajar y hacer páginas web de forma rápida con el nuevo editor. ## Contributor Day El primer día es el Contributor Day, es el día en el que todas las personas que trabajan con WordPress ceden su tiempo para hacerlo posible. El Contributor Day hace posible, y siendo la WordCamp, de hablar con personas en persona que durante el año coincides o necesitas conocer. Y yo como avanzaré en otra entrada soy parte del **equipo de Global Plugin Team Review**, esto quiere decir, el equipo que se encarga de revisar plugins para repositorio oficial de WordPress. Es un equipo bastante importante porque también toca información sensible sobre seguridad y una parte de WordPress son los plugins. Poco a poco iré contando mi trabajo en el equipo. Al estar en el equipo de Plugins, estuve con Fran Torres, conociendo a otros equipos como Core, con varias personas de meta, y finalmente estuvimos también participando la mesa de plugin, ofrecimos a aquellos que se ofrecieron allí a la mesa, revisar su propio plugin y contestarle sobre sus incidencias. Estuvimos hasta la comida ayudando a revisar plugins, a ayudar a las personas para que vieran cómo trabajar con plugins, cómo hay que hacer los plugins, cómo hay que enviarlos y estuvo bastante bien. ## Día 2: Ponencias El día 2 ya empieza las charlas, y asistí a varias, además de visitar a los patrocinadores, coordinando un poco que todo estuviera bien, ya que el primer día hay queq estar pendiente de detalle para poder solucionarlo sobre la marcha. Este año, diferencia de Porto, los patrocinadores estaban en otro sitio, más abierto, y gustó bastante la distribución. ### **Taller WP-CLI for developers** Me llamó la atención el Taller WP CLI para developer, que hizo Milana Cap, aunque lo conozco ya que llevamos bastantes proyectos con WP CLI, si es verdad que hubo algunas comandos que no conocía y fueron bastante interesantes, por ejemplo cómo guardar los usuarios en un CSV. Copywp shell Te da una consola para interactuar con el WordPress y puedes usar funciones por ejemplo: Copywp shell get_option('blog_name'); update_option('blogname', 'nombre'); para ejecutar un archivo Copywp eval-file para pasar los usuarios en un CSV por WPCLI Copywp list users --fieds=ID,user-login,user-pass > users.csv Otra que estuve fue «Take your WordPress website to another level using a translation»* que la verdad es que me gustó poco y me fui pronto porque pensaba que se iba ser más profunda y al final estuvo tocando forma rápida cómo traducir. Ya lo conocía de hecho la Inteligencia Artificial en el tema de traducir está también funcionando muy bien y de hecho en el próximo plugin de WPAutoTranslate en la próxima versión vamos a poner la traducción con Inteligencia Artificial. Otra charla que estuve fue la de Create ultimate blocks from spec de Pedro Crespo que estuvo detallando de cómo ir montando los distintos archivos que son necesarios para crear tu propio bloque en WordPress. Muy interesante. ## Día 3: Ponencias Y ya, por último, el tercer día… El tercer día, siguieron las charlas y lo que más me llamó la atención fue la aparición de Matt Mullenberg, Josefa y Matías Ventura, que estuvieron hablando un poco del futuro de Gutenberg y la fase en la que se embarca ahora WordPress. Que si no sabéis, estamos terminando la fase 2 que es la fase de afianzar el editor para la edición del sitio, la fase 3 que es la siguiente que es la colaborativa y la fase 4 que espero que llegue pronto es la de multidioma. Foto Equipo Fotografía WCEU Mostraron un vídeo que me llamó mucho la atención, me gustó bastante y que comparto y bueno enseñó un poco la forma de hacer páginas web con Gutenberg que a día de hoy ha evolucionado mucho el diseño, y ha mejorado muchísimo es muy rápida y muy fácil de manejar. ## Agradecimientos Acto seguido se hizo el cierre comunicando el sitio de la próxima WordCamp Europe que será en Turín. Y nos llamaron al escenario para darnos las gracias. ## Afterparty El Afterparty fue una discoteca y estuve con Angelos y Sber, que tenían Agencias como CLOSE de Grecia y Holanda respectivamente. Estuvimos hablando un poco de cómo se organizan, precios que realizaban a la hora de presupuestar, la verdad es que algunos precios incluso me llamaron de que eran más caros. En Grecia, por ejemplo, que ellos tenían como más económicos y el precio por hora, cómo presentaban las propuestas y bueno, fue un poco la sorpresa de que algunos países son un poco más caros de lo que podríamos imaginar. Y también, ese día también, tuvimos la suerte de tener a Matt Mullenveg saludarle y hacer una foto. Los que somos unos groupies y nos frikis con esto, pudimos tener la oportunidad de tener una foto con él, y es que se le agradece que venga a la venta y quiera conocer un poco a la gente y hablar con ellos, o sea que muy bien. Foto con Matt Mullenveg Y ya para terminar, el viaje lo hice con Jesús Yesares, Javier Casares y Fede Padilla, tuvimos anécdota que casi no llegamos al aeropuerto porque Fede llegó justo después del After Party al Taxi para llegar a coger el avión. Felicitaciones para Juan Hernando, que ha entrado en el equipo de Global para organizar la próxima WordCamp en Turín. En definitiva, es un evento que está muy bien, que llama mucha atención, que si eres profesional de páginas web, no deberías perdértelo, ya que vas a encontrar profesionales y empresas que utilizas día a día, con lo cual puedes preguntarle directamente cuestiones, iniciativas y cosas que necesites. Así que, por nada, animaros a la siguiente que seguramente me veaís en Turín. ## Otras referencias: - Wajari en WordCamp Europe en Atenas - Javier Casares en WordCamp Europe 2023 - Nilo Vélez en Fotos WCEU 2023 - Fotos Oficiales WordCamp Europe 2023 --- ## Entrevista en TAKEDAO hablando de Agencias y Plugins URL: https://davidperezgar.com/blog/charlas/entrevista-en-takedao-hablando-de-agencias-y-plugins/ El pasado viernes se publicó la entrevista que me hizo Jesús Nuño, en su programa regreso a Takedao. Os comparto el resultado. ## Transcripción Regreso a Takedao, episodio número 22. Hoy hablamos con David Pérez. Muy buenos días David, ¿qué tal? ¿Cómo estás? ¿Qué tal? Buenos días, encantadísimos. Debe de ir aquí a tu postca. gracias por venir muchas gracias por venir tenía muchas ganas de que vinieras que bien que bien yo también y hablar aquí un rato y hacerte unas preguntas que por cierto tenemos dos preguntas de audiencia que la veremos después pero hoy pero lo primero que te presentes hoy quiero que te presentes tú David venga presenta venga bueno pues yo soy director de una agencia junto con mis socias estamos llevando una agencia de marketing y desarrollo y bueno pues hacemos sobre todo web en WordPress, estamos muy especializados en esa plataforma que seguramente hablarán un poquito y bueno, llevamos al marketing digital, bueno, llevamos lo que es la estrategia de digitalización de la empresa en el mundo de internet, entonces desde lo que es su visibilidad en internet, desde lo que es la su propuesta en web y lo que es después su propio funcionamiento interno porque también entramos en temas de procesos de CRM, automatizaciones y todo esto que ahora se lleva mucho también. Vale, vale. Oye y pregunta, pregunta con trampa, pregunta así difícil. El día que yo quiera o necesite algún servicio de una agencia de marketing, ¿por qué elegir Close Marketing y no cualquiera de las otras miles del territorio español? Bueno, es verdad que hay muchas agencias, la oferta es bastante grande, por lo que nos diferenciamos son principalmente, bueno, nosotros decimos, nos lo dicen nuestra gente, somos buena gente, es decir, somos muy honestos y no tratamos nunca de engañar ni de vender grandes resultados y humos que se pueden conseguir, por supuesto, pero sí intentamos ser muy transparentes y ser muy consecuentes en lo que le ofrecemos al cliente y llegar a unos objetivos conjuntamente con el cliente. Parece mentira pero es una de las partes. Luego le llamamos toda la estrategia, toda, completa y muy especializada. Tenemos especialistas en cada una de las patas, incluso hasta llegamos fijate a dar alojamiento, o sea que las agencias muchas veces que se quitan del tema. Nosotros tenemos nuestros propios servidores. -Anda, mira. -Sí, porque siempre nos hemos preocupado de dar todo el servicio y, claro, hacemos web muy rápida. No utilizamos Elementor, ya lo digo yo. -Bien, bien. -Y claro, la gente que no entiende eso, al final, ¿qué quiere decir? Bueno, al final son web que son rápidas porque luego damos el mantenimiento. O sea, hacemos una si hace falta, se renueva la web y claro y después hay que mantenerla, muchas agencias se quedan en eso, te doy la web y ya apáñate las como puedas. Entonces hacemos la estrategia y la implementación. Somos el compañero digamos de viaje con el propio director de la empresa o con su equipo de marketing, a unas cotas pues Marta evidentemente utiliza las estrategias digitales. Vale, vale. Oye, ¿y cómo… tú estudiaste algo relacionado con marketing o esto te vino por pasión? Pues la verdad es que en temas de estudios he hecho un popurri que al principio podría ser que ha sido un poco más descentrado, pero luego la vida profesional me ha servido mucho. Lo digo porque estudié estadística, hice la diplomatura, luego estuve un año de Arambo haciendo el tercero de estadística y después hice licenciatura de marketing cuarto y quinto. Y ahora me dedico a programar, o sea, hacía programación también antes. Entonces, al final tengo unos conocimientos de desarrollo bastante amplios que lo intento conjuntar con el de marketing, es decir, no solo el qué hacer, O sea, no solo cómo hacerlo, sino para qué, ¿no? Y a dónde llegar, ¿no? Y muchas veces aconsejamos a gente de hacer cosas que a lo mejor por no se lo tenían planteado. Entonces, a mí y a mis clientes me… Bueno, tengo un cliente que le hice una asesoría y ya dice «Mira, David, yo quiero verte todos los meses». Y bueno, ya está. Pues nos vemos y vamos hablando de tu estrategia digital. Pero en persona, ¿no? Bueno, sí, online, ya sabes que hoy día… Vale. ya todo online pero sí que efectivamente de valencia vale vale perfecto oye yo quiero hacerte algunas preguntas de internas a ver a ver lo que me puedes contar pero ya está aquí alguien que tiene alguna otra agencia y demás y te quería preguntar cómo tema de gestión de clientes por ejemplo que utilizáis para ¿Qué utilizáis para la gestión de clientes? ¿Qué app o qué software utilizáis? Sí, sí, bueno a ver, sí, sí, yo sin problemas, yo cuento mi trabajo. A ver, nosotros pagamos una pasta en herramientas, sí, verdad, que alguna vez he hecho la factura y digo me caga la más, pero claro es que es como el que digo yo, que tiene una nave o una fábrica pues compra la maquinaria, nosotros tenemos que trabajar con herramientas, nosotros trabajamos con varias herramienta a la hora de hacer lo que es el proceso completo de un cliente. Para gestionar a los clientes utilizamos Clientify, que de hecho somos ProPanner, que es un CRM para gestionar a los clientes, pues bueno, un CRM normal más la tomatización de marketing que trae. Luego utilizamos para gestionar los proyectos a sana, que tenemos el Plan Business, que lo permite no sólo tener la visión de cada proyecto y tener todo lo encargado, sino que tener una visión un poquito más amplia y ver un conjunto de proyectos y un conjunto de objetivos al final para poder orientar el equipo a un lado o a otro. Y luego si utilizo mucho y que bueno, la entrené, hicimos una entrenada el año pasado y este año le estaba dando mucha fuerza fuerza, metiendo todos los protocolos de la empresa, desde cómo publicar una web, que todo el mundo dice, bueno pues le doy a que esté visible en google y ya está, nosotros hacemos un proceso ahí de un montón de cosas y tenemos una base de datos de conocimiento que al final lo que queremos es que se posee en la empresa y que al final pues si hay equipo que tenga que venir, pues que al final sea con un conocimiento y como vamos a ver, si si ahí se te ha caído el micro. Perdón a los oyentes. Bueno, oye y Clientify, ¿por qué Clientify y no otras? Bueno, en el… Hay un montón por ahí. Sí, sí, sí, yo ya de que estaba antes de ir, bueno, te conté el tema de mi estudio, Yo he estado como técnico de marketing mucho tiempo y luego fui director de marketing y bueno total que tuve distintas responsabilidades y como al final yo siempre he tenido la pata tecnológica pues siempre intentaba pues coordinar equipos entonces desde 2010 estaba yo en un equipo de responsables de marketing y le metí un cerremera sugar cerremes que ahora ya bueno era antes community que era tipo open source y ahora ya un poco híbrido. Entonces los CRM al final es un poco gestionar a los clientes que cuando tienes faena digamos que te viene gente de internet pues claro gestionarlos que no pierda ese pulso con el cliente para poder venderle tu servicio a otros productos pues claro además yo me acuerdo que tenía un equipo eran 8 personas y yo le decía digo si me podés decir que cuando tú le dices a un cliente que dentro de dos semanas te vea más si me lo podéis promete que os acordáis o no hace falta utilizar la herramienta y al final el que entraba en ese flujo de trabajo de todo lo que es llevar el CRM la gestión de clientes en qué quedas con él y todo esto cuando ya una carta de clientes por partir de 20 30 clientes pues saber que tienes digamos en cartera es fundamental. Pues claro, eso ya lo aprendí yo hacía tiempo y trabajé con muchos CRM, luego hice un plugin que me imagino que hablaremos de plugin también, de WordPress que fue muy conocido que conectaba los formularios al CRM para que no tuvieras que pasarlos tu a mano al CRM y bueno he trabajado con VTiger, con VTE también, con Bitrix, con un montón de Microsoft Dynamics, todos estos los conecté y al final trabaja con muchas herramientas al final en CRM. Pero claro, cuando últimamente conocimos una herramienta por un cliente, que de hecho le hicimos la implantación sin conocer, aquí nos metemos en jardines, la que lo que tiene es que nos interese los jardines y si ese no interesaba dice «venga pues vamos a meternos» ahí palmamos horas pero cogimos un conocimiento muy muy importante del tema de la plataforma y en el canto clientify porque tiene, es un CRM como todos, es decir, gestión de ventas de clientes y todo eso, pero tiene la parte automatización de marketing, es decir, un trabajo de marketing con ventas, las dos. Entonces, al final, pues lo que hace el equipo de marketing que son campañas de publicidad, de presencia en internet, de gestión de captación de clientes, junto con meterle ese flujo al comercial, pues al final ver lo que pasa con los clientes que genera. Que muchas veces pasa eso, que oye te genero clientes y ¿qué ha pasado? ¿Ah no por comercio se los voy a llamar? o no sé qué. Entonces aquí tienes al equipo todo completo viendo qué pasa y qué estamos. Entonces, la verdad es que han sentido muy bien. Perfecto. Y claro, porque te quería comentar que a partir de una cierta cantidad de clientes la cosa es que acordarte de todo imposible entonces necesariamente tienes que tener un cliente y comerciales efectivamente tener un equipo de 5 o 6 comerciales y 20 o 30 bueno lo que sea o tú mismo uno solo uno solo y llegando a tu cartera bueno con este hombre con que quede y le mande presupuesto no le mande presupuesto además tiene el plan muy chiquitito para empezar y ya también por ejemplo las campañas de email marketing la hacen el mismo CRM con lo cual el email marketing siempre ha sido una estrategia muy buena para para captar clientes y bueno pues te permite eso llevar estrategia de marketing y de venta a la vez y creo que hoy día pues es fundamental claro y a ver porque ahora mismo estáis vosotros en un proceso digamos de de expansión de la agencia porque cuánto cuánto empleados tenéis ahora mismo? Pues estamos 15 más dos externos. 17 vale madre mía entonces pues hoy estáis cogiendo clientes fuera de Granada? Si, si hace tiempo si si trabaja mucho en Barcelona también tenemos muchos clientes por ahí unos cuantos clientes grandes Madrid también Valencia y luego a través de los plaques estamos saliendo fuera un poco de… que es un poco también nuestra idea de España, así que tener vender productos muy específicos, allí entró una venta de un indio americano, no sé qué me acuerdo, entró ahí la venta. Mira, son mercados que no… que como agencia, como empresa es muy difícil entrar, tienes que hacer muchos viajes, conocer a las empresas que te conozcan y todo esto es un trabajo más laborioso y cambia con los planes pues si hace una necesidad la encaja y la ofrece al mercado y de esa parte vienen de todos sitios y en ese tiempo es un esfuerzo que estamos haciendo de hace ya tiempo y este año le vamos a dar un empuje mayor. La cartera de comerciales, o sea los comerciales que tenéis vosotros ahora como que van por las work camps… No tenemos comerciales. No tenéis comerciales, ninguno. Ninguno. Viso y salido somos los más comerciales. No tenemos la figura de comercial. O sea que solo sois las cabezas visibles. Claro es que no vendemos churros y es complicado la voz de comercial vendiendo algo que tiene que adaptarse al cliente, que no es una estrategia, que en la misma propuesta que la hace el comercial ya le está dando un poco de asesoría y consultoría por dónde tiene que ir y tal y claro en ese proceso siempre no acosta trabajo y los equipos que tenemos son técnicos de marketing y claro hacen algunas propuestas pero casi toda la mayor parte las hacemos a creyó. No tenemos comerciales y es verdad que una figura que no encaja en la empresa, es como un amistadero, nosotros no tenemos amistadivo, es decir, tenemos tener el tema contraliado pero nunca hemos tenido un amistadivo, hemos tenido todo muy automatizado y son figuras que no la entendemos aquí en la empresa y vemos más un técnico de marketing, o sea, me aportó una persona, Irene, que lleva el tema de Key Digital, pues, pero no es comercial, o sea, ella no vende, o sea, ella ve un poco lo que necesita el cliente, se lo asesora, lleva la propuesta y le hace. Es diferente, no vendemos churros, ¿sabes? Entonces, es complicado, yo sé que hay agencias en este sector que tienen mucho, tienen comercial, pero claro, cuando tú… Vamos, no sé, es mi valoración, yo digo aquí todas mis opiniones personales, pero cuando entra un poco al detalle con el comercial se ve que no tienen conocimiento profundo y claro esa sensación se me ha dado un poco un poco extraña, ¿no? de estar hablando de una persona que a lo mejor no conoce bien un poco el tema, ¿no? entonces, no sé, nosotros nuestra filosofía no encaja nunca ese perfil y por eso no lo hemos tenido. Vale, o sea que lo que tenéis es los desarrolladores claro y los diseñadores. Si tenemos bueno si quieres te conto ya el equipo entero tenemos un equipo de bueno el número cada uno son cuatro desarrolladores, tres diseñadores y el resto de equipo de marketing y luego sacre yo. Tenemos mucho equipo de marketing, tenemos muchísimo mantenimiento, propuesta de redes sociales, como el de NANA, y luego tenemos equipo de desarrollo que es bastante nutrido para ser una agencia de marketing y luego aparte también esos tres diseñadores que son sobre todo diseñadores web. tenemos un diseñador corporativo que hace también vídeo corporativo pero lo vea y Álvaro es un diseñador igual. Vale, vale. Oye, yo lo que voy a recomendar a los que estén escuchando es que se pasen por vuestras redes porque los vídeos que hacéis me gustan mucho. Muchas gracias. Me encantan. Mira, yo la filosofía por ejemplo de nuestra comunicación, no, yo no salgo bailando ni haciendo trending, pero bueno oye que tiene su público y que no si hacemos tic-toc pero tic-toc pero enseñando no sé que yo lo respeto totalmente hay gente que y de otras agencias también que hacen la broma y tal y cogen mucha notoriedad pero no quiero que me conozcan por por hacer algo no sé de de risa no sé porque no es mi trabajo no sé que no quiero decir que sea la la aceptada pero es verdad que quiero que me conozcan por mi trabajo o por mi objetividad o por cómo las cosas no no si bailo no bailo lo que sea que ya de por sí ya no bailo pero pero si es verdad que hay muchas agencias que cogen trending y oye cogen autoridad de verdad que los vídeos tienen mucha visibilidad pero nos gusta más dar tips de consejos de marketing de cómo mejorar tu visibilidad, no sé, que se nos conozca un poco por esa objetividad, por el conocimiento que tenemos del marketing y de tramas digitales. Vale, perfecto. ¿Cuántos años lleva la agencia abierta? Pues, bueno, la agencia es otro de los temas que tengo mi socias, es otro de los temas que no sabemos cuando ponerle el aniversario porque Club Marketing en sí nace como marca en el 2006 como un blog, luego en el 2009 me dediqué yo a hacer freelance conjuntamente con un puesto de trabajo de director del marketing de una agencia que conocía a Sacra que la tenía de Vicaria y eso fue 2010-2016 y en 2016 empezamos ya, no 2015 empezamos en septiembre a trabajar pues como freeman los dos y en 2016 se creó la empresa o sea me he dedicado digamos de 2009 con club marketing y como empresa de 2016 la empresa tiene ya por siete años y dedicando a esto pues casi 23 o sea no 13 años hace bueno 13 14 años siempre tenemos la cosa de cuando celebramos aniversario, cuando creé la primera entrada de blog fue en diciembre de 2006, claro no puede decir que he estado dedicado, pero si es verdad que 2009 he estado dedicado a club marketing ha sido una consecuencia, un camino que hemos ido llevando y que bueno ahora ya hacía una empresa de hace ya tiempo bastante consolidada y bueno ahí vamos trabajando. Vale, genial. Pues mira, quiero ahora pasar a Closed Technology, que es una marca que creéis vosotros hace poco, no hace mucho. Sí, relativamente poco. Y os dedicáis a la parte vuestra que os dedicáis a el tema de creación de plugins. Sí. Vale, para irlo primero, ¿cuántos ¿Qué más saga insta-net ya ha publicado en el repost? Pues… Bueno, tenemos… A ver… Si Kloste no leye un poco la consecu… O sea, Kloste Mark… A ver… Nosotros Kloste Marketing siempre hemos hecho plugins. Y siempre hemos… Entonces, pues bueno, una agencia de marketing que hace plugins. Una medida, ¿no? Plugging a medida para… Plugging a medida de clientes y luego plugins pues más… Sí, más universales que pueden utilizar los clientes de cualquier tipo. Entonces claro, por necesidades hace año y medio o dos, no, no… Bueno, un panel nos dijo «oye, ¿por qué no os presentáis como Clos, lo que sea, que no sea marketing? Porque os vamos a presentar a muchas agencias de marketing». Y queda un poco raro, es verdad, porque nosotros agencias de marketing somos, pero es verdad que tenemos una patada de desarrollo bastante importante. Entonces queda un poco raro que os presenta otra agencia de marketing que hacéis desarrollo. mira pues a más que un cliente importante pues digo pues viéndolo claro vamos a sacar otra marca entonces sacamos la marca Clos Technology y aunamos todo lo que ya teníamos de Clos Marketing en desarrollo a esa marca de tecnología y actualmente pues tenemos tres líneas de desarrollo de plugin bueno a los oyentes yo me imagino que conocerá lo que son los plugins pero los plugins son extensiones que hacen tu propio CMS de gestión de página web que hacen algo añadido. Entonces tenemos tres líneas de conectar formularios con CRM, con distintos CRM y ahí tenemos con Inmovilla, con Odoo, con Clientify, el propio Clientify. Nosotros trabajamos con elementos pero si nos están pidiendo que conectemos los formularios de elementos con distintos terremes que nosotros estamos. La segunda línea es conectar tiendas con ERP, ahora mismo tenemos ya en venta la conexión con Holder, la conexión con Bartolomé, que se llama Neo, NeoTPV y ahora estamos trabajando en la de Odoo. Odoo es un conocido repeo pensor que lo tienen muchas empresas y es una mala decisión en poner todo, o sea que Odoo te puede hacer página web pero es una mala decisión. Justo, tener conectado tu tienda online con Odoo es bastante interesante. ¿Es para la gestión de los TPV o de las tiendas? Sí, básicamente cuando entra un pedido, lo que te genere la factura, con Holder lo hace ya eso. O sea, tú en Holder hay varios problemas normalmente en las tiendas. Primero el stock, segundo los productos y tercero los pedidos. Es verdad que estamos en un proceso de digitalización muy importante, pero luego tenemos procesos manuales que son muy absurdos. O sea, en muchas tienda que los pedidos los generan y tienen que ir justo corriendo, lo imprimen un papel y eso lo he visto, se van a… -En un papel. -Sí sí o bueno ya habrán quitado lo del papel de acceso hace ya tiempo, lo ven en el correo y van y crean ese pedido manualmente en el RP, en el sistema de gestión de la empresa. Claro dices tú bueno a ver si estamos en una tienda de likes que está todo digital y tengo un RP que todo digitalizado, porque voy a que hace esa conexión a mano. Entonces nosotros lo hicimos ya con Holder, que ellos tienen también un plugin nativo, pero bueno, evidentemente nosotros hemos hecho más cosas, por ejemplo, el tema de que cuando te entre el pedido se genere factura que vaya correlativa con las facturas que tú tienes ya en esto y que el PDF que genera, o sea, no te haga generarlo en la página web, sino que lo genere tu rp y lo ajunte en el pedido. Vale. Ese tipo de cosas pues son bastante interesantes y esa línea la estamos potenciando ahora. Ya te digo vamos a sacar a Odoo, vamos a sacar también conexión de la tienda con Clientify. Total, hay una línea ahí de exploración de conexiones de rp que vemos que es interesante. Claro, porque con el stock, o sea, tener conectado tanto la tienda como la web con el stock y que esté al día el stock en los dos sitios, básiquísimo. Si no tienes eso no abras directamente. Sí, sí, sí, o los precios. Claro, el cliente está acostumbrado a cambiarlo su sistema de gestión, porque ahí tiene también los comerciales haciendo presupuestos o ahí estás vendiendo directamente en factura. Claro, eso lo tiene al día pero no tiene otra. Y el tema de irte a la online, actualizar todo eso, pues claro, es un trabajo y un trabajazo administrativo, hoy ya lo estamos viendo, hay que optimizar mucho nuestros procesos porque el mercado lo está exigiendo, entonces ese trabajo ya es absurdo al día de hoy, entonces es verdad que nosotros tenemos de estas tres, pero bueno que también hacemos también adaptaciones a gente que nos diga mira, hazme la pa’ este tema. Hace mucho con BlueCommerce, con tiendas. Sí, sí, con BlueCommerce. ¿Cuál dirías tú, a ver si me vas a decir, ¿cuál dirías tú que algún plugin, porque estamos hablando de WordPress aquí siempre, vale, algún plugin o algo que vaya bien para enviarle los datos al transportista o para conectar con el que es una pregunta no funciona ninguno bien es una cosa si a bg ls tiene su propósito tienen su propio plan y mira por ejemplo de corti si que tengo referencias porque cargos jose jose corti jose conti eso pero corti lo había mezclado con otro José Conti tiene un plugin hecho de Seur. Yo que estoy ahora metido en el tema de los plugins de WordPress, digo que fácil sería si lo pusiera en el repositorio oficial de WordPress, lo que pasa es que como tienen que programar bien, pues que es la exigencia que se le hace antes de meter un plugin, pues claro, siempre todos los plugins de las couriers que se le llaman, Tienes que pedirse la comercial, el comercial te avisa, no sé qué y cuando lo más fácil sería meterlo en el repositorio oficial de WordPress. Pero claro, no lo programan como tienen que programarlo para que esté en el WordPress. No lo haces bien, si son informáticos de software y claro, estaba acostumbrado a pensar que se ve todo. Otras cosas. Claro, entonces claro, se ven las se ven las intimidades, entonces claro, ahí se ve todo, entonces claro, por eso a día de hoy creo que es seguro porque servicio jose conti tiene tiene plugin de warprey pero oye no cuesta tanto y oye nosotros no puede cargar que nosotros estamos haciendo para muchas marcas pero también a otras empresas oye apostar por warprey dejar informático de la interno y subcontratarlo para que os publique la plugin en repuesto oficial porque aparte es que le abre el mercado porque tú le dices a un cliente que apete a warprey y búscalo da una confiabilidad muy importante y luego claro claro que te exige que ese plan lo mantenido que te exigen que te exige WordPress para subir tu plugin al repositorio a ver qué cosas son esas bueno primero te voy a dar una noticia así que lo hemos lo hemos hablado off the record si el pasado 30 de junio pues me me nombraron plugin team review, o sea dentro del equipo global de WordPress. Dentro del equipo en WordPress hay unos equipos de colaboración y hay unos más delicados que otros, por ejemplo de core es muy delicado, claro, todo lo que hay en core que va para millones de webpages, imagínate, y hay un equipo de plugin, es decir, gente o empresas que quieren publicar su plugin lo revisa un equipo. Entonces, ese equipo, esto y yo dentro, ya hemos pasado la criba, estamos dentro. Felicidades. Muchas gracias. Y entonces, ahora estoy yo revisando plugins de presas, personas, autónomos que mandan plugins para que sean publicados de manera gratuita en el repositor oficial de WordPress. ¿Qué pasa? Que claro, nosotros hacemos un proceso que ya estaba de antes de mi caíste que estaba de antes ya hecho y que se ha ido mejorando por el equipo de hacer un proceso de revisar todo el código y ver qué pues están los estándares todos casi todos el 90 95% fallan en tres cosas que dices tú bueno si son sencillas si son sencillas pero hay que hacerla y son agujeros de seguridad muy muy sencillo. Sobre todo, agujeros de seguridad, lo que más tienen de… Sí, sí, hay… bueno, lo explicamos de manera muy sencilla para que lo entienda la audiencia. Tú cuando mandas información en tu plan, en tu extensión de la página web, puedes mandar o recibir información. Espera un momentillo, que es que voy yo con un poco de retraso y no espérate que que encontré casi ahora cuando encontró esto. Perdón por la tontería. Muchas gracias. Sí, sí, muy bien. La verdad es que es una responsabilidad, pero estoy muy contento, la verdad. Vale, entonces, a ver, lo que más hay es el tema de seguridad, que es lo que más… Sí, la mujer de seguridad. Cuando tú, por ejemplo, recibe información que te viene por algún lado, esa la tienes que como se llaman sanitizar, hacerle un proceso que tiene propio WordPress interno para que toda la información que te haya mandado pues no te manden código porque normalmente el que sabe hackear web te manda código y si tú eso no lo limpias, pues ese código lo ejecutas dentro de tu página web con lo cual se te infecta. Lo puedes tanto como recibir, como tú ejecutarlo, porque tú a lo mejor te han infectado la base de datos, le dices venga muéstralo a la página y puede estar mostrando código maligno. Entonces esas dos, tanto de entrada como de salida, pues WordPress tiene unas funciones de hace ya mucho tiempo que limpian lo que sea y si es un texto normal, pues va a salir el mismo texto normal, pero si es un texto con código maligno, evidentemente el código normal no es código porque no lo va a guardar ahí, el código mali no se ejecuta, se limpia y bueno ya tiene otros procesos para limpiar tu página web pero por lo menos que tu extensión no sea un proceso de estar moviendo por toda esta efectión por todos los sitios. Entonces esas dos comprobaciones, casi te puedo decir un porcentaje muy muy muy alto, fallan. Y de hecho el equipo estamos trabajando para que esas comprobaciones se hagan antes de mandarlos, para que nosotros nuestro proceso sea menos automático. O sea, ahora mismo es que le pasamos el proceso y se lo mandamos tal cual, porque claro decimos mira, es que esto estaba mal. y entrar más a plugins que «oye, mira, vamos a ver qué tiene aquí, lo revisamos y todo esto». Bueno, al final es un proceso, por eso, muy habitual y que garantiza el código de la extensión, que los que vemos en repositorio tienen un proceso de revisión, que esto veníamos por lo de los couriers, que muchas empresas no están, digamos, dispuestas, no sé, bueno, es que realmente el motivo, no sé, me gustaría sentarme y decirle, oye, ¿por qué no adaptáis vuestro plugin al repositor de Fuerza Ciencias de WordPress? O porque no lo entienden o porque no quieren entrar al proceso de revisión, no quieren que se vea el código, es una tontería porque al final el código, aunque tú lo des uno a uno, lo vas a recibir por todos lados, o sea, que eso, realmente es un tema muy curioso de por qué la empresa no ha puesto bien. Yo creo que el… creo que principalmente es desconocimiento, no conocer bien. Porque yo cuando he publicado plugin a clientes, dices «ah, pero se puede publicar y todo», sí, sí. Y le hacía un poco el Simi como las aplicaciones móviles. Cuando tú mandas una aplicación, pues Apple, pues te revisa el código, te revisa esto para que no sea malicioso y haga malas prácticas a los usuarios. Vale. Oye, y vosotros en la agencia, ¿qué utiliza para programar? Uy, pues nosotros la verdad es que muy sorprendido porque Microsoft ha cambiado mucho en estos últimos años y está llevando una serie de proyectos pensó muy bueno y la verdad que estábamos súper enchufados. Desde hace tiempo Visual Code, yo trabajaba con distintos editores, lo que pasa es que no tenía todo integrado porque cuando trabajas con un editor pues tienes la terminal normalmente para hacer comandos, tienes el control de versiones, que es donde tú subes a tu código y todo eso no tenía integrado, yo utilizaba otro editor general, no me acuerdo, y cuando vi Visual Code, que tenía todo integrado en el mismo sitio y todo tan, digo, contra, esto es una maravilla. De hecho tengo una extensión hecha que suelo recomendar para hacer programación en WordPress con Visual Code y en un salto puedes hacer un post-it, puedes hacer cualquier cosa. Tengo una charla por ahí, perdía de la de una mitad de Málaga. Total, que utilizamos Visual Code, utilizamos Gija, estamos trabajando con GitHub Copilot. ¿Qué es GitHub Copilot? ¿Qué es exactamente? Si GitHub Copilot es la parte de inteligencia artificial del repositorio de código de GitHub que viene a sugirirte código cuando tú estás escribiendo en el propio editor. que ahora mismo, bueno, ahí está. Hay veces que acierta una de cada 6. Hay que tener cuidado. Acierta poco, acierta… Claro, el ejercicio tiene un peligro que es que si no sabes el código que te da, lo ejecutes y muchas veces está perdido. Otras veces dices «¡Contra! ¿Cómo se ha inventado visto y también muchas veces coges el mismo código del propio repositorio y te sugiere código. Está bien, está todavía en pañales, en mi percepción que está en pañales, está muy verde, pero bueno hay que empezar. Yo ya de nuestro equipo de cuatro, pues dos, o sea yo y mi compañero Alex, pues estamos trabajando con Gizaco Pylos y bueno hay cosas por ejemplo, yo como te hice los coding estándar de WordPress, que código, o sea, WordPress tiene una serie de, esto que hablamos de programas bien y todo esto, pues WordPress tiene una regla de cómo codificar, esto es claro, esto es a un informático, estaba hablando de esta empresa, que le digan cómo tiene que escribir y dice, mira, le den morcilla, yo hago el código como yo quiero, claro, como es un proyecto pensor, es muy importante también cómo escribe el código para que sea entendible para otras personas y eso no lo entienden, Entonces pues, nosotros hace ya tiempo utilizamos Coding Standard, integrando el propio editor de código. Utilizamos Warp Coding Standard. Entonces, una cosa buena que te dice es que vayas documentando cada función que haces. Y estaré muy bien que la utilicación es difícil de ir a la hiciera porque hay un poco rollo, tienes que estar escribiendo. Pues mira, esta función sirve para esto. Esta variable es un objeto, esta variable es un entero, esta es una variable de string. y entonces los parámetros de la propia función. Y eso estaría bien que la Tecnicecial porque realmente tiene la función, tiene el nombre y tiene los parámetros, pues no lo hace bien. Acierta menos de la mitad, digo que otra, pero si es que te estoy dando el código de la función y ya sabes un poco, pues una cosa que sí sería muy útil sería que documentara bien la Tecnicecial. No lo hace bien, lo hace la mitad de las veces. Muchas veces te copia el código de la documentación de otra función y dices tú bueno si no tiene nada que ver si con camela la función sería suficiente bueno historia de desarrolladores pero que hay un poco la problemática tenemos no que que sigue la tesis de edificio ha venido para ayudarnos a trabajar a ser más eficiente más productivo pero todavía muchas cosas le queda le queda y para nada yo lo que veo que nos va a hacer que sean más eficientes pero no no no bueno por ahora día de hoy no va no va a reemplazar nuestro trabajo porque no saben pensar para eso le queda todavía mucho mucho mucho vale y entonces pero programar con base en WordPress, tú coges el WordPress con Visual Studio y ya le cambias lo que sea, ¿no? Bueno yo lo que hago si quieres te explico el proceso Yo lo que hago es, yo utilizo local WP, y entonces instalo una instalación del cliente y me bajo la base de datos del cliente con un plugin WP Migrate, me bajo lo que es la configuración que tiene el cliente y me lo bajo a mi local. Nosotros lo que hacemos es un plugin, trabajamos con plugin y en ese plugin tenemos la configuración de lo que es el tema, lo que es el diseño y también tenemos parte de configuración de contenidos, de post-it y todo eso, hacemos un plugin. Entonces, en ese plugin es el que metemos en el repositorio oficial y es donde llevamos toda la gestión del código. Entonces, para nosotros lo que hacemos al cliente realmente es entregarle un plugin. Y hacemos control de versiones, sacamos versiones y en proyectos grandes, pues vamos… La versión 2.4.0 te he sacado pues esto y esto y esto. Lo reemplazamos con producción. Bueno, para proyectos grandes lo que hacemos vez, tenemos una versión espejo donde podemos probar por segunda vez antes de pasar a producción por si pasa algo revisarlo y ya después pasamos a producción. Entonces todo ese proceso de flujo de control de versiones pues llevamos todo. Vale genial y quería preguntarte antes de pasar a siguiente sección, quería preguntarte sobre el tema de la gestión de empleados de cómo funciona vosotros en tema internamente. Quiere decir, por ejemplo, para comunicación entre vosotros, ¿utilizáis el mismo Asana o utilizáis alguna cosa? Sí, nosotros lo que hacemos es equipo por proyecto. Es verdad que tenemos, como habíamos dicho, técnicos de marketing, gestores de marketing de cuenta, diseñadores gráficos, desarrolladores. Entonces, al final hacemos un proyecto, pues mira, este va a ser el desarrollador que va a llevar este proyecto, este va a ser el técnico de la persona de marketing, el profesional de marketing y este lo va a llevar este desarrollador, el diseñador también. Entonces, eso cada proyecto lleva su configuración de personas, entonces cada persona lleva pues sus tareas que son de diferentes proyectos, va llevando diferentes proyectos a lo a lo largo del tiempo. Y entonces, ahí llevamos toda la comunicación incluso con el cliente. El cliente nos mantiene el proyecto para que sepa un poco lo que se le va haciendo y si hay dudas, si hay cosas de programas de ejecución, entonces llevamos ahí toda la conversación. Y luego, con el equipo de hace ya tiempo trabajamos con Slack. Slack para que no conozca como un WhatsApp vitaminado y lo que permite es automatizaciones. A mí me gustan muchas automatizaciones. Entonces, de hecho avisos que hay, por ejemplo, la monetización de todas nuestras web las llevamos a Slack. Cuando una web tiene algún problema, alguna cosa, nosotros somos los primeros a enterar otra vez de Slack. Y entonces nos salta una notificación tal. O por ejemplo en páginas web muy grandes, pues que tienen procesos de sincronización de productos y todo esto muy grande, pues me mandan una notificación por el LA de si había algún problema o si se ha sincronizado algo. Desde hace ya tiempo pues tiene esa diferencia de que le puede vitaminar, le puede también por ejemplo blogs interesantes que interesa al equipo pues lo ponemos en un canal. Y bueno, esto fue fundamental el LA en su momento con la pandemia porque era para nosotros realmente, bueno yo creo para, no fue el viernes salí de la oficina y el lunes estábamos trabajando toda nuestra casa con todo nuestro flujo tal cual no cambiamos nada o sea lo único que cambiaba que era las reuniones online muchas de estas mienes son mucho más reductivas, más rápidas y eso es la única cosa nunca se puede decirlo pero es la única cosa que se nos ha quedado después de la pandemia que es bastante beneficiosa, que ya no hay que moverse para hacer una reunión, o sea nos vemos y ya evidentemente la presencialidad es muy buena para establecer relaciones, fidelizar, pero no para el día a día de trabajar, de llevar tareas, proyectos, etcétera. Vale, y esa otra cosa que quería preguntarte el tema de remoto, o sea seguir trabajando en remoto, vais a la oficina de vuelta y estéis trabajando allí o cómo hacéis? Pues al final me ha llegado un acuerdo entre todos de hacerlo híbrido. Vale. Es que el teletrabajo está muy bien porque es verdad que te puedes levantar más tarde y no hace falta desplazarse, pero crea menos contacto diario y la verdad es que para cualquier que es verdad que nosotros somos digitales 100% pero para no saber que situación estaba una persona, si estaba reunida, si no, si tal, entonces crea un poco de barrera y muchas veces también el tema, yo es que estaba mucho tiempo trabajando en casa y la verdad es que la oficina a mí me gusta en cierta parte porque yo teletrabajo también, todos teletrabajamos, incluso Sacre y yo teletrabajamos, yo por ejemplo las tardes las teletrabajo, las trabajo en mi casa pero para mañana me gusta estar con la gente oye cómo lleva esto como como esto es muy rápido y entonces también dan esa esa cercanía no de ver los problemas y verlos un poco tenemos una chica que está teletrabajando 100% vale que por circunstancias personales nos lo pidió y bueno dijimos no hay problema y la chica como funciona muy muy bien está teletrabajando claro pero pierde cercanía un poco, entonces me gusta la presencialidad por eso, por al final ser un equipo, ser un equipo trabajando conjuntamente los problemas y que sea por que vea a la persona, entonces al final hemos hecho híbrido, entonces hacemos unos días presenciales y otros días en casa. Oye, y ¿cómo deis a conocer entonces, si no tenéis comerciales, cómo deis a conocer la agencia por los eventos, imagino. Sí, nosotros tenemos presencia en muchos eventos, nuestra propia visibilidad sacramía pues nos trae clientes, al final muchas veces es que nos conozcan, sepan qué podemos hacer por ello. También las redes sociales tienen mucha presencia y bueno, la página web y todo esto. Entonces, Claro, al fin y a nosotros, pues bueno, nuestro público siempre ha sido una empresa, ¿no? Y donde esté esa empresa, pues nos interesa por lo menos que nos conozca, que sepa que nos dedicamos y en qué podemos ayudarles. Y nunca hemos tenido una presencia muy comercial de «voy con la tarjeta a todos lados», simplemente va hablando, conoce a la gente. Oye, ¿qué problema tienes? Tal, recomendarles sin problema y «ah, bueno, y tú a qué te dedicas?» tal, pues así ha salido mucha oportunidad. También tenemos colaboradores que nos recomiendan, eso… El boca a boca es muy importante, sí. Nosotros, muchos clientes muy grandes han venido por recomendaciones de hacer proyectos conjuntos, por ejemplo, nosotros trabajamos con Javier Casares en muchos proyectos y pues yo le paso proyectos, él me pasa a mí y hacemos cosas conjuntas. Que por En cierto, estuvo aquí Javier Casares, fue en el número 6, si no recuerdo más. Sí, sí, sí, muy bien. Oye, y vamos a seguir, vamos a cambiar de sección, ¿vale? Y me vas a perdonar que es que he descubierto hace poco esto de los sonidos y estoy como un niño con zapatos nuevos. Muy bien, muy bien. Hay que experimentar. Y entonces aquí voy a dar paso al «Preguntas de los oyentes». Hoy esto no me gusta, bueno, otro, para otro momento. de los oyentes, ¿vale? Momento de preguntas de los oyentes. Y tenemos, hay dos. A ver, han preguntado, José ha preguntado, ¿cuáles son los próximos pasos para Close Technology? Yo diría también que para Close Marketing, pero sí, pregunta específicamente por Close Technology, ¿qué es lo siguiente que vais a hacer? Bueno, nuestra idea es internalizarlo más, o sea, tenemos un proyecto también que es UWP Autotraducción, que se me olvidó comentar la tercera pata. -Venga, a ver, comenta. -Sí, la tercera pata de Clog technology tiene una parte de autotraducir páginas web a través de multilingües al pré y la autotraducción, pero bien hecha, o sea, que autotraduce, no me mates Jesús, la autotraduce y luego una persona, una persona lo revisa y esto es una forma de facilitar el trabajo. Entonces, nuestra pata es nuestra primera SMA internacional. O sea, nuestro proyecto es hacer la… vamos, el Cloud Technology, que ya el nombre en sí es en inglés, pero bueno, hacer un dominio solo para el mercado externo y tratar de movernos en el mercado más americano externo y ver qué productos podemos ofrecerles y a partir de estas tres líneas que decimos de formulario, tienda y autotraducción, ver cómo porque bueno, es verdad que autotraducción se se estila más aquí en Europa, pero sí, nuestro propósito es ser más internacionales, que se nos conozcan nuestros productos y también no solo que se nos conozca, sino también que veamos qué productos podemos ofrecer a este mercado internacional. Tenemos ahí varios proyectos también para… bueno, hubo un pedazo de otra ley, eso es un producto y es un proyecto, producto, todo junto. entonces se vende con su página web, sus propias estas y tenemos varios proyectos también que saldrán que bueno ahora mismo como están muy alfa no podemos decirlo pero sí son productos que queremos sacar que sean monoproyectos, es decir que hago la página web por ese proyecto con su planning o su venta y sus propios clientes. Pero sí que los siguientes pasos es internacionalizar y sacas productos específicos con necesidades que entendemos que pueden ser mayoritariamente aceptadas. Perfecto y luego Marta nos comentó cuando te pregunta, ¿qué podemos esperar? Está muy bien mucho el caso, ¿qué podemos esperar de WordPress en los próximos meses? No me da de eso. Pues mira, una cosa que me encantó, bueno decías tú de los eventos, nosotros estamos en los eventos de WordPress y resulta que hacen bastantes eventos en España, ahora en octubre será Sevilla, luego en noviembre Madrid y Valencia y bueno nosotros vamos a los nacionales pero también más malas internacionales. Yo desde hace ya las dos últimas décadas, incluso he estado participando como comité organizado dentro de la organización de la World Can Euro. Estuve en la de Oporto y ahora en Atenas, que ha sido hace recientemente, en junio. Madre mía, como ha sido. Ahora te voy a preguntar cómo lo haces, pero bueno, termina, termina. Vale, vale, como me lo agarras. Pues a lo que venía un poco, en ese evento que estuvimos en Atenas, que estuvo fenomenal, tuve la oportunidad de estar hablando un rato con Matías Ventura, que quien no lo conozca, el Lead Developer de Gutenberg, del nuevo editor de WordPress, el editor nativo de WordPress, más bien. Y nos contó una cosa que yo me quedé, que lo voy a explicar muy sencillo, es los custom fills, los campos personalizados que siempre se han, ha sido campo de plugin, pues ACF que es muy conocido y algunos de estos. Nosotros lo hacemos nativo, hacemos nuestro plugin, ese que decía nosotros hacemos los custom fills, los campos personalizados. Pues el propio editor va a tener ya que un párrafo, un campo simple, tú puedes decirle que es un campo personalizado. Y diré, bueno, ¿esto para qué? Pues podría montar un patrón, por ejemplo, un libro. Tú podrías crear un patrón de una portada a la derecha de una serie de campos, o tu Gutenberg, eso dejarlo fijo para todos los productos, y luego esos campos se quedan guardan base datos diferenciados. Con lo cual, luego en los buscadores o en filtros, o incluso para ahora demostrar cualquier información, Ya no tendrías que depender de un desarrollador, que eso ahora mismo es campo de… Nosotros, los campos personalizados tienen que pasar por desarrollo. Y eso, dentro de poco, se va a quitar también. Entonces, fue y dije, digo, «Ostras, Matías, esto es muy gordo». Y dice, «Vamos a intentarlo, a sacarlo en agosto, ahora en la 6.3». Yo lo veo y he hablado con… No sé, yo creo que no va a dar tiempo, o si lo sacan será una versión muy alfa para que ya la gente empiece a experimentarla. Pero eso es un… Eso es, vamos. Al final, bueno, un poco como resumen para que todo el mundo entienda, es quitar cosas que estaban en el campo de desarrollo y que necesitaban es llevarlo a herramientas no code, es decir, que pueda actuar hacerlo sin necesidad de hacer código. Perfecto. Oye, pues… Pero viene cosita. Se abriden cositas y la pregunta que nunca se responde es las traducciones para cuanto, el multilinguaje para cuando? Siempre se la preguntan todo el año a Matt Mullenberg, el cofundador de WordPress y esta vez lo veré otra vez, cuando era multilingüe. Se supone, bueno, yo no veo yo, que este año quieren la fase dos del proyecto de editores nativas, la edición colaborativa, que yo no la había tan necesaria, evidentemente sí la habrán visto necesaria para equipos de tono de trabajo en el que tú puedes editar a la vez varias personas una propia entrada, que eso por medio de prensa, blogs así muy corporativos, que sean muy grandes, pues puede ser interesante. Y esa fase 2 en la que estamos, pues supone que en teoría la terminarían este año y el año que viene empezarán en enero pero no creo que empezaremos a ver algo algo noticias de multidioma a mediados del año que viene con lo cual queda mucho recorrido genial pero bueno que sí que todavía queda así que pasa que los americanos como todo lo tienen inglés por no nos preocupan tanto y una de las claves que tenido WordPress en este tiempo y que desde el equipo español, bastante Jesús Amiro, hay equipos, el tema hacer multidioma a WordPress para todo lo que los play, las traducción y todo eso, hace que sea mucho más accesible para todo el mundo. Vale, general pues mira ahora vamos a pasar a sección de conciliación y trabajo en remoto, vale te voy a hacer algunas preguntas de estos temas, a ver cómo te organizas tú, a ver un momento yo. Vale. Así música relajada, ¿no? Sí, porque el estrés, ya sabes, el estrés. Entonces, y esa es la primera pregunta sobre estrés, el estrés. ¿Liviar con estrés? ¿Cómo lidias tú con estrés cuando viene? Yo he de decir que este año está siendo una locura de estrés porque de verdad que siempre hemos tenido mucho trabajo en la empresa y la hemos llevado muy bien pero este año ha venido el Quid Digital y sabemos que es algo muy temporal porque tiene una fecha de caducidad que es finales del año que viene entonces claro cuando de repente tú trabajas con yo que sé dos o tres no sé por decir algo dos o tres clientes a la semana por decir algo de repente te entran 20 y dices contra y tampoco es un tipo de trabajo que tienes que tener cuidado porque claro es un proyecto que te puede que puede tardar seis meses o ocho meses en cobrarlo habiéndolo ejecutado, entonces claro tampoco puedes sobredimensionar tu equipo a ese trabajo que te entra que luego va a cobrarlo en ocho meses entonces es un tema complicado, entonces ese tema complicado al final que no he hecho pues apretarnos todos mucho y trabajar mucho más de lo que estamos acostumbrados y que todos estamos pendientes de un poco de relajarnos un poquito y este año pues mucho trabajo, mucho trabajo, mucho. Y como lo llevo, pues bueno, con mucha paciencia y con mucho, mucha cabezonería de sacar las cosas adelante porque al final, yo una cosa que yo tengo y que siempre se lo digo a mis clientes cuando hay una situación un poco más difícil, yo enfocarme en los problemas, gasto un minuto en saber qué pasa y automáticamente paso a la solución. Hay gente que le gusta y eso intento cortarlo un poco para el que se quiere recrear en el problema. Es que claro es que este problema es que este no se crea. Bueno vale, está este problema, vamos a solucionarlo. Siempre tenemos bastante iniciativa en el sentido de decir oye vamos a enfocarnos las soluciones, vamos a solucionarlo, vamos a sacarlo adelante y mucho caucionería en sacar las cosas. Estrés mucho, pero bueno, como es sana con gusto, nos gusta tanto, pues claro, dice bueno, a ver si vienen años mejores de estar más tranquilos porque esto así tampoco puede costar muchos años, pero bien, bueno, ahí lo llevamos. Oye, entonces, ¿cómo confilias tu tema de estar en tantos eventos, de ir a tantos sitios, viajes y demás y luego en la agencia y luego ir con la familia. Bueno, yo tengo que respetar un… Sí, claro, tengo familia, tengo dos niños preciosos y ahí está de 13, mi Nacho y mi padre y luego una mujer estupenda también. Bueno, mi mujer la verdad es que ahí tiene mucha paciencia porque es verdad que este año está siendo difícil y en momentos en que yo no debería estar trabajando porque he tenido que trabajar y ahí tengo que decir que la conciliación pues ha sido poca y pero bueno como es algo temporal que sabemos que un tiempo tiene que ser así pero bueno ya me estoy liberando de proyectos que antes no podía ni siquiera fin de semana estaba trabajando pero claro es que cuando tienes la bola tienes que sacarla porque si no se hace una bola más grande entonces la bola de nivel cuanto antes la pilles mejor si la pillas abajo ya derrota ya arrasa contigo y con todo el mundo entonces la corrupción conciencia por bueno pues intentar mantener un horario en el que en el que bueno pues la tengas con la familia y luego pues momentos pues así más puntuales pues por la noche trabajar en el que todo mundo ya está dormido y trabajan a ver son situaciones especiales ante momentos especiales entonces pues bueno ahí estamos y vamos llevándolo. Vale genial. Tema ejercicio físico te da tiempo o no hay tiempo para… Pues mira, llevo dos años yendo a un gimnasio me hace que haces la pregunta pero si verás que es algo más fundamental. todo lleno de chicas, a mi me da igual. Y es curioso porque es un gimnasio que ahora se llama mucho, que es una mezcla entre entrenadores personal y gimnasio en grupo. Entonces, actividad en grupo. Entonces, no es la actividad en el grupo de los gimnasios que hay 30 o 40 personas y realmente el chico no te llega a ver, el entrenador, tienes que ir tú a buscarlo. Y tampoco entre dos personas que tienes ahí una persona todo el día, oye, esto que a mí eso también me abobia mucho. Entonces, está muy bien de precio, hemos llegado a un gimnasio, yo voy tres veces a la semana, que es entrenamiento, no sé cómo lo llaman, la verdad, pero bueno, que es gimnasia de fuerza y de interval fit y no sé qué historia, y lo hacen grupos de 10 personas. Entonces, haces circuitos y tienes a la chica que te ve de en cuando, es Sirvia, y dices, mira David, «¿Has esto mejor?» o tú le dices «Mira, hoy me duele un poco la rodilla, mira, ¿qué hago?» «Ah, pues cambia este ejercicio». Tienes la persona que de vez en cuando te mira, te echa un ojo y no es tan descentralizada como en los gimnasios, que ahí hará un número y ya está. Y tampoco es la persona que está en tu día y «Oye, David, ¿cómo va?» ¿Sabes? Es un poco más obvia. Claro. Ahí he reservado tres horas a la semana y lo intento respetar y el fin de semana un poquito más. Aunque es verdad que la alimentación debía cuidarla mucho mejor, pero bueno, por lo menos que comprese un poco bien el deporte. Claro. Bueno, oye, ¿y qué habrías hecho ahí Frendez sabiendo lo que sabes ahora? ¡Uff! Qué buena pregunta. Claro, el tema… nosotros, bueno, mis socias Acra siempre hemos sido muy conservadores, nosotros siempre hemos ido dando pasitos pasitos y llegando a lo que estamos ahora, porque nos gusta consolidar, ser muy serios con nuestra gente, ellos nunca han tenido problemas de pagos ni nada, nunca ha habido baches evidentemente en la empresa pero nadie se ha dado cuenta y y bueno, ya se me ha ido tu pregunta. ¿Qué habrías dicho? Ya, me había dicho, pero así, tienes razón. Habría hecho lo mismo, la verdad, porque es verdad que como desarrollador me he ido evolucionando mucho y ahora al nivel que tengo ahora, pues evidentemente no era el que era cuando empecé, porque yo me acuerdo cuando empecé que vendía páginas guay y no se ve ni hacerlas, pero bueno ahí estaba en la calle tirado. y no sé, hubiera hecho lo mismo la verdad, es que son consecuencias que tuvo evidentemente ahora sabemos muchas cosas que ya no daríamos el paso a, pero por ejemplo, algunos ejemplos, por ejemplo el tema de la intranet, por ejemplo, no está ayudando muchísimo a tener muy bien documentados los procesos de la empresa, tenerlo documentado y sabes qué hacer y todo eso, pues oye, pues lo haría desde el primer día, que más o menos ya lo hacía pero no tan estructural como lo tengo ahora y realmente internamente trabajamos igual que siempre con nuestro objeto de proyectos, nuestro objeto de clientes y bueno y así ha sido siempre no sé no no sabría decirte bien poco ahora con más experiencia pues va a clientes que sabes que ofrecerle va un poquito mejor, ¿no? Y te conocen más. Más preparado, ¿no? Va más preparado, sí, también. Claro. Oye, pues hemos sobrepasado ya la hora de entrevista, así que vamos a ir a la última sección. Vamos allá a la última sección. Bueno, la última sección es la de preguntas cortas, ¿vale? Se pregunta al finales que son preguntas cortas que la gente dice que son las más difíciles, que no entiendo por qué, pero bueno, ahí están. Sí, más filosófica, más tienes que responderla rápido y no sabes cómo hacerla. Bueno, vamos a probar con la primera, a ver qué tal. ¿Dabai, libro favorito puede ser de ficción o de no ficción? Pues mira, me gusta muchísimo, además siempre lo… que ahora no me acuerdo del nombre, qué mal queda eso, pero es uno que… de organizarse para… ah, organizarse para alcanzar el éxito. A mí no me gusta el tema tan pretextioso de alcanzar el éxito, pero es verdad que… cómo fracasar en casi todo y así triunfar. A mí también me gustó mucho, pero organizarse para alcanzar el éxito me encantó. Ese libro lo relí como cuatro veces. Y te venía a decir un poco a tener muy bien organizado todo. O sea, yo anoto todo desde que lo conocí, me programo todo y bueno, y la verdad es que para mí, que no sé si se… es un libro de tochaco así de bolsillo y no sé si se sigue vendiendo. Pero bueno, en mi página web personal tenéis un pequeño resumen que yo me hice y que lo uso yo de vez en cuando en davidperegar.com y ahí puede echarle un vistazo. Vale, este es… ¿Stephanie Winston? ¿Puede ser? Sí, sí, exactamente, Stephanie Winston. Sí, sí, sí, gusto. Vale, los secretos de los directivos de que triunfan. Bueno, vale. Muy de vender, ¿no? Para vender. Sí, siempre le meten ahí su… A final te ayuda un poco a organizarte, ¿no? Es bastante importante. Por supuesto, la organización es básica para cualquier cosa. ¿Película favorita? ¿Puede ser de cualquier género? ¿La que sea la favorita tuya? Yo es que soy un fan de Iron Man. Entonces, cualquiera de Iron Man. Sí, sí, me gusta, no como es la actitud que tiene Tony Stark, pero sí el tema de tener tecnología, reutilizarla, hacer lo que quieras, volar con ella. Me flipa tener un asistente que te ayuda y que le habla y que entiende que Siri no te entiende nunca. Ya que nos gustaría mucho que tuvieramos un siri que funcionara. Efectivamente, me encanta por el hecho de eso de aplicar la tecnología a tu día a día y que realmente te pueda ayudar. Genial. Oye, ¿deportista o equipo de cualquier deporte y por qué? Bueno, yo realmente es que el deporte no me gusta verlo en directo, evidentemente, y fíjate el fútbol es que no me gusta, no lo veo, o sea yo lo veo cuando hay finales. Puede ser de cualquier deporte. Hombre a mí siempre me gusta mucho Rafael Nadal, lo veo un ejemplo como persona y como… o sea el tenis no lo veo yo mucho pero me gusta mucho su forma, la actitud ante la vida, ante los problemas, siempre ha sido una inspiración cuando habla, me encanta, vamos, nuestro mayor referente en España y lo va a seguir siendo aunque ahora esté menos físicamente posible pero que ese debe hacer vamos no sé cómo el hermano mayor una tener que darlo en verdad o algo muy importante en España porque realmente es una persona que ha hecho mucho en su trabajo, en su deporte y aparte luego como habla me encanta su filosofía. Genial. ¿Streamer o creador de contenidos favorito? Uy, qué difícil. Yo es que cuando cuando veo YouTube voy buscando cosas mías de… testing unitario, voy buscando cosas. No estoy suscrito a nada. Me llama la atención decía en Ibai pero no lo veo mucho la verdad pero me gusta porque de contra como se me llama mucho las figuras en el sentido de lo que han sido capaces de hacer y atraer a tanta gente y no lo tengo así un streamer favorito porque no voy buscando cosas específicas. Entiendo. Bueno, recomiendo, perdón, recomiendo mucho el tema de formación en YouTube porque hay muchas cosas muy específica de YouTube y WordPress TV por supuesto. Y puedes encontrar cualquier cosa efectivamente. Y va buscando micro learning de cosas muy específicas. A ver, un sitio para comer y qué comer en ese sitio, puede ser de España o del extranjero. Pues mira, a mí me encanta, bueno, qué voy a decir, en Granada, en realidad hay un restaurante que vas como subiendo para la montaña que se llama Las Perdices y te hacen un arroz campero buenísimo, ese es el mejor arroz que yo he probado. Las Perdices, así que yo os recomiendo el arroz y buenísimo, espectacular. Pues me apunto, voy a ir. Y después está relativamente bien o sea que no tu cartera se resiente pero no mucho o sea que vale vale vale destino favorito o alguno que quieras ir y por qué pues tengo muchas ganas de ir a italia yo he tenido clientes en italia mucho tiempo y de hecho conocía el italiano me hablaban italiano lo entendía y me gustaría con la familia bueno recientemente está en athena y me gustaría athena o italia me gustaría pero con la familia con de placés de ir a sitios y y ver eso y bueno américa es que me atrae un montón américa estuvimos cuando me casé fui a nova york pero si verdad que he dicho trae al final pero bueno por orden de preferencia por cercanía italia atena y luego américa porque si perfecto california el mayor error y el mayor acierto que has tenido en vida profesional la parte profesional bueno el mayor error es que al final tienes que cometer los errores no son errores en sí gordos pero nunca ha encontrado un socio bueno para para porque los marketing como dije que estaba de freelance y colaboraba con gente y tenía socios y hasta que encontré a SACRA fue un proyecto freelance y fue cuando tuvo… entonces bueno mi error no… bueno pero es que tampoco tenía que comentar el error hasta que encontré un socio de… vamos es que con SACRA es una chica fenomenal entonces hay una confianza que… y tenemos la misma filosofía en cosas, somos conservadores en ciertas cosas y hay una confianza total. Entonces, la verdad es que eso es difícil encontrarlo. Entonces, si he tenido diferentes socios, no hemos llegado a ser socios del todo porque al final no sé… Digamos, la relación no llega a ser socios, pero errores pues no encontras a una sociada adecuada como se agrada hasta ahora. Pues bueno, tienes que cometer errores, ¿no? Claro. ¿Y el acierto? No sé, no sé. Ahora mismo, mira, ahora como reciente pues, no sé, la marca Klaus, que al final somos Klaus. Estamos con los marketing que tenemos obtenido, pues no es más y acierto porque es verdad que todavía estamos viéndole los frutos para eso, verdad que unamos las marcas sobre una padre o madre que es Close y a partir de ahí pues creo que se nos va a interpretar mejor, o sea que somos distintas patas de trabajo, de servicio y de producto. Perfecto. ¿Dónde te ves de aquí a cinco años? ¿O cómo te ves de aquí a cinco años? Esa pregunta la hacen siempre cuando hacen una entrevista de trabajo. Yo la hago, a mí no me gustaba cuando me la hacía. Ahora entiendo porque sabes un poco por dónde van las cosas. Yo creo que seguiremos en la agencia, si Dios quiere, si todo va bien, que por ahora estamos muy contentos con los resultados. Iremos creciendo en equipo, seguro, porque con los retos que vamos cogiendo seguro que no hará falta más equipo. Y yo creo que más consolidados espero en el mercado y bueno intentando salir un poquito de, creo que espero, internacionalizado con algún producto más, producto plugin que vamos buscando el unicornio y no espero que lo encontremos pero si por lo menos que nos dé una línea de negocio para tener incluso equipos dedicados sólo para ellos. Si me gustaría tener gente dedicada a un producto por ejemplo, un plugin de WordPress y un que veo que más escalable. Eso me gustaría que la agencia siguiera evidentemente y tener algún producto específico que por lo menos tuviera un nivel suficiente. Vale, vale. Me queda una pregunta que tengo aquí, de todas las herramientas que utilizas, si solo tuvieras que quedar con una, ¿cuál sería? Asana. Perfecto. Bueno, Jesús ya sale, que aquí tengo conocido, lo han entrevistado. Claro. Llegará. Jesús es el infierno de Asana. Digo, no, para mí es todo. Yo todo lo traduzco en Asana. Tengo reuniones con clientes, pum, Asana en tareas, micro-tareas. Al final, lo que le digo al cliente es el dinosaurio cortarlo en trocitos o la pieza gigante corta en trocitos y puede trasearla y entonces me quedaría siempre con un asalto de hecho la entrevista a Jesús y es la número 2 anda leche si es que yo te he escuchado si yo te escucho pero pero pero asalto Fíjate, me salta a mi amigo, a Jesús y a Javi. Como lo tengo muy escuchado, pues sí. Normal, normal. Bueno, oye, y qué consejos… me quedan tres preguntas ahora. Me quedan nada más que tres. ¿Qué consejo le darías a alguien que está empezando a trabajar en internet? Bueno, primero que empiece con concentrado muy bien qué quiere hacer y que no es el fruto de un día para otro, sino que hay que trabajar mucho. Nos pasa que, oye, mira, como también hay muchos anuncios y hay muchos, bueno, se llama vende-umo así, de gente que triunfa y vende no sé cuánto en dos días y tal, claro, realmente son productos que ni siquiera saben cómo están fabricados y tienen muchos problemas después, eso no te lo cuentas. Lo que sí le diría es trabajar, trabajar mucho porque es como otra tienda. Si tú pones una tienda en que hay recogida de nada, pues tú tienes que abrir por la mañana, trabajar productos, mejorar sus fichas, quererlo tanto como si lo tuviera en la parte física, ¿no? Y explicar mucho. Ayer, por ejemplo, tuve una conversación con una compañera que es coaching y le dije, digo, si lo que tienes que contar es tu caso de éxito, cuenta cómo haces tus sesiones de formación, tus sesiones de administración de equipos, cuéntalo. Ayer estuvo con Alsao, con una empresa grande pues cuéntalo, cuenta, contar, al final los casos de éxito que son para temas de servicios, funciona muy bien para cualquiera, fíjate al abogado que cuente un caso específico evidentemente sin poner detalles pero tú cuentes oye qué retos tuviste para este proyecto, qué es lo que tuviste que hacer y eso los casos funcionan muy bien entonces para aquellos profesionales que que venden servicios, una forma de tangibilizarlo es dando ejemplos de cómo han realizado ciertos trabajos. Hacen muy buenos, a lo que esto es muy típico, por ejemplo, realizados y todo. En resumen, explicar bien lo que haces y poner ejemplos. Sí, dejar públicamente, que la gente vea lo que lo que hacer y cómo lo hace vale pues ahora toca que me nomines a alguien para que lo traigan aquí para traerlo aquí sí bueno a bueno mi socias sacra sacra sacra si la otra día a mojón o tanto porque me parece que pero si cerca, pero bueno pues llamaré a SACRA para temporada ¿vale? Sí, sí porque además siendo una empresaria mujer y además de cómo lleva su conciliación y todo yo creo que es interesante ¿no? Y su papel es diferente, nosotros dentro de lo que es la gestión de la empresa ya toca más gestión de proyectos, gestión de equipo, gestión de equipo y más parte de recursos humanos y todo esto. Yo más parte técnica, yo el cómo se hace y estoy más orientado en cómo hacer las cosas y bueno que al final pues también lleva sus retos también. Creo que yo la nomino a ella. Perfecto, genial. Oye y ¿dónde te podemos encontrar? ¿Páginas web, redes sociales? Pues bueno, me podéis encontrar en davidperegar.com que es mi página personal, personal, la web que ya lo has dicho es close.marketing, close.technology y redes sociales la verdad es que consumo poco la verdad, consumo autista, todos los vídeos estos cortos te enganchan como si fuera una tontería, no hay tiempo ahí totalmente pero que yo publique pues hago twitter un poco de vez en cuando, twitter y LinkedIn, LinkedIn es la que más… Vamos, de hecho es que tengo un montón de contacto ahí y ahí sí es una red que la veo bastante importante. Perfecto, oye, ya para acabar, lo último, lo último de verdad es microabierto para que digas lo que quieras antes de irnos. Pues nada, pues desearos, como es de los últimos capítulos ya de la temporada, desearos un feliz verano. Eso, feliz verano. Que descanséis, intentaremos. Yo soy muy difícil de desconectar. El otro día escuchaba en otro podcast que hablaban de una agencia y decía la chica, «Yo no desconecto, pero es que no me gusta desconectar. Yo siempre estoy conectado con la empresa, contar y me cuesta trabajo desconectar pero verdad que debí hacer un poquito más eso va a ser mi intención este verano pero pero sí que descanse y que vamos a topar el septiembre a hacerlo todo, cerrar julio que todavía queda que no hemos por terminado y allá por septiembre. Perfecto oye que muchas gracias por pasarte David, de verdad que ha sido un placer estar aquí charlando un plato contigo y déjame de recordarle a los oyentes que por favor se suscriban si les ha gustado la entrevista y denle like y dejen sus comentarios que eso nos va a ayudar mucho a llegar a más gente así que muchas gracias a los que nos esté escuchando desde y nos vemos la semana que viene hasta luego David, chao chao, gracias vale por la… --- ## Charla: Conoce de primera mano la plataforma más utilizada para realizar páginas web WordPress URL: https://davidperezgar.com/blog/charlas/charla-conoce-de-primera-mano-la-plataforma-mas-utilizada-para-realizar-paginas-web-wordpress/ El pasado 21 de Junio tuvimos la oportunidad de hablar de lo que mas nos gusta, WordPress!. Y fue en las jornadas organizadas por la Cámara de Comercio de Granada, en la Oficina AceleraPyme para Kit Digital. Os dejo el video ** WordPress Conoce de primera mano la plataforma más utilizada para realizar páginas web.pdf ** from **David Perez Garcia** Video presentación del Editor Nativo de WordPress Tabla de contenidos Toggle - Transcripción Presentación - Charla sobre WordPress - Ventajas de WordPress La pregunta ¿qué es WordPress? - Diferencias entre WordPress.org y WordPress.com ## Transcripción ### Presentación Bueno, buenos días. Yo creo que ya podemos dar comienzo a esta nueva jornada de nuestra oficina Acelera Pyme. Como ya conocéis, realizamos estas jornadas periódicamente. Hemos estado un tiempecito sin poder presentar estas jornadas por un tema administrativo, pero las retomamos de la mano de David Pérez, que es el CTO de Agencia Close Marketing al que agradecemos su presencia. Buenos días David. Hola, buenos días. ¿Qué tal? Bienvenido. Ya creo que estamos ya participantes, ya sabéis que podemos dejar entrar durante algunos minutos más y como siempre dar la bienvenida a esta parte de nuestra actividad en la cámara de comercio de Granada donde en esta ocasión vamos a ver un poquito sobre esa plataforma que es la más utilizada para esta página web. La plataforma WordPress y os vamos a dejar con David que va a hacer una presentación. Ya sabéis que como siempre vais a tener habilitadas las opciones de preguntas tanto a través del canal del chat como la opción preguntas y respuestas y igualmente al finalizar la exposición daremos paso a aquellos que queráis pues de alzar la mano incluso a hacer una pregunta pues en directo de acuerdo. En el enlace que estáis viendo que ha puesto mi compañero domingo, está el enlace de nuestra oficina Acelera Pymes a Cámara Granada, ahí vais a encontrar las futuras actividades que tenemos programadas. Actualmente para la actividad programada antes de verano queda una jornada el día 5 de julio, es una jornada sobre Prestashop, también muy interesante y retomaremos nuestra actividad a partir de septiembre con otra jornada sobre blockchain y no recuerdo la última, lo informaremos. David, yo no me quiero… – Sistema RP. – Efectivamente, gracias. No me quiero extenderle, David. La jornada dura una hora y once aproximadamente. Y nada, David, mil gracias por participar. Y todo tuyo. ### Charla sobre WordPress Bueno, pues muchas gracias. Tengo aquí a mi socia Sacra también por aquí. Y bueno, nuestro objetivo es que se conozca no solo WordPress, porque es verdad que es la plataforma más conocida, sino también las mejores prácticas para realizar páginas web. Porque hay una serie de, bueno, de chascarreos en la calle, digamos, que si WordPress no es seguro, WordPress es para páginas pequeñas, WordPress muy lento, todo eso, ¿vale? Pues son por hacer malas prácticas o no crear páginas web correctamente. Entonces, por lo menos aquí el empresario, el objetivo un poco de webinar, siempre a diferenciar entre la diferencia de calidad, es como el jamón o el vino, pues por lo menos saber diferenciarlo y a partir de ahí poder elegir. Siempre empezará por su negocio y verá quién le puede ayudar más. Bueno, pues conoceremos WordPress. Yo ya me he presentado, soy CTO de la agencia de CLOSE Marketing. He estado muy involucrado en la comunidad WordPress. WordPress en sí tiene una comunidad detrás. Y esto lo que nos hace es que estar muy reciclados, estar muy al día de todas las tecnologías. Y vamos a presentar un vídeo también que se presentó recientemente en WordCamp Europe Atenas y para que vaya un poco todo lo que se pueda hacer a día de hoy. Viene a ser también un poquito ¿no? Y a mi lado está aquí Sacra, que es socia de CLOSE marketing. Sacra, si quieres, puedes presentarte un poquito. Sí, buenos días a todos. Yo soy Sacra, dentro de la agencia me dedico a la parte de dirección de proyectos. También estoy involucrada en la comunidad de WordPress porque somos fieles amantes de este gestor de contenido y bueno, como veis, pues nos hemos metido en muchos eventos y seguimos en charlas de esta comunidad. Nada, puedes continuar. Bueno, ya lo único aquí, nosotros tenemos una agencia, tenemos dos patas, la parte de CLOSE Marketing, que es la parte más de agencia tradicional, diseño web y página web, y la parte de CLOSE Technology, que estamos también en tecnología basada en WordPress, en tecnologías web para integración del sistema. Bueno, pues un poco esto es lo que nos dedicamos el día a día. ## Ventajas de WordPress ¿De qué se va a tratar Webinar? Pues ¿qué es WordPress?, ¿qué ventajas tiene? y sobre todo, para que podamos aprovecharla al máximo ¿Y cuando una agencia o un profesional nos facilita una página web? ¿Pues saber dónde podemos tocar? Plug-in que son módulos que le podamos añadir a la web, que vemos que sean imprescindibles o por lo menos tener valorado y ver qué significan y cómo se utilizan. Y una última aquí que tengo en mi compi, el tema de marketing que creo que son bases tips muy centrados en muy accionables, es decir, que se puede hacer directamente y poner en marcha día a día. ### La pregunta ¿qué es WordPress? Bueno, hay definiciones, sistema de gestión de contenido, hace tiempo, bueno, hay más que… Al final, en las páginas web la mejor forma de gestionarlo a través de un interfaz que sea fácil de usar y que una persona que no tiene conocimientos técnicos pueda cambiar, modificar y establecer contenidos para que nuestra página web de nuestra empresa sea más visible y pueda verse a más personas. Podemos captar clientes, podemos hacer ventas directas y en este proceso de digitalización que está haciendo Acelerapyme, con las ayudas digitales, pues evidentemente WordPress es un papel muy importante porque está ayudando a la empresa a que tengan su propio negocio comunicado y mostrado en internet. Entonces, se pueden digitalizar muchos procesos a través de las páginas web. Por ejemplo, una muy sencilla, nosotros usamos muchísimo, es la alta de cliente, que antes se hace, bueno, antes no, y a día de hoy se hace con un formulario, un papel, y que tienes que después practicarlo, meterlo en tu sistema de gestión. Eso se puede hacer hoy día ya con una página web y que esté conectado a tu sistema de gestión, ¿vale? Ahorra mucho trabajo administrativo que no tiene valor, que no crea valor en la empresa. Es decir, que al final con WordPress es un sistema de gestión de contenidos para hacer web, blogs, tiendas online, aplicaciones móviles también. WordPress puede servir de gestor de contenidos para que la aplicación móvil se conecte y coja por los precios de un producto si tiene una tienda online en la intranet. Nosotros **nuestra propia intranet**, evidentemente, está hecha en WordPress, pero la utilizamos para todo lo que es la base de conocimiento de nuestra empresa. La tenemos metida en una página web en la que nuestro equipo puede formarse y revisar protocolos de actuación de la propia empresa. A día de hoy podemos hacer cualquier cosa. ¿cómo es tan popular? Pues un 43% de las páginas web están hechas con WordPress, es una barbaridad. Hace muy pocos años estaban 10, 15 y ahora la mayoría. Luego sigue habiendo un porcentaje muy alto de páginas hechas en programación que es un poco el objetivo que hay que batir, es decir, que no sea nada todo programado y para cambiar un precio tengas que decidir a tu desarrollador, eso a día de hoy ya parece que en poco del siglo pasado, tiene que ser que tú puedas modificar como propio gestor de tu propia empresa para cambiar tu contenido, tus precios, tu historia que realmente coja una agencia, un profesional, para que puedan mejorarte la página en evoluciones y temas que a nosotros nos interesen. Sobre los gestores de contenido, el 64% es WordPress. Es decir, que dentro de los gestores de contenido, si ya tenemos gestores de contenido, ya es líder, todavía más, WordPress. Y estamos, vamos, ahí editamos 810 millones de páginas web WordPress y como veréis no sólo son páginas pequeñas para pymes pequeñas sino que también tenemos páginas muy grandes, la propia Casa Blanca. Se puede hacer un blog de fotos, se puede hacer un ERP que nosotros no recomendamos pero bueno, se puede hacer, es decir, que puede utilizar WordPress como propio ERP como propio CRM. Son herramientas de software que nosotros recomendamos hacerlas externas y que WordPress conectarla con ellas, pero bueno, en un momento dado para un sitio pequeñito, puede ser interesante. Puede ser una tienda online que es lo más habitual, o sea, una página web corporativa, y bueno, un poco lo que hemos hablado. ### Diferencias entre WordPress.org y WordPress.com Hay que diferenciar cuando contratamos a WordPress, que hay dos tipos de WordPress, Uno es el .org.com, no vamos a entrar al detalle porque no, tampoco… Pero sí que vosotros sapáis o distinguís que hay dos tipos de servicios. El .com, digamos que es el servicio alojado de WordPress en el que te da ya el alojamiento y todo. Podemos utilizarlo incluso de prueba y nosotros lo recomendamos para tipo personal que quiere tener su propia página y tal. Pues mira, muy rápido, funciona muy bien y tal. Ahora cuando das tu empresa, cuando ya tienes que tener tu propio negocio tienes que tener tu propia página, por supuesto siempre hacemos la parte open source, la de .org que se descarga y cuando tú contratas el alojamiento con una empresa, pues incluso puedes decir mira, instalame WordPress, esa es el .org. Al ser alojado.com pues tienes menos control y bueno aquí tenemos una serie de que lo dejamos aquí para que si queréis pausar el vídeo cuando lo tengáis reproducido pues veáis un poco toda la diferencia, pero básicamente eso es que WordPro.com te da el alojamiento y tiene más limitadas las funcionalidades y con .rege pues no hay ninguna limitación, el propio profesional o la agencia que te pueda llevar esa página puede hacer lo que realmente pueda técnicamente. Entonces lo recomendamos por eso para web, personales, muy iniciales o algún tema, esto por wordpress.com es una opción muy interesante y la puede usar sin problema y de hecho a nosotros algunas web que hemos tenido que mirar de wordpress.com es mucho mejor que las migremos desde wordpress.com porque está con la misma estructura hecha que venga de otro de un Wix por ejemplo que por supuesto no lo recomendamos o de cualquier otro servicio de páginas web, autoalojadas, siempre lo recomendamos WordPress. Bueno, pues ¿cuáles son las ventajas en sí de WordPress? Bueno, es código abierto, es un proyecto que todo el mundo ve el código con el que está hecho, lo cual es muy transparente. Hay una comunidad que nosotros somos partícipes en la que colaboramos en ese código para que sea sostenible el tiempo, de que vaya teniendo evoluciones. Ahora, por ejemplo, os presentaré un vídeo que se hizo en la WorldCamp Europe, en el evento de referencia de WordPress en Europa, en el que nosotros tuvimos, o nuestra agencia tuvo, y bueno, se presentan las nuevas novedades, claro, hay un equipo constantemente publicando. Entonces, para un empresario, qué es lo que le interesa que se ha acudido a ver? Pues que él simplemente, con actualizar su propres, se beneficia de esas actualizaciones. El código abierto quiere decir que es gratis, si efectivamente tú lo descargas no pagan ninguna licencia, pero el uso ya que tú lo hagas es propio que tú puedas tener. Es fácil de usar y mantener, ya os digo que cualquier empresa de alojamiento, nosotros también ofrecemos, pero tú le das botoncito y está la warpe y a partir de ahí puedes funcionar. Se puede perfectamente hacer las páginas web sin conocimiento de programación a día de hoy. Hay que saber un poquito de… Bueno, como todo, un profesional siempre lo hace mejor, pero si queremos hacer una página de información, pues podemos diseñar y montar las distintas páginas. Está muy orientada a SEO, siempre WordPress la diferencia muchísimo. Las propias URL que genera son muy buenas para Google, el SEO quiere decir Search Engine Automation, quiere decir que estamos más visibles en internet, SEO es eso, es que podés captar más clientes. Hace que es una comunidad muy nutrida, es muy interesante cuando hay un proyecto de código abierto en el que nosotros estamos involucrados, ya sea para cualquier tema de nuestra empresa. Siempre es muy importante ver qué comunidad hay detrás, porque si hay mucha gente detrás, quiere decir que el proyecto sigue vivo y que va a tener un futuro, que para eso siempre cuando apostamos nosotros por un proyecto en el que nosotros se nos va a ir nuestro negocio y sobre ello, pues tendremos que tener también un poco preocupación por dónde va a ir. Y continuamente estamos actualizando, hay unas dos personas mayores cada año, ahora en agosto saldrá la siguiente, la 6.3, y estamos utilizando la 6.2 que fue al principio del año, que es que continuamente se está actualizando y con muchas ventajas y muchas novedades. Hay que estar muy atentos siempre y actualizar siempre nuestro WordPress, eso sí es verdad que os lo recomendamos. Y bueno, escalaridad y posibilidades ahí limitadas. Y una cosa muy importante, que eso siempre os lo recomendaremos, es que la web es tuya, es 100% tuya. La página Facebook, la página de Instagram, la página de LinkedIn, no es tuya, el contenido ni siquiera es tuyo, lo has creado tú, pero no es tuyo. ¿Qué pasa? Si tiene algún problema con el tema de propiedad, no sé, o que te banean la página porque no sé, o no inviertes, te quitas la página y no… El servidor de Facebook, que es sobre todo mi sociaria que es la que tiene que ir a asumir con ellos. Es una locura, es imposible hablar con ellos, siempre tienes problemas y bueno, al final te das cuenta que tu negocio depende de una cuanta empresa que pueden decidir que por lo que sea, por cualquier motivo, no quieren que tengas tu página y has perdido todo en tu negocio. Entonces siempre nosotros recomendamos que siempre mande a la gente a tu página web. Evidentemente a partir de redes sociales se puede vender, el propio WhatsApp ya tiene un subcatálogo de productos, pero siempre recomendamos que mandéis siempre a los clientes a la página web, porque ahí es vuestra propiedad, siempre no vais a tener ningún problema. Os quiero presentar un vídeo muy interesante de que estuvimos en el evento europeo, hubo unos 3.000 personas, el congreso con diferencia más importante de WordPress y bueno pues al fin de son profesionales de todo diseño marketing y tal que no vamos allí para reciclarnos para establecer relaciones y ver un poco todo. Entonces se nos presentó este vídeo de todo lo que viene a partir de ahora en WordPress, todo lo que se puede hacer con él. Quería presentarlo con ellos porque fue bastante impresionante. Os veréis al principio que está Matías Ventura, uno de los principales para los contribuidores de Guttemeyer, editor de… y vamos a presentar un poco. Todo bien. -Puedo chocarlotarme, pero hay pagar de nativo a de guapo. Bueno, visteis los aplausos, hubo mucho… Uy, ahí. Hubo… Bueno, gusto muchísimo y veis todo lo que se puede hacer, diseño, o sea, digamos que Ya no entramos en temas técnicos, ya es más la creatividad la que entra por fin a hacer posible una página web más bonita, más impresionante y que al final al empresario lo que tiene que interesarle es que le podamos impresionar más al cliente y podamos castar su atención para que, bueno, al final vea nuestra empresa, vea nuestros productos y bueno, pues intenten, nos compren, ¿no? Vamos a ver un poquito, vamos a meter en el chapuzón y vamos a ver un poco WordPress por dentro. Muy sencillo, esto no es nada técnico, pero simplemente para que podáis ver cómo se entra en WordPress. Esta es la vista que se ve a la entrada en WordPress. Por defecto, todas las web con tu dominio /wp-admin es cómo puedes centrar tu propio WordPress con un usuario de contraseña. siempre pedís que os den acceso si os lo han montado alguien, que os den acceso administrador, para que podáis ver todo lo que se puede hacer con vuestra web. Aquí veis un poco una barra izquierda del administrador, donde se pueden ver todas las opciones que se han configurado, y el escritorio viene a hacer un resumen de cómo está la web. Y lo importante, aquí vamos a entrar a varios conceptos que sí son muy importantes para verlos con vosotros, que es cómo está estructurado el contenido para después ponerlo en nuestras páginas web. Actualmente hay varios tipos de contenidos que podemos utilizar en un gesto de contenido en general, aquí no nos vamos de vuelta. Están las páginas, las páginas son páginas estáticas, por ejemplo, la página de contacto, la página de inicio, la página de servicios, la de presentación, todas esas son páginas estáticas que no cambian y que presentan una información que bueno ahí vamos presentando ah bueno aquí están saludando así si ahora ahora contamos nuestra idea bueno las páginas permiten eso una forma estática y jerárquica podemos meter una página y luego una sub página de ella. Y las entradas son las entradas típicas de EBLOX que van por quien entra. Normalmente se suele mostrar la última que se ha creado, la última que se ve. Y TASO no mide así, vamos y viendo. Aquí estamos viendo las páginas, tenemos siempre esto está fijo, siempre en WordPress, WordPress página y entrada y aquí y vas viendo un poco cómo funciona. Entonces, efectivamente, aquí tenemos las páginas, sus páginas. ¿Qué características tienen las páginas? Son estáticas, no van a cambiar, no hay nadie que vaya adelante, sino que esa página se muestre y ya está. Se los dice también mucho para landing de publicidad y permiten hacer por plantillas, diseño, etc. Aquí hemos hecho un ejemplo de una fontanería, por ejemplo, si tuvieras una fontanería ¿cómo lo clasificaríamos? Y por las páginas serían las páginas de nosotros, que tienen una subpagina que contaste nuestro trabajo. Y los servicios serían unas páginas, que serían sus páginas cada una, que van haciendo una distinta jerarquía para mostrar finalmente el contenido. Y el blog son entradas, la parte de entrada en el que vamos haciendo entrada del blog y van apareciendo las más habituales. Luego las podemos clasificar de diferentes formas que hay un poco como vamos a entrar. Aquí vemos las páginas, son contenidos estáticos y se pueden aumentar de otra. Uy, te he dado tu página. Vale, eh, te hemos ido, perdón, aquí, presentación. Eh, está bien, ¿no? Eh, vale, y entonces, luego la entrada, tenemos lo que es la parte de, por lo que decía, son entradas que vamos creando y la última suele ser la que más se suele ver, ¿no? podemos utilizar las clasificaciones dinámicas por categoría o por etiqueta. Es decir, que podemos clasificar, por ejemplo, cuando nosotros hacemos un blog, pues hacemos una estructura de categoría, pues dentro de esta fontanería que estábamos hablando, pues por ejemplo, pues soluciones fáciles, puede ser una categoría, problemas más habituales, puede ser otra categoría, ya depende un poco del contenido del cliente, ¿vale? No hemos hecho ninguna web de fontanería, ya os lo aviso, pero es un poco la que hemos dicho de ejemplo porque nunca la hemos usado y puede servir de ejemplo. Al final, lo bueno de las categorías es que tú puedes clasificar contenidos y cuando entras a las categorías luego se estructuran todas esas entradas para mostrar las entradas que nosotros clasificamos dentro de lo que es la propia categoría. y veis un poco cómo se mostraría, las distintas noticias, tienen una fecha y admiten categorías y etiquetas. Veis un poco la diferencia, ¿no? Páginas, temas muy estáticos, que es también muy importante dentro de las páginas, tener contenido estático, y la parte dinámica siempre funciona muy bien para el tema de Google, de SEO, ¿por qué? Porque es un contenido fresco y eso a los abogadores les gusta mucho, entonces tenéis continuamente actualizado el contenido, muy interesante también de punto de vista de SEO. Y estas son las primeras por lo que habíamos visto, una forma de clasificar y ver. ¿Cómo hacemos nuestras páginas? Pues las hacemos con el propio editor nativo de WordPress, que como veis es un lenzón blanco y que utiliza bloques, con el más este que veis aquí arriba, utiliza bloques y tú puedes instalar plugins que tengan bloques. Para nosotros, con diferencia, es la mejor forma de hacer páginas web, el editor nativo de WordPress. ¿Por qué? Porque es muy rápido, las páginas van mucho más rápidas, la web, que nosotros hemos heredado web, hechas con constructoras de páginas como Elementor, Divi, nosotros siempre lo migramos al editor nativo porque son, de hecho, en algunas páginas, a lo mejor, la base de datos, que es donde se guarda todo el contenido, ha bajado la mitad, teniendo el mismo contenido pero hecha como editor nativo. O sea, nosotros siempre recomendamos el editor nativo, va incluido ya en el propio WordPress y lo único en la curva de aprendizaje, decidí aprender cómo funciona, es la misma que hubiera sido otro constructor. Entonces realmente, es verdad que se está metiendo mucho constructor, nosotros no estábamos de acuerdo con eso por los motivos que hemos dicho. y como veis es un lienzo en blanco que tú puedes hacer bloques, los bloques son unidades de diseño que puedes hacer de todo, lo habéis visto en el vídeo de la presentación, se puede hacer por imágenes, contenedores grandes y una imagen… ah vale, tengo que pasar ya… Ah vale, sí, sí, se me había olvidado que teníamos que explicar. En la unidad, como veis, la parte del lienzo blanco tenemos un contenedor de bloques y cada bloque puede ser un párrafo de un bloque. Entonces tenemos distintas opciones y es muy rápido, o sea, tú le das al editor y sigues modificando y cambiando. Lo bueno es que tenemos también patrones, patrones son diseños ya prediseñados en el que por ejemplo hay uno muy típico que es un fondo blanco, un fondo de color y una imagen a la izquierda, a la derecha un título y una descripción. Por eso ya hay patrones hechos y lo que nosotros si manejamos ese contenido le damos a añadir patron y directamente cambiamos contenido, cambiamos la foto y ya tenemos el diseño y el pre-hecho. Entonces hay muchos patrones, se pueden incluso instalar patrones más. Entonces, pues bueno, funciona muy bien. Nosotros, ya digo, todas nuestras páginas 100% están hechas así y no nos crea más tiempo de trabajo y bueno, tenemos… Y tampoco no hay programadores. Nosotros, porque muchas veces también se dice, «No, claro, con editores nativos de WordPress necesitan más programadores». No, nosotros tenemos un equipo de diseñadores que diseñan y maquetan directamente con editores nativos de WordPress. Yo creo que muchas agencias no le han dado la oportunidad suficiente. Y bueno, si veis este vídeo os lo recomiendo, que lo veáis, que es muy sencillo y además ha sacado una forma nueva de maquetar, muy, muy sencilla. Al final no necesita conocimiento técnico, sino conocer un poquito la herramienta al final. Entonces, pues bueno, si vosotros sois empresa y encargáis una página web, decirles que la van con el editor de Native Word porque os vais a asegurar que vuestra página se cargue muy rápido y eso es a día de hoy uno de los factores más importantes para posicionar una web. Si una web va muy lenta olvidarás de Google porque no nos va a posicionar. Y bueno, queremos hacer un par de tips para cosas que deberíamos tener instaladas en el propio Word, pero el Word es un gestor de contenido pero dentro podemos meterle pequeños modulito, la tienda aline un plugin, se llama plugins y que es gratuito de hecho, hay módulos de pago pero bueno nosotros hacemos una combinación normalmente con plugins gratuitos, con plugins de pago, nos gusta pagarlos ¿por qué? porque tenemos un soporte, si tenemos algún problema podemos escribirle al autor y mantenemos esa herramienta que se evita cualquier origen de plugin que no sea el que sea, que sea el suyo, el origen y que va a mejorar siempre la forma de instalar. Los gratuitos directamente ya podemos hacerlo aquí en plugin y tenéis un pequeño buscador y buscáis plugin. Los que vamos a decir muchos son gratuitos, la mayoría, y los podéis instalar desde día 0. Bueno, WordPress.com si utilizáis vuestra forma de trabajar con por eso decíamos una página personal está más limitado la plugin pero podemos instalar también plugin pues bueno muy rápidamente tampoco queremos liarnos mucho a entrar detalle pero si es verdad que en distintas categorías de los plugins pues analizamos un poquito de SEO para tener más visibilidad la analítica viene a ser un poco para conocer cuánta gente nos visita la página y de qué forma plan de seguridad, formulario, etcétera, un poco de todo. En tema de SEO analítica, os recomendamos Joas, ok? FranMath también está muy bien y bueno, uno de ellos lo que hace, no quiere decir que con eso ya tu página sea más visible, sino que te va a dar la herramienta para poder ser visible. Luego ya tendrás que hacer tu estrategia de SEO y bueno, evidentemente si te te hace parte y va tu empresa muy bien y vas cogiendo cada vez más empuje para poder contratar a un SEO o una agencia que haga SEO. Y entonces, para que se haga SEO en la página, necesitas cambiar partes de la página, el título, la descripción SEO, los enlaces, una serie de cosas que estas herramientas te ayudan. Y para la analítica, para saber un poco, hay varios plugins, nosotros lo que mandamos es terryside, otros también tan manager, ya depende un poco. Esto no quiere decir que vosotros, bueno, podéis instalarlo, pero que también podéis pedirlo para que decir «oye, mira, yo quiero tener estadísticas de mi página, ¿cuál es que pasa? ¿cuánta gente entra? ¿por dónde entra? Entran por los buscadores, entran por la publicidad que yo tengo, es muy importante saber un poco y qué nivel, y también las cosas que realiza nuestra creencia poder evaluarlas. Temas de seguridad, es interesante tener un plugin, nosotros lo utilizamos en el servidor, el servidor propio tiene una política de seguridad que nos gusta mucho y por eso no solemos meter, pero sí recomendamos, si no tenéis eso, meter plugins de seguridad como por ejemplo, que lo que hace es que revisa tu instalación para que no haya habido ningún ataque o interno, que te haya metido archivos, digamos, ilegítimos y que sean virus, etcétera. Entonces, pues bueno, te lo detectas y te avisas, para que tu página no sea también un origen de contenido ilícito, etcétera. y WordPress también va muy bien. Akinmed es un plugin para, digamos, hay bots, bueno en internet que voy a contar, hay de todo, pero hay bots que van a todas las páginas, rellenan formularios que tengamos en nuestra página y empiezan a mandar spam. Y si no te has activado, por ejemplo, a Kinect, es una locura. Te pueden llegar, si tu página Pog es un poquito visible, te pueden llegar 100 o 200 entradas de formulario al día. Entonces, lo que hace Kinect es ver si es SPAN o no esos propios rellenos de formulario y te lo guardas como SPAN y puedes revisarlo. Es como el correo un poco. Y siempre, bueno, Really Simple, ahora daré una recomendación, que siempre todas, bueno, hace cinco años nosotros tenemos que mirar todas las páginas HTTPS, páginas seguras. Hoy día es muy raro encontrarlo, pero no hemos encontrado páginas que no tienen HTTPS, entonces siempre, siempre en nuestras páginas. A ver, no tengo entendida cada vez, pero… Sí, David, has leído la pregunta, ¿no? Sí, aquí dice, tengo entendido que actualizar WordPress, los plugins, limita el funcionamiento de la página. A ver, Creo que es por el inventor, creo que hacía algo que si no tenía licencia te limitaba el funcionamiento. A ver, eso es una mala práctica, eso está prohibido por WordPress. Si tú mandas el planning y es gratuito por WordPress, si eso pasa lo puedes denunciar, no puede haber… eso es una mala práctica, digamos, en definitiva. Pero como estamos en internet todo el mundo puede hacer lo que quiera, pero si está auditado por WordPress en el propio repositorio, está prohibido. ¿Alguna recomendación? Pues cambia de plugin. Eso es una mala práctica. Denuncia al autor, decirle «Oye, mira, esto no se puede hacer». Y lo que los plugins como se financian es con actualizaciones. Es decir, que tú pagas una cuota mensual o anual y te aseguras de que ese plugin esté actualizado. Y eso es muy importante, tener todo actualizado para que no tengas problemas de seguridad, para tener unos evolutivos, etcétera. Entonces, eso nunca pasa y si pasa en pocas excepciones, escucha alguna excepción, pues se le denuncia al autor y cambia. Es una mala práctica, eso no se puede hacer. Bien, bueno, aquí tenemos la gestión de formularios que es súper importante. Las páginas corporativas es muy importante. Hay varias, hay uno que se utiliza mucho que es Contact Form, que es gratuito. Una cosa que tiene constaforn es que no se guarda en base de datos, entonces si por lo que sea no recibes correo, estás perdiendo contactos. Nosotros solemos recomendar un NinjaForn que está gratuito y se guarda en base de datos, o un GravityForn que más nos gusta que nosotros utilizamos para todos nuestros clientes. Y funciona muy bien porque guarda todo en base de datos, figuras con campos condicionales, es decir que tú rellenas un campo, por ejemplo, en una academia que hicimos de inglés, de algo así porque está mi compañera al lado, en una academia inglés que hicimos pues hacemos un registro de alta de asociado y pedíamos si era mayor de edad, si era mayor de edad pues no se le pedía una serie de datos y si no era menor de edad pues tenía que rellenar los datos del autor, o sea, del tutor o padre, madre, etcétera. Entonces eso por ejemplo con un formulario que te da condicionales es muy fácil, y se pueden hacer cosas muy avanzadas. ¿Qué? Perdón. Los pagos también, efectivamente eso, si justo aquí tengo mi social para preguntarme, se pueden hacer pagos con formularios. Hay veces que se da la circunstancia de que no hace falta crear una tienda de la I.C. y lo único que queremos es captar un formulario y que cobraran dinero. Entonces no hace falta el carrito, ni el final de la compra, ni rellenar. Gravity Form también te permite vender a través de internet con un formulario en el que tú le digas «Oye, pues hecho». Eso lo motiva mucho también en academia, en el que a registrarse pueden darle a pagar y le apaga un precio e incluso el condicional. Quieres pagar la matrícula o no quieres pagar la matrícula, etcétera. Hay mucha cosa. Luego de optimización, pues bueno, es importante que tengamos también en cuenta la optimización. Las cachés, es decir, una caché. El WordPress dinámico, es decir, cada vez que tú necesitas una página se genera dinámicamente todo el contenido web, las cacheles lo que vienen a hacer es generar una parte estática para que no haga esos cálculos y directamente te muestre, entonces mucho más rápido, al usuario final le llega esa parte estática, entonces pueden navegar muy rápido, entonces si tú haces las páginas web bien, con un editor nativo, y aparte le metes las cacheles, vuelan, literalmente. Bueno, aquí hay más cositas de cómo compartir redes sociales, como vamos a dejar también el enlace de la presentación, pues directamente le echamos un vistacillo y hacer backup, muy importante hacer backup, ¿vale? No hemos encontrado sorpresa de gente que no hacía backup y al final ha tenido problemas, hacer backup, pedidlo a vuestra a vuestra agencia, a vuestro profesional o vuestro hosting, hay un plugin para hacer backup, el propio WordPress, nosotros recomendamos hacerlo en el propio servidor porque tiene más recursos y y se puede hacer por la noche, entonces no afecta el rendimiento de la página. Entonces pedirle y revisarlo. O sea, no solo las vacas siempre lo echan uno de menos hasta que le hacen falta. No sé si conociste el caso de un centro de datos muy conocido en Holanda, OVH, que se extendió todo el centro de datos y se perdió. hubo negocios que perdieron enteramente todo, pues no tenían backup, no tenían backup. Y fijaros cerrar un negocio porque no has guardado tu backup, eso es que es muy muy duro. Y ha pasado, salieron noticias, salieron todos los sitios y bueno pues, hay que tener nuestro backup. Constructores, bueno aquí teníamos algunos, nosotros evidentemente el que recomendamos es Gutenberg, que tiene un plugin aparte, pero con el propio editor nativo de WordPress no hace falta instalar nada, o sea que nosotros esto, lo hemos puesto un poco como reseña, pero no hace falta instalar nada. El propio WordPress ya tiene un constructor, o sea que no instalar el WordPress y que tenga habilitado el editor nativo. Y para tiendas online, pues Google Commerce. Hay más tiendas online, está el lice de digital download, está también BigCommerce, hay unos cuantos. pero a día de hoy a diferencia el líder con la diferencia de Google Commerce, y se puede hacer web muy pequeña y web muy grande, pero bastante grande, entonces tranquilo porque utilizando Google Commerce vais a tener también lo bueno de utilizar Google Commerce que tiene muchísimas extensiones, por lo cual por ejemplo nosotros recientemente hemos migrado un cliente que tenía hecho medida, no hemos pasado a Google Commerce, entonces para todo tiene que encargar un desarrollo, para por ejemplo poner una pasarela con Resy, que es la pasarela habitual de los bancos, pues tiene que encargarlo, si quieres hablar con pasarelas de envío pues tienes que también desarrollarlo, en cambio Google Commerce son pequeñas estaciones que pagan, que con diferencias no valen lo que valen desarrollo y puedes tener funcionalidad que al final el empresario lo que necesita es empezaba a funcionar. Y bueno, puedes funcionar día 0 o 1 y ya tienes. Por ejemplo, el otro día vimos que tenía GLS, tenía un plugin que ofrecía el servicio de conectarse a la pasarela de enví. Entonces ya cuando vende un producto se manda directamente a ello, la etiqueta se imprime y te automatiza muchos procesos. Entonces con Google Comer, TNI, lo que queráis. ¿Cuándo utilizar Google Comer y cuándo ya pasar a PrestaShop o similar? Yo recomiendo siempre tener Google Comer. De hecho nosotros migramos páginas, bueno, viene una prestación del cual hay PrestaShop en unos días. yo evidentemente, bueno, ante todo primero recomiendo un proyecto open source, un proyecto open source porque eres libre en el sentido de que puedes usar tu desarrollo, puedes encontrar desarrollar, eso lo recomiendo y a partir de ahí dentro de los proyectos libres que prestación también es open source, recomiendo WooCommerce y WooCommerce va muy muy bien, para pequeñas, grandes etcétera. Nosotros migramos a grandes tiendas de Prestachow, lo hemos pasado a Google Commerce. Es verdad que a Prestachow le ha gustado mucho más a los programadores que vienen de parte de software porque digamos que lo hackean por dentro en la base de datos más fácilmente, que eso no es recomendado pero lo hacen así y siempre ha sido muy popular el tema de los programadores de informático digamos de toda la vida. Para los que no hemos dedicado a web siempre pues nosotros hemos utilizado WooHomer y de hecho nosotros migramos. PrestaChop ha bajado un poquito el porcentaje de esto y una de las quejas que tenemos de PrestaChop es que no puede hacer blog. Para hacer un blog, que es una parte muy importante de las páginas para darle contenido, pues tienes que meter una mezcla entre WordPress y PrestaChop y no lo recomendamos. Y otra parte también es el editor. El editor que tiene WordPress con Gutenberg es una maravilla de bloque, en cambio para esta shop seguimos teniendo el editor este antiguo con… a tu pregunta, siempre utilizas WordPress. Y Google Camera. Dentro de lo que hay en la instalación de WordPress, vuestra empresa o profesional, o vosotros si estáis haciéndolo vosotros mismos, podéis estar a la plantilla. Las propias que vienen ya están muy bien. Está el 20.23 ahora mismo y te permite hacer todo. hacer todo. Entonces, el tema lo que hace es que te elabora la estructura del diseño para que te va a gustar. A día de hoy no hace falta, ha perdido cada más importante los temas, las plantillas, porque ya con la de 20.23, por ejemplo, puedes hacerle todo. O sea, puedes cambiar la estructura a todo. No es un lienzón blanco porque te da una estructura predefinida, pero a partir de ahí puedes trabajarlo y puedes hacer de todo. Nosotros recomendamos eso, utilizar los propios nativos de WordPress y si utilizas alguna, pues alguna que sea muy liviana, que sea muy fácil, que no sea multipropósito, que hacen de todo, hacen tienda online, hacen no sé qué. Nosotros recomendamos siempre utilizar una que sea sencilla. Astra por ejemplo, aquí están comentando, Astra nos gusta, nos gusta mucho, es muy sencilla y puede muy rápida, nosotros también trabajamos con Generic Prep, también que es muy sencillo también, pero el propio WordPress tiene el 20-23, son proyectos que son premium, es decir, tú pagas una parte, o sea, es gratuito, tú puedes usarla desde día cero y probar con ella y tiene una parte premium que te da más posibilidades, más funcionalidad, entonces los profesionales normalmente cogemos esta parte profesional porque nos ahorra mucho tiempo y como saber tiempo de dinero y bueno a la pregunta si hasta me gusta mucho también. ¿Y cuáles son nuestras recomendaciones? Pues eso, que sean. He hablado un poquito resumiendo ya un poco como conclusión porque sean dentro del propio repositor del WordPress porque eso está evaluado, si tú vas veíamos en el menú que teníamos plan en el tema tú le das añadir y y puedes buscar ese tema. Si está ahí dentro tiene una parte de limpieza, el código es mucho más limpio, tiene unos estándares que tienes que cumplir y te asegura que eso no te vaya a dar dolor a veces en un futuro. Para nada os recomendamos temas multipropósitos, aquí por ejemplo, bueno, ha hecho muy popular, pero Avada por ejemplo, si no sé si os sonará, Avada tiene su propio constructor, es un tema grandísimo, ocupado muchísimo, va muy lento y para nada eso no lo recomendamos. Un tema sencillo, muy limpio y que a partir de ahí podamos hacer otro. No es que no tenga constructores propios, que ya propio Word también usa esto, porque no es lo mismo un proyecto de Open Source que, pues, siento, literalmente siento que las personas están colaborando con ese proyecto a un proyecto de una empresa que a lo mejor como muchos tendrás 10 o 20 desarrolladores, no tiene nada que ver con un proyecto OpenShop. Entonces, al final, cuando lo digo en general como filosofía, si tú te alineas con la parte nativa o con lo que hace el OpenShop, siempre se va a afianzar en el tiempo y en el futuro, porque vas a estar consolidado por muchos profesionales. Si utilizas una empresa, esa empresa estará en el momento, luego desaparecerá o luego estará o no estará. entonces toda tu página hecha con esa empresa y ahora cierra pues no puede, tienes que hacer una nueva. Pásale, te recomendamos pásale Google PageSpeed, de cada plantilla por ejemplo, de la página de demo y mira a ver si con la misma propia demo ya está dando buenos datos, si da malos datos ya te está dando un simil de que no tienes que instalarla. Y mira los comentarios, cuántas estrellas tienen como los restaurantes. Y aquí voy a pasar el relevo a mi compi, Takra, que va a hablar un poquito de marketing. Una vez que tenemos el WordPress bien hecho y funcionando, ¿qué debemos hacer para mejorar su visita? Bueno, de nuevo, yo me voy a meter de lleno en recomendaciones de marketing, sobre todo basadas en el posicionamiento SEO de nuestra página web. Son 10 recomendaciones, que os voy a ir detallando un poquito por encima. Cualquier duda, pues como estáis haciendo, nos vais parando y sin problema vamos respondiendo. ¿Vas pasando? Vale, gracias David. El primero, que no hemos hablado de ello, muchas veces lo pasamos por alto y contratamos un alojamiento porque nos dan un descuento o porque es más económico y no nos fijamos realmente en que es primordial tener un buen alojamiento bien preparado para WordPress que nos garantice esa seguridad y esos recursos que nuestra página web va a necesitar. Cada página web es un mundo, unas van a necesitar más recursos, otras menos, pues depende un poco del contenido, de la funcionalidad que le vayamos a meter. Pero sí que es importantísimo que sepamos un poquito, que tengamos acceso a esa empresa que nos está provyendo desde Hotchill, para que pueda resolver posibles dudas. Imaginaros que el alojamiento, bueno, para definir un poquito lo que es, igual que en tu ordenador tenemos las carpetas donde guardamos archivos, fotos y demás, nuestra página web necesita también una carpeta, un espacio donde guardar todos los archivos, contenidos, código que competen. Y es imprescindible poder tener acceso a ese espacio. Entonces, elegir bien el alojamiento, además nos va a permitir que nuestra página web la podamos tener optimizada y el rendimiento sea adecuado. Que eso– Pregunta por una recomendación. Eso, bueno, hay un montón de proveedores de alojamiento. Siempre, pues como digo, si tú estás en WordPress, pues que veas que esté especializado ese alojamiento también en WordPress, que tiene soporte y, bueno, pues, proveedores hay muchísimo. Nosotros ofrecemos alojamientos en Close, está Siteground es muy conocido, Lucasco, Hostinger, exacto. Ahí estoy poniendo todavía algunos ejemplos. Aquí lo principal es que tenga acceso a su corte, que tenga acceso a tu panel de administración del alojamiento. Y, bueno, pues que si vas a utilizar WordPress, porque estoy especializada en WordPress también, ¿vale? Porque eso significa que ese hosting también está metido en comunidad y sabe cómo funciona WordPress y va a estar siempre detrás de esas mejoras y de las actualizaciones. La segunda recomendación es que siempre siempre tu web tenga un certificado SSL. Ya lo he comentado antes David, parece que esto es cosa del pasado, pero a día de hoy seguimos encontrándonos páginas web que no son HTTPS y esto pues está penalizado por Google y por el usuario directamente, porque si tú entras en una página que no tiene HTTPS, por defecto tu navegador te va a mostrar que esa página no es segura, entonces estás teniendo una página web que ya de primeras va a tener un filtro del propio navegador de cara al usuario que tiene que aceptar, que va a entrar en una página que no es segura. Entonces, esto obviamente, si quieres posicionar y si quieres que tu página sea accesible y usable por tus clientes potenciales que están en internet, tiene que tener SSL. La tercera recomendación es que optimicemos la velocidad de nuestra web. Hay muchísimas recomendaciones, por no extendernos porque podríamos hacer un webinar solo de cómo optimizar la velocidad de nuestro sitio web y el rendimiento, pues recomiendo que utilicéis GTmetrix, que es una herramienta que te mide el rendimiento y te da varios indicadores. Y además, una vez que analizas tu página web, te va a dar muchas recomendaciones de optimización de imágenes, de optimización de código, de mejora de estructura de tu página web. Entonces, ya solo con esta herramienta, va a tener muchas soluciones a posibles problemas de rendimiento en tu sitio. Google Search Console es una herramienta gratuita de Google que yo creo que si te han ahí una página web ya la conocéis, Pero, bueno, lo que nos va a permitir es medir cómo está funcionando nuestra página en Internet. Nos va a decir la posición promedio que tenemos en las SERPs, que son los resultados de búsqueda de Google. Aquí me centro en Google, aunque sí está bien y llante, pero todos sabemos que en España el principal buscador es Google, el más usado. Y, bueno, Google Search Console nos va a permitir saber de nuestras páginas en nuestro sitio web, en qué posición promedio se encuentra, dependiendo de las búsquedas, qué búsqueda realiza el usuario y a través de qué búsqueda está entrando en tu página web. Y te da también los valores de las core web vital, que son los indicadores que te mostraba el GTmetrix y también te da información sobre la indexación de tus páginas. Una vez que tú creas un sitio web, se crea una serie de archivos que son todas tus páginas, con una URL que Google tiene que rastrear, que identificar, que guardar en su biblioteca. Y en esa indexación, en esa búsqueda de los robots, pues te va diciendo si hay allí alguna página que, dentro de tu sitio web, que no se está indexando. Entonces, es muy importante porque, al final, si no se indexan, no se van a mostrar los resultados de búsqueda. Entonces, es muy importante que tengamos claro y que podamos comprobar qué páginas se están mostrando y cuáles de nuestros sitios web. Imaginaros que nos estuviera mostrando una categoría de una tienda online o nos estuviera mostrando un producto concreto o alguna página que para vosotros dentro de vuestro negocio es muy importante. Entonces, eso estaríamos perdiendo posibilidades de venta y reduciría nuestras posibilidades de cara a los clientes. Otra de las recomendaciones, Google Projects lo tiene muy bien estipulado, pero sí que es verdad que de cara a la creación de URL por defecto, si no las tenemos bien configuradas por defecto, cuando creamos una página nueva, una entrada nueva, te va a venir un código de, como he puesto ahí de ejemplo, el P=123, que es el número de la página. Entonces, hecho para que no pase, porque de cara a aseo y a posicionamiento es fundamental que la URL de nuestro sitio sea legible, sea comprensible y a poder ser que tenga la nuestra keyword objetivo de cada una de las páginas dentro de la URL, pues es muy importante que nos vayamos a ajustes del sitio, a enlaces permanentes y nuestra recomendación sería poner una estructura de ejemplo.com, que sería midominio, mi sitio.com/category/postname, porque lo que hace es hacer una estructura de… y unas indicaciones de por dónde va pasando el usuario o dónde está situada esta página en concreto. En este ejemplo podría ser la categoría de producto y el nombre de producto. Podría ser la categoría de una entrada de blog y el nombre de la entrada de blog. Entonces siempre estarían clasificados y bien ordenados en nuestra URL. ¿Vale? Dependiendo de nuestra estrategia, en muchas ocasiones, pues se quita el category, se pone solo el post name. ¿Vale? Esto suele ser, pues ya depende un poco de lo que el especialista en SEO o la persona que se dedica a contenido dentro de vuestra empresa, pues decida. ¿Vale? A la hora de– Porque esto, primero hay que configurar que los enlaces permanentes por defecto vengan correctamente. Y luego, estas son una serie de recomendaciones para que cuando creemos la URL de cada una de nuestras páginas, pues nos ayude a ese posicionamiento SEO. Es muy importante que ya que te dedica a crear entrada de blog o a trabajar bien el contenido de una página, que podamos hacer todo lo que esté en nuestras manos para mejorar ese posicionamiento. Entonces, dentro de WordPress tenemos la posibilidad de en cada una de las páginas, entradas, categorías, de lo que creemos, de cambiar ese Slug. Sí que es recomendable tenerlo claro desde el principio, aunque luego puedes cambiarlo y puedes mejorarlo, pero ya requiere de redirecciones. Porque ten en cuenta que cuando creamos una página, directamente al darle a publicar y mandar a Google a indexar, Google ya lo va a rastrear, lo va a recuperar y lo va a guardar. Si luego cambiamos ese loop, si ya lo tienen desagrued, lo tienen almacenada esa información, esa va a seguir apareciendo y si nos decimos que ese enlace ha cambiado, te va a dar un error. Entonces, si lo tenemos claro desde el principio, fenomenal. Si lo trabajamos posterior, tenemos que hacer redirección. Aquí la recomendación es que si es posible que incluya la palabra clave objetivo de esa página, entrada, categoría, o lo que estemos creando, que sea corto y simple, que no haya espacios en blanco, porque los espacios en blanco lo sustituye por caracteres. Entonces, si hay un espacio entre una palabra y otra dentro de la URL que estamos poniendo, pues que se pongan un guión medio, nunca bajo, y que utilicemos solo letras minúsculas y números, pero los números solo en el caso en que aporten valor, si ponemos, por ejemplo, como estamos dando ahora 10 consejos de SEO en WordPress, pues vale que le meta el número 10, porque sí que aporta valor y entra dentro de la keyword objetivo que yo tendría en esta entrada de blog. Aquí pone lo de evita números y caracteres especiales porque al final entorpecen, pero sí que es verdad que los números sí se pueden utilizar siempre y cuando, como digo, aporten valor y si están dentro de la keyword, pues con más razón, ¿vale? A la hora de optimizar también el contenido de nuestra página web, hay que tener en cuenta que hay dos informaciones que tenemos que darle a cada una de las páginas de nuestro sitio web que son imprescindibles, ¿vale? Porque como pongo ahí en el ejemplo, ese se llama– bueno, son el título y la meta descripción, que serían como el título de la página que te va a mostrar Google en los resultados de búsqueda y el resumen, ¿vale? De qué es lo que se va a encontrar el usuario cuando entré en esa página. Esos son, pues, ahí en el ejemplo de Marisco O’Polo, pues, sería un título que sea conciso, que sea claro, que indique concretamente qué es lo que se van a encontrar, dónde van a entrar. Y una meta descripción, que sea un resumen de qué se van a encontrar dentro, ¿vale? Tienen que ser únicos, no se deben repetir ni el título ni la meta descripción en todo nuestro sitio, ¿vale? Y a ser posible siempre deben llevar el keyword objetivo, ¿vale? Porque eso nos va a posicionar mejor. Y al final, pues tiene como un objetivo, un foco en el que va a dirigir cada una de las páginas. Si utilizamos un plugin de SEO, como hemos hablado, pues viene un espacio dentro de cada una de las páginas que estemos editando de editarlo a Snippet. Se llama, pone a editar Snippet. Si entras lo que te sale, pues serían estas opciones. Pues aquí tenemos para modificar el título, el enlace permanente y la descripción. Vale, que son tres valores fundamentales de cara a optimizar cada una de nuestras páginas de nuestro sitio. Todo nuestro contenido dentro de nuestro sitio web tiene que ser original y propio. Vale, no vale copiar. En internet todo se sabe y es fundamental que todo lo que creemos en nuestro la Regina web sea original. Que tengan cada una de nuestras páginas un objetivo claro, que no se repitan para no competir entre nuestras propias páginas, que sea fácil de comprender, que venga bien estructurado para que de una primera vista ya sabemos que cada vez leemos menos. Entonces, en una primera vista es muy importante que el usuario tenga claro qué es lo que se va a encontrar en ese contenido y que se pueda parar en las partes que más le llame la atención o que necesite resolver. Vamos muy rápido, tardamos segundos en cada una de las páginas y vamos a buscar respuestas muy rápidas. Entonces, cuanto más fácil se lo pongamos al usuario, pues más posibilidades tenemos de que lo que esté buscando se lo estemos ofreciendo, lo encuentre y nos contache. Al final, nuestra página web es un comercial más que tenemos ahí en la calle que lo que busca es resolver la duda del usuario y vender. La keyword objetivo. Antiguamente siempre era una palabra clave que se tenía que repetir como 30 veces en la misma página, ya se entiende la semántica, ya se puede sustituir por sinónimo, por palabras similares, por entidades que son palabras que suelen ir acompañadas a esa palabra clave. Entonces, no hace falta repetir la misma palabra 30 veces dentro de nuestro sitio, de nuestra página, sino que podemos integrarla con sinónimos hay palabras que complementen mal. Integrarla bien, que se comprendan y que pongamos en contexto bien a nuestro usuario. Y como decía, al final que esté bien estructurado nuestro contenido nos va a permitir que el usuario identifique pronto y contacte rápido. Aquí dejamos un par de recomendaciones de editores y extensiones que nos ayudan a tener mejor editado nuestro contenido a que no haga una revisión de la gramática y la ortografía, porque vamos corriendo muchas veces a la hora de escribir y nos saltamos cosas que luego pueden chirriar un poco. Entonces sí que es muy importante también que ya que hay herramientas que la usemos y que la utilicemos. Google siempre se ha basado por enlace, siempre la existencia de las páginas web o el registro de todos los sites que hay en internet por Google siempre ha sido a través de una página que enlaza a otra, otra que enlaza a otra y eso también lo que hace es interconectar todas las páginas y además dar relevancia a las diferentes páginas que se enlazan. Vale, no tengáis miedo a enlazar o a pedir que luego enlacen. Muchas veces participamos en eventos o nuestra página sale en un medio de comunicación o bueno nuestra empresa sale en un medio de comunicación o alguien habla de nuestra empresa pero no nos pone un enlace, sin vergüenza ninguna pedirle un enlace porque eso es primordial para para nuestro sitio web para para que esté bien posicionado y para darle esa relevancia y popularidad. Entonces tanto enlace interno para que Google sepa bien el canal o la dirección que tiene que seguir dentro de nuestro sitio web, cuáles son las páginas más relevantes, a cuáles le llevamos más enlaces para que la suba más arriba, ¿vale? Tanto dentro de nuestra página como fuera, ¿vale? Es imprescindible para mejorar el tráfico y posicionar mejor. Y ya por último, las imágenes, ¿vale? Esto nosotros somos muy pesados con el tema del rendimiento de la página web. Todas nuestras páginas van enfocadas a que sean rápidas, que tengan un buen rendimiento, una buena estructura. Y uno de los pasos fundamentales es que las imágenes estén bien optimizadas. No vale subir a nuestro sitio web imágenes que pesen muchísimo pensando solo en la calidad de la imagen, porque al final, si una imagen pesa mucho, la página va a tardar mucho en reconocerla, en procesarla, y el usuario se va a aburrir de esperar y se va a ir al fest. Hay plugins que te hacen la reducción de las imágenes, para que no pesen tanto, pero además si es posible, antes de subirla, pues también las puedes tratar y optimizar. Y luego, antes de usarla, consejo osseo, nunca subamos archivos de imagen que tengan el código IMG50233, aprovecha, ponle la keyboard al nombre del archivo, para que así cuando lo subas, ya además le echas una información adicional. Luego, una vez que la subes también a WordPress, te da la posibilidad de poner texto alternativo, que es también imprescindible, de cara a accesibilidad y de cara a contenido e información de la imagen, y también te da la posibilidad de ponerle una descripción. Entonces, aprovecha todo lo que te ofrece WordPress para dar contenido, para mejorar tu posicionamiento, ¿vale? Porque al final las imágenes también posicionan dentro de Google. Y ya por último, un resumen de las 10 recomendaciones que os acabo de hacer. Podríamos hacer muchísimas más, porque ya como os digo, podríamos hacer un webinar sobre recomendaciones de SEO en WordPress. Esto es solo un resumen, pero espero que os sirva a todos. Y ya está, ¿no, David? Yo creo que– Sí, perfecto. –abierto a que no hagáis todas las preguntas que se hayan quedado por ahí que nos hayamos resuelto ya en la charla y abierto a que nos contactéis o que nos digáis si podemos ayudarlo en cualquier cosa. De acuerdo, Sacra y David, bueno, antes de… vamos a dar paso, antes de finalizar la jornada, vamos a dar paso a las preguntas que tengan los asistentes. Vamos a dar unos segundos, a ver si tienen… -Ahora una dos. -Quedamos claros. Sí. La verdad que muchas gracias por esa explicación de esta plataforma tan famosa. La verdad que es increíble que hoy en día, bueno, que exista esta plataforma tan fácil, tan intuitiva de utilizar y tan segura. Sobre todo, una de las cosas fundamentales es como hemos comentado, el que haya una comunidad tan grande detrás de WordPress hace que sea muy difícil que WordPress caiga porque estamos mucha gente dependiendo de WordPress, muchas empresas dependiendo de WordPress, ya hemos dicho el porcentaje que tiene de incisiones en el mercado de internet y al final eso hace también que cada un poco tiempo haya una actualización tanto de WordPress como de los plugins. Antes que preguntaban de… que era la pregunta que cuando se actualizaba WordPress, los plugins limitaban la funcionalidad. Sí que es verdad, que es una mala práctica, pero sí que es verdad que cuando utilizas plugins de WordPress que han pasado por los filtros de la comunidad, que han revisado las buenas prácticas y que han cumplido unos requisitos, unos estándares mínimos que se requieren, es muy difícil que el plugin falle, ¿vale? Pero sí que es verdad que cuando hay actualizaciones gordas de WordPress, actualizaciones importantes de Google, estamos todos como «ah, a ver qué va a pasar cuando se hace una actualización». Pero lo bueno que trae es que enseguida eso se resuelve. Porque al final, como digo, dependemos mucha gente de no solo nosotros agencias, sino muchos negocios. O sea, hay negocios que son solo tiendas online. Entonces, si por algún fallo o por alguna actualización de WordPress crea algún conflicto con Google Gomez y no se resuelve en horas, son muchos dineros los que se pierden. Hay mucha gente que te da esa seguridad y esa garantía. En parte por eso es nuestra elección siempre y es lo que nosotros confiamos. Una cosa que quiero aclarar con lo que dice Sacra, normalmente las versiones mayores se prueban antes. No se puede… Es decir, cuando tenemos un negocio que vive de esto, claro, no puede actualizar con versiones mayores, con menores siempre hay que actualizar sin problemas. Con versiones mayores hay que testarlas un poco antes y revertir si ha habido algún problema, algún conflicto. Para proyectos nosotros grandes, luego tenemos un proyecto espejo, una web espejo con muchos menores recursos, pero ahí ponemos todas esas actualizaciones y vemos que todo va bien, que se comprueba, que puedas comprar y no hay ningún conflicto, ¿vale? Son por ahí, ya depende un poco de la invención. Normalmente proyectos pequeñitos no hace falta ese proyecto espejos, esa web espejo que no está envisada con Google ni nada y ponemos el nombre que queramos. Ahí estamos los vacas, ahí tenemos todo, preciamente. Hay preguntas, dice «¿Hay que revisar y actualizar el diario de los plugins?» Es un poco latazo cada vez que entro y hay que tener 15/30. Bueno, yo lo recomiendo una vez a la semana, los lunes por ejemplo, nosotros vamos a hacerlo y le damos a actualizar. Mejor los lunes que los viernes, especialmente. Las actualizaciones siempre es mejor hacerlas al principio de semana, lunes y días va a pasar las actualizaciones. ¿Qué trucos hay que tener? Sobre todo cuando cambia la versión mayor, o sea, si hay una versión, La versión es un subdígito y otro un número. Por ejemplo, de WordPress tenemos la 6.1.2.0, que era una versión mayor, la 6.1.2.0, o de la 5.9.2.0 a la 6.0. Es una versión mayor, ahí sí que comprovas cosas. Y entonces según la esta, si es 6.2.0 y pasa a 6.2.2 que ahora es la que hay que vigente, pues esa la actualizas sin problema. Esas son menores, cambian cuatro cosas y sin problema. Dale la actualización siempre. De hecho, si el alojamiento no lo bloquea, eso se actualiza automáticamente. Habrá llegado un correo, se actualiza tu Word para esto automáticamente. Porque las versiones menores, si no lo tiene bloqueado el alojamiento, se hacen automáticamente. Entonces eso no garantiza que los parches de seguridad se llegan automáticamente a todo el usuario. También hay varios alojamientos, también hay herramientas. Si es un profesional y te dedica a mantener otros WordPress, hay herramientas para contarse a todos esos WordPress de alguna forma más en una sola pantalla, pero bueno, estamos hablando de cosas ya más de profesional dedicado a esto. a una empresa con que lo haga los lunes por la mañana, le da y etc. ¿Qué porcentaje tiene para desarrollar en Google Commerce? Pues mira, interesante, mira, de todas las tiendas online, yo me la sé de memoria, de todas las tiendas online hechas con gestor de contenido, porque no tiene otro remedio, el 70% está hecho en Google Commerce. Con lo cual es todavía más líder Google Commerce en tiendas online. Y eso os lo puedo mostrar si vais a el servicio de StashCount en el prestatio, os puede decir cuánto lo usan. Entonces, QCommerce, el plugin de WordPress para hacer tiendas online, es líder. En prestatio me parece que tenía un 10 o un 12. Fijaros la diferencia, ¿no? La empresa lo promueve mucho por prestatios, pero en cuotas de mercado es muy bajo. Shopify también está creciendo, ahí lo tienen ¿Cuánto sale en Google? El 70% sobre los CMS es un 70%, muy significativo. Con lo cual os garantizáis que tenéis una plataforma estable, muy sólida y bueno, había un pequeño tema de rendimiento que se le achacaba a Google Commerce pero que las recientes versiones lo ha cambiado y era que donde guardaban los datos, os lo explico así muy sencillo donde se guardaban los datos de los pedidos se guardaban con el mismo contenido se guardaban en el mismo sitio, entonces para ti las que vendían muchísimo tenían algunos de rendimiento, eso se solucionaba con tener un sistema más Pero eso ya se ha solucionado, los datos de pedidos se guardan en un total diferente, con lo cual va muy rápido. Ese pequeño toque que se le daba a Google Commerce ya se ha solucionado. Como veis, va evolucionando continuamente y nosotros no tenemos más que decir que recomendarlo muchísimo. Perfecto, David y Sacra. Vamos a dar por concluida la jornada. Muchísimas gracias tanto a vosotros como a los asistentes por estar aquí presentes. Muchas gracias a todos. Gracias. Hasta la siguiente. --- ## Buenas prácticas en el desarrollo web: uso del empty URL: https://davidperezgar.com/blog/codigo/buenas-practicas-en-el-desarrollo-web-uso-del-empty/ La función empty() en PHP se utiliza para comprobar si una variable existe y si su valor es considerado vacío. Es una buena práctica para hacer que tu código no se rompa cuando recibes valores de variables que tienes que asegurar Retorna true si la **variable no existe** o si su valor es uno de los siguientes: - «» (una cadena vacía) - 0 (0 como un integer) - 0.0 (0 como un float) - «0» (0 como un string) - null - false - array() (un array vacío) Como empty comprueba que la variable existe, nos ahorraría esta sentencia: Copyif ( isset( $order['client_name'] ) && '' !== $order['client_name'] ) A esta que es mucho más abreviada: Copyif ( ! empty( $order['client_name'] ) Copyif ( isset( $order['client_name'] ) && ! empty( $order['client_name'] ) ) Para un array deberíamos además añadir la comprobación de si es un array: Copyif ( ! empty( $order ) && is_array( $order ) ) Y también lo podrías usar en un ternario: Copy$client_name = ! empty( $order['client_name'] ) ? $order['client_name'] : ''; Pero en estos casos, lo habitual es usar isset: Copy$client_name = isset( $order['client_name'] ) ? $order['client_name'] : ''; La función empty() es comúnmente utilizada en estructuras de control de flujo, como if y while, para comprobar si una variable tiene un valor válido antes de realizar una acción o tomar una decisión basada en ese valor. También se puede utilizar en formularios web para verificar si un campo ha sido completado o no antes de procesar los datos enviados por el usuario. --- ## Conecta con APIs desde WordPress de forma Sencilla URL: https://davidperezgar.com/blog/charlas/conecta-con-apis-desde-wordpress-de-forma-sencilla/ Copy<?php /** * Plugin Name: Profile WordPress.org * Plugin URI: https://close.technology * Description: Shows your WordPress.org Profile. * Version: 1.0.0 * Author: David Perez * Author URI: https://close.technology * Text Domain: wporg-profile * Domain Path: /languages * License: GPL-2.0+ * License URI: http://www.gnu.org/licenses/gpl-2.0.txt * * @package WordPress * @author David Perez * @copyright 2023 Closemarketing * @license GPL-2.0+ * * @wordpress-plugin * * Prefix: wporg-profile */ defined( 'ABSPATH' ) || die( 'No script kiddies please!' ); define( 'PROFWP_VERSION', '1.0.0' ); define( 'PROFWP_PLUGIN', __FILE__ ); define( 'PROFWP_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); define( 'PROFWP_PLUGIN_PATH', plugin_dir_path( __FILE__ ) ); define( 'PROFWP_API_BASE', 'https://wordpress.org/wp-json/wporg/v1/users/' ); add_action( 'plugins_loaded', 'profwp_plugin_init' ); /** * Load localization files * * @return void */ function profwp_plugin_init() { load_plugin_textdomain( 'wporg-profile', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); } add_shortcode( 'wp_profile', 'show_widget_profile' ); function show_widget_profile( $atts ) { $atts = shortcode_atts( array( 'user' => 'davidperez', ), $atts ); $response = wp_remote_get( PROFWP_API_BASE . $atts['user'] . '/' ); $html = ''; if ( isset( $response['response']['code'] ) && 200 === $response['response']['code'] ) { $body = wp_remote_retrieve_body( $response ); $profile = json_decode( $body, true ); $html .= '<style> .wporg-profile { display: flex; flex-direction: column; align-items: center; max-width: 300px; } </style>'; $html .= '<div class="wporg-profile">'; if ( ! empty( $profile['avatar_urls'] ) && isset( $profile['avatar_urls']['96'] ) && isset( $profile['name'] ) ) { $html .= '<div class="wporg-profile-avatar">'; $html .= '<img src="' . esc_url( $profile['avatar_urls']['96'] ) . '" alt="' . esc_html( $profile['name'] ) . '">'; $html .= '</div>'; } if ( ! empty( $profile['name'] ) ) { $html .= '<div class="wporg-profile-name">'; $html .= '<a href="' . esc_url( $profile['link'] ) . '">' . esc_html( $profile['name'] ) . '</a>'; $html .= '</div>'; } if ( ! empty( $profile['description'] ) ) { $html .= '<div class="wporg-profile-description">'; $html .= '<p>' . esc_html( $profile['description'] ) . '</p>'; $html .= '</div>'; } $html .= '</div>'; return $html; } return $html; } Ver diapositivas ## Transcripción del video Buenas, él es David Pérez, para que nos conozcan. Viene de la comunidad de Granada y básicamente es un crack, o sea, no hace falta ni presentarlo ni decir nada más, es que. es un crack, un aplauso, ¿no? (Aplausos) Bueno, vamos a empezar un taller. Yo quiero que sea muy práctico, a mí, los que me conocéis, me gustan cosas muy prácticas, aunque sean cuatro cosillas, y aprovechar, preguntar, parar, interrumpir, todo, para que vayamos sentando un poquito los conceptos, que son muy sencillitos, y porque cada vez más es una necesidad imperiosa de tener nuestros WordPress conectados conectados a distintos sistemas, RPS, CRM, backend, cosas para avanzar yo soy un claro defensor de WordPress, todas las páginas web le hago un WordPress, 100% pero cuando tengo que trabajar con entornos de desarrollo, de administración, de tal eso sí, verdad que ya no me lo llevo a WordPress, porque WordPress no está pensado tampoco para hacer, por ejemplo, backend de producción, me refiero a por ejemplo que haga gestionar un taller o una fábrica, por todo eso WordPress no está pensado para eso, si está pensado para ser la parte visible de esa empresa que si necesita alguna información de ese aplicativo, para eso está el API, que es lo que vamos a enseñar Entonces, cada uno a su terreno, Warprey es nuestro mejor acompañante para el tema de la policía. Bueno, yo me presento muy rápido. Yo soy cofundador de la agencia Closemarketing, que también tenemos una pata tecnológica, Closetechnology, que ahí también mandamos plugin y hacemos un poco de todo con WordPress. Soy CTO, con lo cual llevo la parte técnica de la empresa y intento siempre llevar un poquito por delante a mi equipo para sacar los nuevos retos que hay de tecnológicos, todos los años siempre hay cosas nuevas y bueno, también estoy muy involucrado como habéis en la comunidad fui líder en la World Cup en Granada, estoy de organización de la World Cup en Europa está muy chulo este año en Atenas, os animo a que os vayáis del 9 al 13 de junio y es esto pero multiplicado por 10, pero cualquier World Cup entonces ya el año pasado fuimos a Porto y este año vamos a Atenas y está muy bien y entre mi tiempo que me queda pues soy director de una carrera deportiva que le hice por mi padre también me meto ahí en temas de colaborativos y cogemos fondos para darlo a una a una entidad no lucrativa y también me meto en Mita también me metí en la Work and Granada de este año así que anímo el 2 y 3 de octubre y ahí ahí muy bien y me podéis ver por twitter en @davisperospcmk ahora me metí también en Mastodon también hay que meterse en todo y bueno, en mi perfil y en la página web personal tenéis todo, ¿vale. de hecho la dispositiva la tendéis ahí, ¿vale. bueno, pues vamos un poquito a hablar de lo que es una API eh. ¿qué es una API. una API es una forma de conectar eh. bueno, se llama. en sí es Application Programming Interface y es una serie de reglas y protocolos para poder interactuar con sistemas que tú no conoces que hay dentro. Tú no sabes cómo está hecho, ni tampoco te importa y lo que te interesa es conectarte, sacar información, sacar lectura, escritura, puedes también escribir, puedes actualizar información y a partir de ahí utilizas la regla de protocolos que te define el sistema en que tú te conectas. Si nos conectamos, por decir algo, a un CRM, pues yo tengo que ver la documentación, ver cómo puedo conectar, que puedo interactuar y puedo hacer. Hacemos esa interacción. Normalmente, no siempre, pero bueno, se hace a través de formato estructurado. El mejor es JSON. JSON es un lenguaje que está muy bien estructurado a las variables y es muy fácil de trabajarlo en WordPress porque tenemos una función que es «UVP JSON Encode» y cuando nos viene JSON, lo podemos. «UVP» o sea, JSON Decode hay unas funciones que tú puedes codificar y descodificarlas y también está el XML, que ya nos podemos encontrar a PIC con XML y cuando nos encontramos con XML, pues ya estamos diciendo «vaya, me he encontrado, este es un sistema más antiguo» PHP no lo gestiona igual, más rollo. En la API normalmente ya trabajan eso. Hay un tipo de autenticación, estamos leyendo datos sensibles y normalmente hay varios tipos de autenticación. Entonces lo ideal es que tenga autenticación. Cuando es un sistema público, que la práctica que vamos a hacer no hace falta ningún tipo de autenticación pues nada perfecto pues directamente la url leemos la información y tiramos millas y claro quien ha popularizado mucho la API pues las aplicaciones móviles y gracias a la aplicación móvil nos encontramos muchos aplicativos que tienen API porque claro para tener la aplicación móvil ahora ya no porque ahora ya también puede incluso programar la aplicativo con lo mismo que la aplicación móvil, bueno, pero normalmente suele ser diferente programación, cuando tú haces una aplicación móvil, el de móvil le pide al aplicativo «oye, mira, dame que yo pueda interactuar y leer con los usuarios» entonces lo que es lo que lo que hace normalmente, que es lo más habitual, es hacer un programa una API, dásela al equipo de móvil y móvil se interactúa con el aplicativo, por ejemplo, yo que sé, un RP, un CRM, tienen aplicaciones móviles hoy día, pues todos lo hacen a través de API Otros ejemplos de API muy conocidos es el propio WordPress, tiene muchísima API y se hizo mucho más popular con el nuevo editor. El editor de Gutenberg, los que saben, el nuevo editor que tiene WordPress trabaja con React, que es un entorno de programación y para conectarse, o sea, estando incluso en el mismo administrador para conectarse a WordPress y sacar datos del contenido de todo lo hace a través de API entonces gracias a eso pues la API también de WordPress tuvieron que la gente de PHP que se usan en más backend pues tuvieron que crear toda la programación para poder interactuar el editor con esto con la base de datos de WordPress Cuando yo tengo muchos proyectos con API, lo primero que le digo al aplicativo al que me quiero conectar «Por favor, darme documentación, si no no puedo conectar, ¿cómo me puedo conectar. , ¿qué autotica tengo que utilizar. , ¿qué datos puedo leer. , ¿qué puedo escribir. , todo. Y ahí te encuentras, bueno, los más grandes unos te mandan un PDF, otros te mandan el resumen, el resumen está muy bien porque te permite incluso interactuar sin haber programado nada con la propia API. Entonces está muy bien porque le metes la autenticación de lo que pida esa API y puede interactuar. Entonces pues bueno y aquí yo ponía algunos ejemplos de cosas que me gustan. Entonces por ejemplo, Holder, no sé si se la conocéis. ¿Conocéis algunos Holders. Pues Holder es un RP muy conocido porque. Uy no, esta es mi de developers. javascript, perfecto, me faltaba una «s» y este casi todos si os dais cuenta están hechos casi igual, os voy a poner dos que no tienen nada que ver una con otra y veréis que tiene developers. javascript ¿Ves que se parecen, se parecen, tienen más o menos la estructura y es que esto Postman, que ahora os contaré un poco las aplicaciones para borrar la API, te dan la parte gratuita para los que nosotros desarrollamos y la parte de entorno de documentación la dan con Postman. Entonces ahí le cobran a los clientes, a los que tienen la API. Entonces aquí, por ejemplo, con Holders, pues aquí vemos todas las entidades, cómo nos podemos conectar las dedicaciones, como todas las entidades, puedes conectarte con los contactos, con los productos. Es un RP, puedes generar productos, almacenes, los impuestos, la contabilidad de tesorería, aquí montos los pagos, los documentos, aquí con esto puedes generar una factura, por API yo puedo generar una factura en el RP oficial, puedo recoger el PDF y mandar a los clientes. Según el aplicativo, pues entonces pues bueno aquí por ejemplo me dice bienvenidos a la API, digo perfecto, venga vamos a lo siguiente, la API, ahora voy a contar un poquito los tipos de autenticación, pues esta es la URL que tú tienes que trabajar, bueno esta es para conseguir la autenticación y a partir de aquí ya empezamos a trabajar, pues mira si quieres listar contactos tienes que utilizar el método Get, ahora os voy a explicar lo que es con este URL, incluso aquí te viene si le pones una API key puedes intentarlo, incluso te permite generar el código, incluso aquí tienes para sacarlo con PHP, que ahora voy a decir que esto no no uséis esto, vamos a utilizar lo que que da Warp es que está muy muy bien y es mucho más sencillo. Aquí te dice que instales una librería y que a partir de cojas una clase y haga un método get eso ya no hace falta en Warp, ahora explicaré por qué. Pues podemos crear un contacto, aquí se puede hacer de todo. Entonces, la documentación, importantísima. Antes de poder conectarlo, dame tu documentación. Normalmente los software, casi todos tienen una API, no sé si se me ocurre, y todos tienen también incluso una sección para desarrolladores. por ejemplo Spotify por ejemplo, ¿yo puedo interactuar con Spotify. pues sí perfectamente si ponemos Spotify, developer, aquí tiene una parte de developer, casi siempre se utiliza developer, developers y aquí te dice para que tú interactúes con Spotify. Por normal general los sistemas los software en la nube tienen API casi siempre. De hecho yo a los clientes cuando me van a contratar una herramienta de cualquier tipo le digo si después nosotros vamos a utilizarlo para la web que tenga API, es el requisito que funciona a ti pero que tenga API porque la API luego ya te permite interactuar con ella, hay software que se han quedado antiguos y no están en la nube o si están en la nube y no la han hecho, te pueden encontrar sorpresas. Hay herramientas que me mandan un CSV en una carpeta FTP, eso no, eso es un desastre, porque tienes que leer CSV, no leer siempre, un desastre. Entonces lo mejor es tener una API que tú puedas interactuar. Cuando vosotros también hay que interactuar con ese sistema, pedir siempre la documentación, la documentación, cómo puedo autenticar, cómo pueden interactuar. Y una vez que tenemos esa autenticación, pues tenemos que hacer pruebas antes de empezar a programar. Lo que tenemos que ver es la entidad, qué tipo de información nos facilita, cómo la puedo procesar y todo esto. Entonces, pues hay muchos clientes de lectura de API. Antes de seguir un poquito, quiero conocer un poco, a ver quiénes son los desarrolladores, ¿habéis programado alguna vez. ¿Todos son desarrolladores. ¿Por aquí no. Aquí más o menos. Perfecto. ¿Y tenéis el tono de desarrollo local. ¿Sabéis trabajar con el desarrollo local. Perfecto. Pues dentro del local local, tú te puedes instalar una aplicación que se llama Pongman, yo es la que utilizo, es gratuita, te la bajas, te la descargas y también incluso si utilizáis Visual Code, el editor de Visual, tiene también extensiones como ResClient, había otro que era Octopus, hay un montón, o sea que realmente este me parece que es Octopus, realmente que utilicéis el que queráis, que sea más cómodo, probarlo y como son extensiones de VisorCo, por ejemplo, que te la puedes borrar, pues nada, sin problema. Yo empecé con Pongman y ya me he quedado porque traerme todo, ahora veréis mi carpeta de Pongman, que tengo el más grande, traerme toda esa información a reprogramarlo porque simplemente este tema integrado no me merece la pena. Yo trabajo con Pongman, tiene una interfaz sencilla, aquí tenemos lo que son como como carpeta, aquí como veis tengo aquí unas cuantas integraciones hechas y aquí tengo una que se llama WordPress, yo incluso puedo tener otro WordPress y puedo interactuar con el mismo WordPress y aquí de hecho he hecho un ejemplo en el que yo aquí pongo la URL, ahora vamos a ver qué significa la cosa. Y con la autenticación, porque claro yo no puedo leer productos, depende de cómo tengas configurada WordPress, pero yo lo de aquí a send y simulo una petición API en tiempo real y me está dando una información real. Aquí como veis tengo software de VoIP, de todo un poco. Entonces yo puedo interactuar y recoger esta información. Aquí por ejemplo me está dando una petición, le echo yo de productos y como no le he especificado nada me da todas las productos y aquí pues sacará lo más grande. Esto también hay que trabajar la paginación, normalmente el API no te manda toda la base de datos de las páginas entonces tú lo que haces es un recurrente y va haciendo la paginación. Aquí como veis me da un ID, el 1904 con una fecha, aquí ya estás viendo en este interfaz ya estás viendo cómo te da la fecha y ya partiría la manipulación. La fecha a mí me gusta guardarla en numérico pero si me la dan así pues yo la normalmente la trato y la paso a SDRTutime le digo pásamela en numérico y ya la puedo trabajar. Aquí te dice cuándo fue la modificación, el SLU, de esto es una entrada de un producto de Clos Technology. Aquí me sale incluso el link, el contenido, fijaros aquí está el contenido metido, nos lo da el renderizado, que pone aquí renderer, y bueno incluso escapeado, si veis aquí las comillas se llama un escapeado, eso cuando lo decodificamos, nosotros para trabajar en PHP, los JSON no podemos trabajarlo porque es un string, entonces lo que hacemos es que este JSON lo convertimos en un array y ya al array si podemos hacer un recurrente, vamos trabajando y vamos cogiendo las entidades. Pero bueno, ya estás viendo aquí cómo está estructurado y aquí estás viendo que hay dos niveles. Yo tendría que hacer el array y el std y luego a partir de ahí tendría que coger, esto me lo convirtiera en un array de doble nivel, entonces yo cojo este y este para poder coger esta información. Entonces ahí estoy viendo los niveles también del JSON. Entonces lo normal para cuando coges una API, primero ver la documentación, metértela en el postman y empezar a ver la documentación y hacer una simulación. Le hace una petición, le mete la autenticación y le da enviar. Ahora vamos a ver que hay distintas peticiones. Estas son las peticiones que puede hacer la API y aquí el GET es recoger, dame los productos que tiene la tienda. Entonces, si yo tengo una aplicación móvil que quiere conectarse a mi tienda, pues nada, pues yo haría esta petición para poder escoger los productos y señalárselos al cliente. Evidentemente, si es una tienda online y tengo el móvil, por lo mejor no me interesa sacar todo el contenido con la imagen destacada que estará por aquí también, que a veces se llama «featured», mira, «featured media» y me la da por ID. Aquí, por ejemplo, estamos viendo que yo tendré que hacer una segunda petición API con el ID de la imagen para poder coger esa imagen vale y ya cogiendo la imagen seguramente creo recordar de cabeza me da las distintas recortes que tengo yo en WordPress definido entonces con esos recortes voy a coger y lo que haré en WordPress es decir voy a hacer un recorte para el móvil y lo recojo por API y lo enseño, vale entonces al final con podman que yo el que utilizo interactúo veo lo configuro incluso aquí os da un código vale toda la herramienta viene con el código pero ya digo que no que no que no es útil en el sentido aquí por ejemplo le da un cúr y si lo pongo es que como no lo hizo nunca ahora aquí pues puedo decirle pues dame PHP, PHP concur, fijaros todo lo que me manda de. pues esto en WordPress son tres líneas, si te ahorras todo esto que es PHP nativo, o sea esto funciona en PHP nativo pero si tú mandas el plugin a WordPress veréis que no te lo aceptan, tienes que utilizar las peticiones nativas Entonces, tengo documentación, tengo el cliente para interactuar y recojo información, veo cómo me trae la información y ya la trabajo. Estas herramientas son fundamentales para poder ver qué te da la API antes de empezar a hacer nada de programación. Muchas veces te dan una documentación, no está actualizada y antes de empezar a programar tienes que probarlo. prueba y dice «Ostras, pues no me ha dado. oye, pues mira, la antetecación que me dices pues no funciona no me sirve, pues ya empezaba a hablar con el proveedor y ya va cogiendo» Vale, tipo de peticiones que tengo en API, entonces como hemos visto son protocolos y yo ahora puedo hacer varias peticiones tengo cinco en total pero no son, o sea, no todas las APIs tienen todas, lo normal es la GET y la POST, las normales hay veces que solo tiene la get, la get es como la fundamental sino no tiene api porque es la lectura y entonces aquí tenemos una serie de peticiones que los propios nombres más o menos son descriptivos get recojo información, leo, entonces yo hago peticiones get para leer información como habéis visto por una tienda leen los productos, las imágenes destacadas, todas las peticiones Put, ¿qué es Put. Es actualizar. Si yo recojo un. si hago otra vez el ejemplo de la tienda móvil de mi. de esa tienda de aplicación móvil. Yo hago un get de productos y le he puesto un administrador aquí para que pueda cambiar la información del producto y ya tengo un ID, ¿vale. El Put con un ID normalmente actualiza la información. Yo la que cambio, pues voy a cambiar el título, lo voy a guardar. Lo que hace es, le hace una petición Put con un ID, normalmente todo eso va en la documentación y le meto la información que yo quiero actualizar ¿Por qué digo que este no es del todo habitual. porque normalmente muchas veces se hace con el post, el post es enviar, es como crear un nuevo contacto, por ejemplo en el ejemplo del RP puedo crear un contacto con un post pero muchas veces también si le doy una id en esa petición hace como si fuera un put, entonces ya depende de la argumentación pues la encontraremos si tiene post y get o también te pone put, para ser más estricto es mejor put porque así te está diciendo que esto es una actualización, lo estás como forzando, o sea que si tú no le metes una idea al put pues te va a dar error, en cambio si tú no le ponen idea en post te va a crear uno nuevo, una nueva cantidad, lo que sea, un contacto, un producto, etcétera. Entonces, ya digo, depende del API, como hayan programado, los más exactivos y más tal, pues te suelen poner una petición puro, para actualizar el contacto. Más cosillas, el POST, pues creo contactos, actualizo, depende del API, luego del ET, que este lo utilizo muy poco, no me gusta eliminar datos de una aplicación externa salvo que sea necesidad del proyecto porque puedes tener un forage y te equivocas y empezar a mandarle. Normalmente el delete si tú le das una ID como el put, pues elimina la entidad que tú le digas. Normalmente tendrás que especificar la entidad que quieras modificar, por ejemplo un contacto y un ID. Entonces tú le dices esas dos cosas y te ahorra la entidad en el aplicativo. Y patch es también, dependiendo de las peticiones, el actualizar. Pues hemos visto la función, como veis, que es bastante suboptiva. Esta es de un CRM, se llama Clientify, y aquí le estamos pediendo un GET de toda esta información. y aquí incluso tengo la actualización, un toque, ¿vale. No lo vichéis porque no existe, no es real Vale, entonces yo le estoy haciendo una petición GET de este toque, y entonces ¿qué pasa. que me va a dar aquí un resultado, response, que yo aquí ya lo podré trabajar, ¿vale. Entonces, vale, aquí como veis, me genera ese código, podman, rest client o cualquiera, no cumple los WordPress Coding Standard no sé si conocéis algunos lo que son los WordPress Coding Standard, aquí dice si, asienten, no, si, si vale, WordPress Coding Standard que quiere decir, es una sintaxis que nos define, bueno, un compendio de reglas que gente muy buena pues la ha definido y así nos dice para tener mismo estilo a la hora de programa. ¿Por qué. Porque por varios motivos, por seguridad, por leer el código de una persona y que lo pueda leer de una forma normal y entonces todas esas reglas te las puedes instalar. Yo lo animo a que investís un poquito más en mi blog o como yo documento cómo lo hago y lo pongo en mi blog. Si lo buscáis en Coding Standard os digo cómo lo instalo en mi ordenador. lo meto en el editor y me va diciendo como si fuera un corrector de autográfico que tú vas cambiando lo que son las definiciones. Entonces me va definiendo esto y cuando yo le meto el CUR me dice que no, que no se permite utilizar reglas CUR para interactuar con la API desde WordPress. Que si tú lo pones y sigues hacia adelante no pasa nada, pero si tú ese plan que tú has hecho lo mandas al repositorio de WordProficial te lo van a banear, bueno no te lo banean, te responden, te dan una serie de reglas que no definen el código estándar y te hace que lo tengas que arreglar, entonces como no hemos hecho las cosas bien desde el principio y ahorraron el trabajo de hacerlo de una forma y después que te la devuelvan, pues vamos a trabajar con código estándar y aquí vais a aprender directamente, entonces por eso yo decía que el Postman cuando me da un código no lo veo, yo veo la dedicación, veo que funciona el API y ya me pongo yo a programar y de una forma muy sencilla que os voy a enseñar y luego en el ejercicio lo vamos a ir viendo para que vosotros podáis programarlo. Tenemos unas funciones definidas en WordPress, habéis visto que teníamos cinco peticiones tipo de API pero no hay funciones para cada una de las porque no sé, la verdad, pero tenemos esta siguiente, tenemos «wp-remote-request» que decís bueno, el «request» no, no había dicho tu petición de API, no, esta es la genérica, que dentro del argumento, y os voy a enseñar el argumento, le podemos decir qué tipo de petición, si es «get, put, pull» o «sapatch» o «post» o «delete» o lo que queráis, entonces los argumentos se los ponemos con lo cual muchas veces con uno solo es suficiente, con el «upremoteRequest» entonces yo lo que hago es que me hago una función, le llamo API y cualquier cosa y entonces en esa función dentro va el «upremoteRequest» y en la función le digo el parámetro que quiero utilizar si es «get», «spot» y etcétera. Pero hay veces que en la programación, si simplemente necesito el «get» porque es una app pública que podemos utilizar, vperremote. get que los argumentos son más sencillos porque no hace falta poner el método en este sí tienes que meterlo, en este no, porque ya se asume que es un get y con el get, con la url te trae los distintos. te devuelve lo que son los datos igual aquí los argumentos veremos cómo hacer los argumentos para que esa autenticación, esas cabecera, ese body que tenemos que hacer peticiones porque hay veces que dicen pues mira mándame los productos últimos modificados ¿cómo lo haría. pues con los argumentos que yo le mando aquí, leyendo la argumentación me dice mira mételo en el body y me dice modificar y una fecha en este formato entonces yo lo construyo le hago el web remote request web remote get y le digo modificar y le meto la fecha entonces me devuelve ese es el más que nosotros por ejemplo cuando muchas veces tenemos tiendas online queremos sincronizarlas con un sistema rp pues muchas veces tenemos que hacer como un cron entonces ahí me encuentro aplicativos que el modifier no lo tiene eso es un rollo tienes que traerte toda la base de datos y volver a través a repasar de verdad que me lo encuentro muchas veces y el modifier sería una petición muy sencilla de dame la modifier de la última que pasa que que cuando no tiene el modifier el aplicativo por ejemplo jose no lo tiene que un rp muy muy conocido y mira que le he mandado yo ticket nada, se ríe porque he mandado ticket en mi puñetero caso y digo mira que es que además de hecho te viene el producto y en el modifiest no está bien porque haces cambios en el producto en el RP lo traes por el API y vamos a ver el modifiest de hace tres días o entonces no tienes nada que ver una cosa en otra, o sea un pequeño desastre pero bueno salvo sorpresa normalmente en el Remote Get es Modify bien estupendo por ejemplo si pues si quisiéramos «mira quiero actualizar mi tienda online cada hora o cada 15 minutos» con el Modify lo podríamos hacer porque tú le metes una variable de 15 minutos o sea que me trae los productos y si sale uno o dos pues son bastante livianas estas peticiones. Remote post igual cuando yo quiero mandar información por lo mismo, la url, el argumento, etcétera. Y remote GA, esta no la utilizo yo, utilizo esta normalmente o una de estas dos. Para PUT, para patch no hay, o sea hay web remote y etcétera. Entonces, ¿qué tenemos que irnos. Si el API me dice «para actualizar un contacto, tenéis que utilizar el método put». Pues tenéis que irme aquí a «remote request» y el argumento es decirle el método put. Aquí, bueno, mucha teoría, pero ahora entramos a la práctica. ¿Qué argumento suelo utilizar yo en esos argumentos. Que es un array, que me va pidiendo distintos argumentos o os pongo vamos si ves la documentación no te dice mucho y normalmente yo aquí os cuento para que os sirva os pongo directamente las peticiones que solo yo utiliza más vale y de hecho voy a dar que eso me ha costado un trabajo de años de distintas actualizaciones que me van pidiendo el array justo que yo utilizo o sea que teniendo las las dispositivos que la vayas a tener, puedes copiarlas y si utilizas una autorización básica un nombre usuario y contraseña, pues yo digo lo que más he utilizado yo, ya vais probando el que decía, el method, si es un array, sería method = flecha entonces aquí podemos decir el tipo de petición HTTP solo se utiliza en esta función, en Google Play Remote Recuerda cuando me piden métodos tipo PUS, DELETE, etc. Timeout, por defecto ya es la función, si no le pones Timeout no te coges una por defecto, es un 10 segundos o algo así es por si la API tarda mucho en contestar o eso suele ser, los tiempos de contestación suelen ser también muchas veces cuando pedimos muchos datos cuando la API no me trae paginación y le digo dame todos los productos, te manda 10. 000 productos, pues claro no es lo mismo que te lo devuelva en paginación de 100, que te lo devuelva, bueno no te traen tantos pero bueno entonces ya depende un poco cómo funcione pues tienes que ponerle más o menos, me he encontrado APIs con la SSL sin verificar y lo tengo que forzar, por seguridad Word, si no le pones nada la API siempre te va a coger en segura, evidentemente estamos cogiendo datos sensibles viajan por internet y tienen que tener SSL pero bueno, te encuentras sorpresa aquí, aquí está con sorpresa, esto no lo ponéis y ya está, funciona perfecto pero si encontráis una vez sorpresa de que no te contestáis en el response, te dice que hay errores pues le pones SSL Verify y falses y ya funciona y te hecha la mano a la cabeza porque está trabajando con datos de APIC sin SSL pero bueno, no está, hay de todo y luego tenemos las cabeceras y el body las cabeceras suelen ser, y ahora vamos a ver varias documentaciones, donde van las autorizaciones ¿me puedo encontrar la autorización en el body. puedo encontrarme, pero normalmente suelen estar en la cabecera, entonces yo si hago un token, normalmente me pide una authorization y le hago un token, o sea igual flecha y token y después la api que me da la autorización y también le suelo forzar el content type que sea JSON, creo que que decías, este es el que más o menos se maneja porque tú te lo traes, lo conviertes enseguida a un array y a los gestiones lo manipulan. Y el body suele ser cuando, lo que decía por ejemplo, quiero traerme los productos modificados en la última hora. Normalmente ese tipo de query que se llama, o peticiones, las suele hacer en body. Lo habitual, todo otra vez os digo, depende de la API. ¿Y tipo de autenticación. Estas son las cuatro autenticaciones. La que yo me suelo encontrar casi siempre, en un 90% es la APIKey. Es, Holder lo tiene, casi todas las tiene. Entonces, normalmente suelen darte una sección de desarrollador y te dice «Mira, entre en esta sección del desarrollador» y te damos la constante, la clave para poder interactuar Esa es la más habitual, pero bueno, te puedes encontrar todo La que nosotros utilizamos para WordPress, si nosotros hacemos algo para WordPress que, digamos, se conecta a otro WordPress, utilizamos la básica No sé si vais a dar cuenta que desde. No sé, una versión, seguro que sabéis que sale mucho más de la versión pero a partir de una versión dieron una opción de que dentro del usuario tú tenías el usuario y la contraseña tenía aparte otra que se llama app password o bien no se le da cuenta y esa es una contraseña diferente para que tú aunque cambies tu contraseña como usuario pueda seguir interactuando porque la aplicación de gd funciona si le pones si le cambia la contraseña entonces puedes trabajar una de las dos y el token beater, esta es la básica de usuario y contraseña apiqi, una chorizo que te ponen de string y el token beater suele ser que tú le haces una básica, te devuelves un token bastante largo y ya la siguiente expertise la haces con este token que suele tener una caducidad y depende de días o cosas así Entonces, yo lo que suelo hacer siempre, pues, cuando empiezo la petición primera, le hago una básica y el token mire y ya luego la siguiente la hago con el propio token, ¿vale. Y el OAuth, que no es muy habitual, pero esta es la del Google, por ejemplo, ¿no. Que es lo típico, que te va a una página de autorización, la autoriza y te vuelve otra vez a la página. Entonces, tienes que programar, pedirle a la aplicación que te genere esa página de consentimiento recibe el consentimiento y ese consentimiento nuevamente te devuelve un toque en vida. Que ese ya lo tienes que almacenar en base a datos para poder trabajar con él. Ese lo hago, pero es el que menos me encuentro. Salvo que interactúes con Google para hacer todos los servicios, pues tienes que trabajar eso. Es un poco rollo porque tienes que hacer programar una URL y dársela a Google. Estoy haciendo el ejemplo de Google. tienes que darse a Google para que te devuelva esa aplicación y la guardas y la devuelvas ¿vale. y entonces ya en esa página que suele ser la de. ¿todo está correcto. pues va a trabajar ¿vale. ¿y cómo se programa eso. en WordPress ¿vale. pues en esos argumentos que os decía dentro del VPN Remote yo suelo trabajar esto ¿vale. entonces bueno solo, los trabajamos. Aquí he metido el SSL Valify, esto está mal hecho pero bueno lo he puesto para que estuviera en ejemplo. Y aquí estoy haciendo una petición con un argumento, con una cabecera que estoy diciendo «trabajame Jason» y esta es una aplicación que te está diciendo que tienes que darle un clean ID, un clean secret, un usuario y un power. Y el GrandType es Power. Bueno, ya está, ¿Se le ha programado así la aplicación. Pues ya está, yo me conecto Entonces me suelen dar Esta por ejemplo, la aplicación, que ahora recuerdo un poco lo que era Me daban esto, que lo metía yo en una constante O lo guardaba en base a todo, tal, esta si era fija Y esta el usuario y contraseña la metía yo por. el usuario me la tenía que dar Entonces, pues aquí en estas cosas lo que solemos hacer es una página de ajustes Y en esa página de ajustes hacemos dos usuarios, mete aquí tu usuario y contraseña para poder conectar tu aplicación entonces por eso lo guarda en base de datos, le hace un getOption y cortando me quedó muy rápido y no sé si le hago un getOption y le recojo la usuaria contraseña que me guardaba en base de datos y aquí le estoy diciendo no utilicé SSL, esto está muy mal, pero en este aplicativo me hacía falta y un timeout de 50 veces o un segundo vais probando porque como las propias peticiones cuando tú las haces te van dando las respuestas pues tú vas viendo si tiene errores si no tiene errores, tarda mucho, tarda poco, pues ahí vais probando. Otro tipo que está la que utilizo para conectarme con WordPress, este argumento le hago una cabecera y le digo Authorization Basic y codifico en base64 con el usuario de contraseña usuario, dos puntos, contraseña. Con esto ya podéis conectar a otro WordPress y ahora vamos a ver el resto del código. Tengo como recordáis una URL y unos argumentos y ahí tengo mi petición de argumentos. Cuando me da un API key, pues estos son los argumentos. yo hago aquí la cabecera, le digo la turización, le pongo un toque en espacio y la api aquí, este texto que es el tocho que habéis visto, lo meto y le meto un timeout porque el que me viene definido por la función pues es muy corto, pues le pongo 20 segundos y aquí con esto pues ya me estoy identificando con otros WordPress y por ejemplo algún proyecto ha sido de «yo tengo un un WordPress para vender y lo quiero conectar con otro WordPress que es una tienda online, o sea una academia online, pues o lo hago cuando se hace la venta y ahí lanzo un vp remote en un post y lo mando a la información, entonces por querer el usuario y lo que lo hago etcétera, y el token vira es un poco más puñetero, pero bueno tampoco al final es pedirle una básica que esta, esta es parte de una función completa entonces yo ahí para no repetirme la directiva drive que intento llevarla mucho que es «don’t repeat yourself» si no te repites continuamente tengo una función API entonces si yo no le mando las credenciales del token, si no están vacías a eso si no están vacías el token pues utilízame el token que tú tienes guardado en las credencial y me hace una autorización de tipo vira y si no está me hace la. por eso tengo que hacer esa función o tengo resultados veces cuando es una petición por ejemplo de la ex producto por ejemplo tengo que decirle pues mira cogemos el usuario de contraseña, aquí me hace un terenario de las creencias de uso en NAMI y dame la vacía y codifico esto en el body. Este API me pedía que la codificara en un body. Pues nada, yo lo codifico y le mando y entonces me devuelve un VIRS y este VIRS lo vuelvo a utilizar. Repito y te digo más veces, esta es una forma de tenerlo todo agrupado en una sola petición y lo que hago es ejecutar la función dos veces. No os preocupéis que ahora vamos a verlo en la práctica y qué pasa una cosa que imaginaros que tenemos un pie de página y tenemos se me ocurre por ejemplo ahora por ejemplo hay si por ejemplo que el servidor sea verde o no hay una pipa eso entonces tú le puedes decir oye este es el video verde entonces tú le das dominio y te lo dice hay una API para eso imagina que yo lo tengo en el pie de página entonces cada vez que un usuario si no está cachada, cada vez que usuario vea esa página está haciendo una petición a la API, las peticiones a API suelen ser lentas, no suelen ser rápidas hay unas más rápidas, unas más lentas entonces las peticiones, fijaros que le estoy haciendo el usuario hacer una petición API continuamente por un lado la API me va a decir «me estás haciendo muchas peticiones por segundo, te voy a bloquear» hay APIs que, incluso hay una API que es muy graciosa, que cuando le haces peticiones, no sé, eran 20 por ahí, a partir de esa 20 te bloquean como 2 o 3 minutos. Si tú estás leyendo productos, tienes que comprobar que esa API no te ha bloqueado por tiempo si te ha blocado el tiempo le tienes que decir «esperate» entonces te pueden hacer si lo tienes justo en el frontend que sea muy lenta en la página y le estás pediendo demasiadas veces una misma información que tú ya la tienes almacenada entonces ¿cómo se hace esto. pues hay un invento muy bueno de Warp que se llama Transient ¿qué quiere decir Transient. que es una forma de caché información con una caducidad yo le digo guardame por ejemplo vamos a otro ejemplo los productos guardame los últimos productos modificados y si yo quiero enseñarlo después en el frontend varias veces pues yo trabajaría con el transing y guardaría los arrays de los ids o incluso la información que yo quiera la imagen la tal entonces yo le digo al transing guardamelo y durante tres horas o cuatro horas ahora en la siguiente sale el código de Transient, entonces voy a enseñar no solo pedir peticiones al API sino guardarla y cachearla y ya mostrarle al usuario cuando yo quiera entonces, ¿cómo se suele hacer una petición API. pues hago mi función, los argumentos ya os los he dado, con una URL API y hago un. utilizo vprimotget, aquí por ejemplo he hecho la petición con get le digo que me coja, o sea lo que me devuelve que es un response, que me coja el body, porque si tú le haces un printr al response, te salen las cabeceras, raw bodies, todo, entonces tiene una función warp, se llama «wpRemoteUtilityBody» y me devuelve otro, un response body y este body ya lo puedo decodificar porque es un JSON, que es con el JSON decode y ya a partir de ahí voy viendo que me va Normalmente suele dar una respuesta del código, te dice «mira, la petición HTP 200» pues te devuelvo la información y aquí la tienes y te da un array. Entonces ya a partir de que de esta tercera función ya puedo trabajar lo que es la información que me ha dado la API. Ahora vamos a a ver un poquito en tiempo real y ya que trae los portátiles vamos a ver un poco cómo se hace, vale, con estas tres funciones devolvemos ya el body response, este ya empezaría yo a trabajarlo, entonces que suelo hacer yo normalmente, pues hago una función que se conecta con mi API, le hago los argumentos, le hago estas tres funciones y a partir de aquí las devoluciones son devuélveme un error o devuélveme un ok con todos los datos que yo necesitaba y aquí yo enseñaba el transient que lo vamos a ver también lo que hace es, y además lo utilizamos en el profile, porque ahora vamos a hacer un plugin que va a hacer expeticiones a WordPress. org y nos va a mandar la información del profile de de nuestro usuario. Entonces, si yo lo pongo en mi página web, lo que decía otra vez el ejemplo, lo pongo en mi pie de página, pues voy a empezar a hacerle peticiones a WordPress. org y llegará un momento, la mayoría de las veces lo que hacen las APIs es que te bloquean, tienen una serie de peticiones, entonces si tú haces muchas simultáneas. Entonces lo que haces es cacheo, te hago una petición cada tres horas. Esto es lo que hace, os explico. Get Transient con una key que tú puedes hacer la que tú quieras, la sintaxis esta es la que tú quieras que tú sepas. No metáis solo utilizar un prefijo, el tipo de consulta y el tipo de información. Con esas tres así para acordarme. Pero aquí podéis poner Manolo, Pepito o lo que queráis, eso da igual entonces esto te devuelve o la información o un false, entonces si es false en esta línea haría el vprimodget, vprimodget, porque estamos haciendo lectura y la metiría en esta variable y la guardaría con esta key, con esta información y durante un tiempo hay unas constantes en wordpress que quita diciendo horas en segundos por tres, o sea tú puedes poner aquí lo segundo. Entonces, ¿qué hace el tránsit en la práctica. Es yo leo la información de esta variable, me la devuelves, ¿qué han pasado las tres horas. Hace petición de API. Entonces, el primero que ha pasado de las tres horas hace la petición real de API y todo el resto de gente le sale donde sale con el con la tu propia cachéos con lo cual tú estás trabajando con tu formación local que siempre es más rápida siempre o no lo mismo que tú le das base a todo que tú tengas que pedir un sistema te recoja la información las manipuladas las tránsit súper importante y para este ejemplo lo más a ver y yo voy a estar la teoría está más o menos bien cómo va y no me habéis interrumpido, la habéis cogido todo. Vamos a trabajar si queréis sacar los portátiles y vamos a ver un poquito qué vamos a hacer. Se ríen, por ahí se ríen. Vamos a ver, yo para este ejemplo he hecho un plugin, aquí no voy a. bueno, también entramos al detalle, aquí tenemos la oportunidad. He hecho un plugin que va a conectarse al WordPress y me va a mostrar por el perfil de WordPress. Una cosa chula que podría tener esta pizzería que me diera las medallas, o sea que yo pudiera por ejemplo tenerlo en mi página web de personal y y se vieran todas las medallas que tengo yo conseguidas por la interacción con la comunidad, pero no lo da. Vamos, aquí está la información que nos da. Vamos a verlo aquí, tomo más de tiempo, una horilla. Oye, ¿ya me he comido una obra. Vale. Si es que me encanta, me voy. ¿Este pasa aquí. ah vale porque esta petición no tiene. esta petición de WordPress a ver si puedo conseguir la documentación es que me la dieron las peticiones API de WordPress están muy escondidas y aquí está sí aquí está en user fijar hasta la documentación que yo tengo de WordPress y si entreis REST API Handbook, aquí están todas las peticiones. Podemos por ejemplo incluso sacar peticiones del plugin. Cuántas descargas hay, un montón de cosillas interesantes. Bueno, las descargo un tiempo que las quitaron y tal. Entonces aquí tenemos el endpoint. ¿Qué quiere decir el endpoint. A ver si me hablo explicarlo. Cuando tenemos una petición API, 100% de los casos tenemos una url base, que es por ejemplo api. dominio. com/laversión porque es importante porque si nos dice a presionar la API puede ser que tú crees cambios en la API y dejes de funcionar aplicaciones de muchos usuarios. Entonces es una buena práctica que ponga /v1/v2 para que el desarrollable de tiempo que si tú has lanzado una nueva versión de la API te dé tiempo a modificarla. Cuida a los desarrolladores, siempre nos gusta que nos cuiden. Por lo menos les pedimos «Dano versionado» que si tú sacas una versión 2 yo me dé tiempo a programarla y trabajarla pero que la v1 siga funcionando. Pero ahí asiente y te la encuentras otra vez que no. Aquí me dice que puedo utilizar la versión de user y aquí dice el esquema, va a estar una documentación que da así WordPress y te dice mira si me da el ID, el identificado del usuario, el username, fijaros aquí esto lo que devuelve creo yo que es, aquí está el list user, entonces te dice mira puede hacer una petición que sea /vpv2user esta es la de Warp. reg, no la de Warp. reg pero bueno, me sirve para el ejemplo y aquí puedo saber los usuarios de una fijaros que Warp hace el versionado, aquí pone v2 entonces si Warp hiciera una nueva petición, o sea, una nueva petición v3 por lo de suelo no derrida de tiempo, poná más la v3 porque seguramente las peticiones son más rápidas, tiene más argumentos, etcétera evidentemente se hace una nueva versión por algo. Entonces yo en mi ejemplo que os programaba aquí yo tengo aquí mi url que es warpress. org/wpjson/wporgv1use. Esa es como la url base. De hecho lo he guardado yo aquí en una constante porque no se va a modificar. Aquí fijaros que aquí lo que he hecho es Aquí le he dado la traducción y he hecho un shortcode Aquí no íbamos a poner más cositas Lo que he hecho es meter un shortcode que se llama «webprofile» Este código lo dejaré en el este para que lo podáis trabajar Es un archivo PHP único para que no compliquen la vida en más cosas Os explico el código que he hecho este sería web profile y va a ejecutar esta función con unos atributos el atributo, si no quiero más recordar, aquí tengo que decir chiclana era user, user igual a no sé qué le puse «vp profile» y «user davis perez» que es mi usuario entonces conecta ya la API y me la va a poder ejecutar aquí le pongo que si no me has puesto ninguna que dice «davis perez» y entonces, como ésta no necesita tu aplicación, no necesita query, no necesita nada hacemos un «upremote» directamente a la url y como veis aquí en la coma no hay argumento no hay cabecera, no hay nada entonces le estoy diciendo, sácame la url con el shortcode Sería todo esta URL warprep. org/vpjson/v1user/davisperes que si navegamos a esta URL que la tenía por aquí me va a salir el json, este es el json Mientras me dice, fijar lo que me da, me da un ID, que este ID no sé que será, pero yo tengo ya un ID aquí Me da mi nombre, que es el que yo he puesto allí, me da mi URL y me da mi descripción, el enlace, un Slug Me da los distintos avatars en distintos formatos, en 24, 48 píseles y 96 píseles me da un meta vacío y aquí me dice HRF Self y un Collector, que yo creo que se llama igual pero bueno, en la documentación no explicará un poquito más, pero bueno aquí se ve que está la URL y aquí está la. este JSON es el que yo tengo que trabajar, esto es lo que me da, aquí estaría guay que me diera las medallas que pusiera aquí como se llama las medallas eran batches y entonces te diera la medalla entonces podríamos hacer en propio que este plugin sería guay por eso para que tuvieran las medallas pero bueno se ha quedado ya mitad en un plugin sencillito pero bueno por lo menos para sacar y voy a enseñar resultados entonces claro yo ahora estoy trabajando con con esta petición le hago un remote y aquí devuelvo un response code y si me sale 200 recógeme la información. Aquí, a lo mejor, tenía que haber trabajado un «iset» para que no me dé fatal error. Los arrays que no tienen un definido una «key» aquí me estoy yo corrigiendo Aquí me dice si está definido esta variable y es 200 sigue pidiendo información. Hacía en Key Profile, le coge la información del body y lo decodifica. Esto ya, el Profile es un Array, del JSON que veía y un Array. Y vamos a verlo ahora, en un rápido. Aquí le meto un estilo, ya os digo, esto es que era un peche peche, está mal hecho porque los estilo se suele hacer en colan y todas estas historias, pero para el ejemplo no quería yo meterme en más archivos y más en colas. Entonces le meto aquí un estilo ahí jacodeado, esto no se puede hacer, pero no se debe hacer, pero lo he hecho para que se vea. Y ya empiezo a trabajar con esta variable que es la profile que me viene del API y ya empiezo a hacer. Importante trabajar con «iset», importante, porque sino mostráis fatal error en vuestro código. Una muy típica es, «iset», o sea, si está definido ese array y tiene valor, es sencillo, lo puedes hacer rápido con «empty». «Empty» es un «iset» también dentro, entonces si no estuviera definido te daría un falso, pasaría a siguiente entonces lo que yo le digo es si no está vacío la url va a avatar que habíamos visto el giso enséñame la avatar y aquí utilizo el 96 y aquí igual si no está vacío el profile name entonces yo voy enseñando la información y la voy mostrando y aquí he cogido pues la url vale aquí por ejemplo también tendría que decir si está definido esto para que aquí por ejemplo, vale, no, perdón, y set, vale, todos los keys estos los tengo que verificar que existen, pues si no me da, si por lo que fuera la, que no es el caso, pero tampoco tú no puedes estar supeditado a que la API te dé una información u otra, entonces tú mejor, oye, ya que estoy tocando este array, vamos a comprobar lo que esté definido y entonces ya lo ejecuto. Entonces le hago un echo y le hago un tar. Aquí como es un short call lo que hago es un return HTML. Entonces este es un sencillo, el avatar, el nombre y el descripción. Vamos a ver el resultado. Aquí no he trabajado el transing y vamos a hacer un transing para no machacar la API, entonces yo creo que aquí está, activamos el plugin error activamos y lo que dice es un shortcut y se supone que mira me ha cogido mi foto del avatar, me ha cogido el Davis Perez que incluso le he metido el enlace y la descripción. Esta página, imaginaos que la tengo mi página de Davis Perez Gar, porque quiero enseñar mi perfil de WordPress, etcétera, y empieza a ponerla. Entonces empieza a hacer peticiones, lo que yo quiero es esto cachearlo, para que no haga peticiones a la API. Entonces, ¿cómo lo haría. Pues con el tránsit, como ya hemos visto. Yo aquí tengo un truqui truqui que es. claro aquí veis que le hago un remote que es, vale. entonces yo lo que haría es hacer un antes de hacer la petición API cachearlo con el trance y ver que tenga una caducidad y ya lo muestro, vale. y si no me hace un remote que es, vale. entonces por aquí vp atrás, yo que tengo aquí un. entonces le digo, VPOR y la variable, perdón, VPORG, la variable que sea user, «vpUser» entonces, el «transient» yo le diría «getTransient» ¿lo veis. me parece que se ve poco, ¿no. no habéis quejado, ¿eh. estáis callados, no sé si os estoy aburriendo ¿estáis asustados. están asustados, que sí le hago un «getTransient» de esta variable que yo me la he guardado así en mi base de datos y si no existe o me da un false porque el false te lo provoca si saca ducado pues hace esta petición. Entonces yo lo que haría es. aquí rápidamente. bueno no. a ver, para hacerlo bien lo que tendría que hacer es guardar la raíz del profile, o sea tendría que cachear esto entonces lo que haría es. un de estos. aquí. y un de estos. así rápido, vale, entonces yo guardaría realmente el profile, que es el array de mi usuario con una caducidad de tres horas, entonces cada tres horas la primera petición siguiente haría una petición API y la guardaría en mi cache que es «web org query user» y a partir de aquí ya empiezo yo a hacer comprobaciones, ya le hago lo del HTML y todo eso. Entonces si si da alguna vez error, pues mostraría vacío. Siempre tenéis que cuidar mucho el tema de la. Voy a quitar el tránsito. Le cuidar el tema de las errores fatales y todo esto porque podamos crear tragedias en páginas web que dejen de funcionar y si a lo mejor es parte del contenido no te carga el footer y los footers muchas veces están los JavaScript, o sea que te puedes cargar páginas web si no trabajas con lo Icer, en lo Array y en lo Enty cuando queramos definir valor. No sé, Spotify tiene aquí. ¿Pasa de Spotify. El estudio hecho en multitud de documentación. Mira, web, APIs, mira. por ejemplo, aquí podría yo enseñar con esta API la lista de mi música y la podría enseñar en mi página web Esto es muy interesante, ahora me acabo de acordar porque los software normalmente tienen la mala costumbre de darte, oye si incluye, por ejemplo, una aplicativa de reserva de viajes y te dice no pues hazle un iframe en mi página web página web, pero los iframes no posicionan, no guardan el SEO, entonces puede ser que deje de mostrar información a Google porque el software no te ha dado la información bien entonces la app y también el SEO muestra información del aplicativo en mi página web y posiciona, los iframes no posicionan, vamos de tiempo entonces eso claro el app y también ayuda al SEO, porque te muestra estos planos que tú después la puede utilizar. Cuando no tienes documentación de la API, ¿podrás hacer algo como pasar a por los WSEDS y hacer una petición para que se vea. Se que de todo, se que de la selva. O no hay manera. Sí, sí, hay veces que la propia API, cuando tú metes la URL, te da como una petición. Hay veces que sí. Pero es que está preparada la API, ¿no. Sí, sí. Sí, sí. ¿Por eso te refiere a una lista de Mero. Sí, método, sí, te lo tienes que dar de alguna forma. ¿Y si lo han desarrollado así. ¿Y para el list. Sí, había alguna API que tú le daba un parámetro y te daba la. Ha sacado una IA, que es bastante producida, pero. Al final, el micro se ha olvidado. (Pedidos) (. . . ) Solamente se les hace la URL. Claro, primero que se hable la URL, que si no, no te la puedes inventar. Y claro, aquí por ejemplo, aquí te dice «require HTTP». Estaba viendo aquí si encontraba yo algo. Este está dando el código para hacerlo a través de. . . Aquí te da aquí alguna opción, etc. Al final, las de WarpPres, por ejemplo, aquí tiene. . . Pues no sé decirte, vamos a probar un día para hacer la prueba y si nos dejara. Si le ponemos esta base. . . Mira, justo aquí tiene el ejemplo. Fíjate, le he dado la URL de base, la de WarpPres. org y me está dando, esta es la versión 1 del API y aquí tiene los endpoints, que son las peticiones que puede hacer tiene por get, tiene métodos get ah mira, aquí está, este es el que utilizaba, el user Aquí tiene user, entonces si me hace petición de www. warp. org/v1, aquí, si hace esto, /vuser, aquí te va a encontrar un argumento, ya te vas leyendo, sí, más o menos se entiende, ¿no. Sí, el argumento. Paginada, ocurre en página de collection, que es por defecto de uno. Claro, si tú te dices algún usuario no vas a tener paginación. Per page, para que tú puedas manejar la paginación. Esto está bien, porque tú dependiendo de tu aplicativo, si a lo mejor estás haciendo. . . Pero hecho que esto no lo lanzan todos en las ambiciones o. . . yo te digo, es una selva yo me he encontrado software que me dice no no, API, eso que es API yo te doy un CSV y tu ya lo gestionas hombre, vamos a hacer lo mismo porque yo, la API la puedo controlar yo cuando yo quiera y puedo hacer peticiones de modificado por ejemplo, lo del modificado diréis que he hecho rada, yo podría darle una petición modificada en la ultima hora así no lo tiene pero es un montón entonces que tenes que hacer pues eso, buscarte la gente pues eso, buscarte la vida como hacemos todos. Te traes toda la base de datos, te traes con lo ineficiente que es porque la API tarda más, te traes toda la base de datos, la gestión, yo también he hecho por ejemplo tablas intermedias, que hago, a ese Hordes por ejemplo no tengo lo último de FICA, ¿cómo lo resuelto. Pues me he hecho una tabla intermedia personalizada en WordPress que le guardo el ID de producto y una baliza 1 o 0 entonces lo pongo todo a cero y entonces lo que hago es cojo todos los productos me los guardo en esa tabla y ya cuando haga yo la petición le hago pues cada 5 cada 10 y voy recorriendo esa tabla y voy dándole un 1 cuando la he terminado de bueno, una solución si, si, efectivamente pero es que el modifi. . . no, lo que hago es recorrerlo porque si me diera el modifiye podría guardarlo también en otra columna que fuera modifiye entonces yo haría. . . eh. . . dame los modifiye pero no y esa es super usada, esa la he usado yo un montón pero es que te encuentra de todo va entonces, pues si, que es la cerpa A ver, si el cliente, primero el cliente, que normalmente suele ser el cliente que utiliza ese software entonces el cliente normalmente paga esas herramientas, entonces le dice «oye mira que mi desarrollador me está diciendo que no puede interactuar con vuestra API, ¿qué pasa. » suele tener más presión el que paga, el que tú que estás. . . el que cobra, justo, de frente a gente Yo de hecho alguna vez le digo al cliente mandale un correo y yo que me de cariño Otra cosa que suele pasar, cuando tu estas desarrollando y escribes en base de datos No puedes hacerlo en producción, imagínate que estas haciendo pruebas, metes un producto de etc Y empiezas a asociar en su base de datos, pues que solo has pedido una cuenta de pruebas A partir de la una es terapia de grupo. Las que tienen una cuenta de pruebas es fenomenal, estupenda porque tú te conectas y empiezas a escribir. Lo típico de «hoy hago un pedido y lo quiero escribir en tu aplicativo». Pues claro, para hacer mis pruebas tengo que meterte datos. entonces pides esa cuenta de prueba, si te la dan, si no te la dan, ¿qué haces. Pone una cuenta gratuita, porque no vas tapando una aplicación y si la utilizas, y además suena a ser una aplicación muy caro, o bueno, depende de ello todo. Puedes hacer una cuenta de prueba gratuita, sí, sí, te llama al comercial, oiga, que he visto que está interesante en nuestros aguas, y tú, no, yo sí he desarrollado, mi cliente sí lo utiliza, pero como no tenéis cuenta de prueba, yo tengo, bueno, historia, que os voy a cantar. Entonces, pues estas cosas son truquillos que vas haciendo conformado, te vas peleando con la API y entonces las cuentas de pruebas suelen ser para. . . cuando hay el solo de lectura que un crítico dice «no, no, léeme mi. . . «, no te hace falta, hace un guide y ya está. Y sí, entonces pues ya es lo que te vaya encontrando, es una silva. Ya digo, yo mi pelea la última vez fue con una persona que me mandaba un CSV, yo pensé que con un CSV qué hago, cuándo me lo dejas, no sé ni cuándo me lo dejas, afinar que tenés que quedar, a que hora me la vas a dejar. (. . . ) Sí (. . . ) (. . . ) Sí, sí, sí, ahí, cosa, ahí terapia de grupo, a partir de ahora de terapia de grupo, vamos a contar historias, pues sí, te encuentras de todo, vale lo mejor es tener tu documentación, de hecho, a ver vosotros que tenéis clientes y te van diciendo cosas, mira que quiero que mi WordPress me tenga información tal, a ver que que tu utiliza, normalmente si el cliente ya tiene un software ya te adapta, pero si no tienes software pues tu le vas diciendo mira yo este tiene un API con este si no te importa tal, entonces tu vas viendo un poco, también le cierra un poco al cliente en el sentido de oye si el software que estas viendo lo vas a contratar, no tiene API, cosas raras, también la API es una forma de factusol, bueno no, factusol tiene happy ahora justo la última mitad que hay en malaga nos decía que alguien tenía que conectar a factusol si tiene la base de datos en la nube, si la tiene en local no ah vale, ahí hay mucha creación y el cambio mental es lo que sale si, efectivamente, otro llega al otro y dice mira que me estas pidiendo happy eso vale no se cuanto más y bueno ya dependiendo un poco no suele ser una cuenta mayor así lo que te cuente es para encontrar mal formateado Jason o te lo metes en un stream yo una vez digo porque no me coge bien el Jason y era porque estaba entre comillas hacía una cosa rara y tenías que formatearla otra vez antes de hacer el JSON de code le tenías que hacer así, me hacía una cosa muy rara entonces al final pues eso es, así como modo resumen y me vais preguntando más cosas primero documentación me documenta, que me dé documentación que yo sepa ver qué autenticación tiene, si es la de api perfecta, porque tu con una api te la metes y la coges, la guardas en un base de datos, perfecto, que es por token bieres, pues nada, hago autenticación, cojo el bieres, lo puedo guardar también en un transient token bieres, me veo la documentación en cuanto tiempo me caduca el token mirror. El token mirror, qué pasa, que tú a lo mejor calculas un tiempo que no se ejecuta, pero no sé si siempre se ejecuta ese tiempo a la misma vez. Entonces tienes que hacer una comprobación en la función de que el token mirror no esté caducado para poder regenerarlo. historia que tenés que encontrar. Yo les digo que el 80-70% de Api casi siempre es la ApiKey que es lo más cómodo. O tienes que hacer más comprobaciones. Si el toque me da ropa pues le hago otra petición. Entonces echadle un vistazo, al final no nos da tiempo a ver el código que pongáis, pero yo digo que cualquier cosa, como tenéis mi página web, me preguntáis sin problema. Entonces utilizar VPR Mode, vamos a ver si os estamos haciendo el resumen, la documentación bien documentada que podamos interactuar, el cliente tiene el poder, que paga tiene el poder, con lo lo cual yo puede pedir documentación, cuenta de pruebas y voy a escribir datos no lo escribo en el cliente, lo escribo cuando ya esté terminada la programación repaso la programación, me pongo a programar y ya partí de ahí por hacer pruebas, errores y terminar el trabajo. Y sobre todo utiliza Abstrancia, cuando tengáis peticiones siempre es importante la Abstrancia. Ya digo, para la lectura de este ejemplo que he hecho yo del pre-fit, no lo pondría en producción si no fuera con un transient porque es que si no lo publico en el repositorio y ya dicen «encontra me va a empezar, me genera que tenéis un poco de éxito y hacéis un play y se conoce mucho» ahora empieza, podés cargarte un servicio rápidamente, claro ellos tienen sistema de bloqueo para que su servicio siga disponible a los usuarios pero claro daría un mal servicio porque los usuarios «oye que le estoy dando y no funciona» que no sé qué claro todas esas cosillas el transient te garantiza que tú haces bien tu trabajo. Es muy fácil, le pon una caducidad en segundos y ya lo estimas. Yo que suelo poner, como son cada tres horas, la primera petición la hace, pues tampoco gusta más. Que hay una información que no cambia mucho, que dices tú, bueno, tarda, pues le pones seis horas, un día, no importa, y puesto tres días entonces ya el transing no te sirve transing es para cuando tú sigues, la vayas pidiendo pero no, tú lo dices por lo de las finanzas, no. ahí el transing no te sirve lo que pasa es que tú te la tienes que guardar o en base de datos o un transing de ese lote de datos (hombre hablando) No, no, es así. Eso también es efectivamente. Estás ahí y tránsit no te sirve, por ejemplo. Porque tú no le vas a enseñar una información caducada al cliente. Para ponerle minutos no te sirve. A no ser que, a ver, tú puedes poner 60 segundos un tránsit, no pasa nada. Sí, para que, por ejemplo, no estés pidiendo. Claro, tú piensa que. Para eso estás pensando, para que tú no hagas las peticiones siempre, o sea, la hagas solo la primera vez. Si tienes, por decir algo, mil visitas, no son mil peticiones, de a pi, son mil visitas, o sea, una petición cada minuto o lo que sea. Sí, sí, vas probando. Aquí yo he dado un poco las reglas, pero que a partir de ahí, la primera vez que lo utilizamos. Voy a dar las bases, ya estéis trabajándolo, ¿vale. (Murmullos) No, no se escucha, simplemente se queda grabado. No me acuerdo de la obra. (Risas) Quería preguntarte cómo haces el logueo o traqueo de las acciones que haces para si actualizas en base de datos en remoto, por ejemplo, si te integras con Holder, puedes hacer la petición para comprar un servicio producto, ¿eso es lo que haces de alguna manera. Sí, en Google Comer hay un método que está súper bien, que es de Vloz, que se inter, que. que lo voy a enseñar. Deboog Log Ad o algo así era. Deboogie, mira que está de boogie no, esto no es lo de ahí. Hay un método que es log, es que no me acuerdo, lo he trabajado, pero para Tiendas Online lo suyo sería vale no me acuerdo si no luego no me acuerdo como vamos a estar por aquí que yo voy al código para que no se que he grabado todo pero que hay si hace una tienda online puede utilizar un método que tiene Woocommerce que con el objeto. ¿tú acuerdas Pedro. hay un objeto que tiene WooCommerce que es vc2. lo me parece, estoy hablando de memoria, se lo registro, entonces tu le metes un comando y a lo mejor puede ser la devolución de que te da el API y cuando te de error, pues tu tienes un código para el código 200 si no has código 200, guardame el error, entonces le guardas ese log y entonces en Google Commer, en status log, ahí se encontraría, es muy facilillo, está muy bien, entonces ya dependiendo, ¿qué. sí sí sí para Google Commer sí, sí, seguro. Es que Google Commer tiene dos cosas muy interesantes para la API. Tiene el Actions Schedule, que es como una librería para hacer peticiones por debajo. Utiliza Google Commer Subscricions y todas estas para que se hagan las peticiones. Buscaste un Schedule, va muy bien. Y tiene otro que es lo de Debug. Que no, pues te puede guardar. La mayoría de las veces, como suelen ser las indicaciones que tú pones una página de ajustes y tú le pones usuario de contraseña, le da a guardar, pues ahí lo que hago es enseñar, la ventanita está de warper que le hace un aviso le pongo error, no se ha podido autenticar, ser típico más a esto entonces le hago un echo y directamente salgo bookcommer, usc. deboot, o sea lojo o algo así y el nombre, ya te he puesto el nombre que me ha faltado cuando tu haces una petición de API te suele devolver el error te da un código y te da el mensaje pues tu solo guardas en el log y ya está, entonces si ha pasado algo, te va el log y lo ves que no tuvieras esto y quieres tener, pues puedes hacer una ombra personalizada y voy guardando el log y luego en la aplicativo le pongo una configuración y le pongo una página de todo pero si hay Google comers tienes ya el método ya todo hecho, no tienes que poner más, simplemente una línea y ya está «WC_GYUN_LOGGER» y ahí tiene métodos como alert, para alert, clear, para limpiar, critical, para mostrar critis. . . Es una app más raro ya está, no, no sea crítica, no sea que sea un funcionamiento de. . . Sí, está de lo chulo que lo puede guardar, lo guarda. A mí sí me gusta meterlo directamente y así lo guarda. ¿Una puntilla más. ¿Sí. ¿No. Bueno, me tenéis por aquí. Si tenéis alguna pregunta de vosotros, me decís. Muchas gracias. . --- ## Mesa redonda: Qué significa contribuir con la comunidad de WordPress URL: https://davidperezgar.com/blog/mesa-redonda-que-significa-contribuir-con-la-comunidad-de-wordpress/ Han conseguido tanto personalmente como laboralmente el colaborar con una comunidad Open Source, porque muchas veces estamos hablando de colaborar con WordPress, colaborar con este tipo de tecnologías Open Source, pero vamos a ver de primera mano lo que verdaderamente ha dado el colaborar con este tipo de tecnologías. Bueno, y sin más dilación, que vayan pasando y vamos sentándonos por aquí. Un aplauso. (Aplausos) Bueno, pues lo primero, para que vayan entrando en calor, me gustaría que cada uno de vosotros os presentaráis, ¿vale? Algo cortito, por favor. Bueno, me gustaría que al menos contáis en qué WordCamp, por ejemplo, empezaste. ¿Alguno tenéis que recordar? Bueno, la primera. Bueno, yo soy David, yo me estrené en la WorldCamp Chiclana, se lo estaba diciendo a Paco y fue en el año 2016 y bueno, me dije yo, bueno, en una WorldCamp, un evento, 2016, 17, pues 17, no me has corregido, eh. Claro, eso es la verdad. Y bueno, yo ya he llevado tiempo contribuyendo a la comunidad, y entonces fue un poco el enganche de entrar a un evento y conocer a la gente. La verdad es que la comunidad es… Ya veréis, salís con las pilas cargas. Yo tengo una agencia de marketing, actualmente somos 13 personas, y bueno, pues gestiamos todo este tema, este de marketing digital, y también el desarrollo todo basado en WordPress. Ha sido cortito. Bueno, buenas a todos. Lo primero que quiero decir es que lo hemos hablado antes detrás de Bambalinas y es una alegría la gente que asistimos desde hace muchos años ya, podemos decir, a la WorldCamp el llegar a un evento como este y no reconocer a la mayoría de las caras y eso es muy buena señal así que os doy la bienvenida a todos los que es vuestra primera vez, ¿de acuerdo? Yo soy Jaime Gármar, llevo tocando Warpress desde el año 2013 pero realmente descubrí la comunidad por el año 2017. Mi primera Work Camp, creo que fue en Madrid 2018, en la cual asistí por primera vez y como oponente. Y desde… Sí, culpa de Fernando Tellado. Y desde ese, pues, bueno, como casi todos los que estamos aquí, pues hemos intentado no parar. Tengo una empresa, Destaca SL, que es una empresa especializada en mantenimiento y soporte WordPress, y actualmente somos un equipo de siete personas. Entiendo que habrá alguna preguntilla de qué nos ha dado la comunidad, pero mi empresa está totalmente construida gracias a la comunidad y luego os explicaré por qué. Muchas gracias. -Buenos días a todos. Hola, Carla. Me ha hecho ilusión ver a Carla Patricia. Que viene desde Canarias. Vengo de Madrid, soy Ana Cirujano, diseñadora de negocio digital. Mi primera Workahm fue Workahm Madrid 2017. La segunda fue Work in Chiclana 2017, que fue la work in que me cambió la vida, que ahora vamos a profundizar más en eso. Os sonará ahora como un poco raro, pero el domingo por la mañana a lo mejor me entendéis un poco mejor. Tengo un podcast que se llama Un Billete a Chatanuga en el que hablamos de negocios online, marketing y diseño web, que os invito a que escuchéis. También lo emitimos en un canal de YouTube. También tengo una academia online de lo mismo, diseño, marketing y negocios online con Pablo Maratinos, que es también mi compañero en el podcast. Y soy embajadora de marca de Piensa Solutions, que es una empresa de hosting barato, que tiene un plan gratuito especializado en WordPress, que os invito también a que uséis y aprovechéis, que está fenomenal. Y como era cortito, pues yo creo que suficiente. Bueno, yo soy Jesús Yesare y… Sí, bueno, ya lo contaré mañana, que yo era geólogo, pero como a mí me tiraba mucho la informática, pues al final entre en el mundillo de las páginas web. Y WordPress, a mí me ha dado mucho porque, bueno, primero, el mundo de las páginas web fue muy árido hasta llegar a WordPress y mi vida fue muy árida hasta llegar a la comunidad, fue en 2017. ¿Por qué? Pues porque estás en tu casa solo, enfrentándote a los clientes, en la cueva metido y descubrí un buen día que comenzaba la comunidad en Granada y el creador de esa comunidad, que es Fran Torres, que mañana lo vais a tener, bueno, hoy lo tenéis por aquí ya mismo, pues resulta que un buen día después de ir a dos o tres meetups me dijo «¿Quieres organizar una work-in?» Dije «¿Qué es eso? Dice eso da igual». Y me metía a organizar una work-in, yo no tenía ni idea de lo que era. Pude haber venido a Chiclana, pero hay dos que no me avisaron y no vine. Y me lo perdí y organizé esa work-in. Habría cambiado mucho la work-in Granada si yo hubiera venido. Y conocí una Workan desde dentro, sin tener ni idea de lo que era una Workan. Salió muy bien y luego fui organizado de nuevo. ¿Qué me ha dado la comunidad? Pues muchísimo. Primero, conocer a toda esta gente, que es una maravilla. Y no siempre, pero una maravilla. Y sobre todo también le debo a mi trabajo que trabajo como técnico de soporte en boluda.com y claro no ha sido directamente por eso pero si me ha ayudado mucho el que el haberme hecho visible en la work camp Así que, y ahora pues, ya estamos la mañana con Javier, ¿no? Hola, yo soy Javier Casares, empecé en WordPress en 2005, con la versión 1.5, había estos días revisando, ahora contaré, revisando unas cosas, en realidad empecé a hacer cosas con la 1.2, o sea que nos podemos remontar un poco antes. Hablando de eventos, yo creo que mi primer evento debió de ser… Podría ser Sevilla 2012, pero tampoco lo tengo claro, creo que podría ser antes. Esa es la primera que sí me dio recuerdo. Recuerdo eso. o sea, así un poco más experiencia personal. En 2015 yo fui el organizador de la Workaholk en Barcelona, yo soy de Barcelona, aunque ahora vivo en Granada, y en mi día a día hago mil cosas, así las dos principales, tengo un podcast que se llama WordPress Podcast, cada semana en diez minutos resumo toda la información de la comunidad de WordPress, ahora estoy además haciendo entrevistas a gente con estos perfiles dentro de la comunidad y dentro de poco va a haber otra cosa más dentro del podcast y dentro de la comunidad yo soy uno de los actualmente uno de los cuatro representantes globales, mundiales del equipo de hosting y ahora además que por eso la charla que daré o el taller que daré mañana también estoy metido en el equipo de documentación, estoy ahí llevando un proyecto y mañana es una de las cosas que comentaremos. Menos mal que era la versión corta, pero bueno. Vale. Menos mal, menos mal. Vale, pues con la primera pregunta me gustaría empezar, sobre todo, como hay tanta gente nueva, siempre nos suelen enseñar a cobrar por nuestros servicios, si hago algo lo tienen que pagar, pero ahora estamos viendo todo lo contrario, ¿no? El contribuir con una comunidad open source, o sea, dar nuestro tiempo para algo mayor, ¿no? Como por ejemplo en este caso el WordPress, ¿vale? Entonces la pregunta va a qué un motivo a empezar a contribuir con la comunidad de WordPress. Bueno, a mí yo ya estaba contribuyendo a WordPress un momento y era por necesidad. Las traducciones, como la puerta de entrada, van a mucho porque ver el plugin antes era más necesario, ahora es verdad que hay mucha comunidad y de verdad que es un drama en otro idioma. Vete a Latinoamérica, nosotros hemos hecho una tienda en Latinoamérica y no está ni el Gucco me lo ha traducido. Entonces, ahí va el verdadero drama de decir, ostras. Entonces, yo entré con la necesidad de traducir plugin. Entonces, dije, cuando ya te permitían subir las traducciones, dije, por contra, voy a subir las mías y así se beneficia uno y yo beneficio del resto. Entonces, efectivamente, ves una necesidad y luego poco a poco vas profundizando y es verdad que coges muchos contactos, gente muy válida que puedas preguntar, de verdad, pararnos cualquiera, preguntarnos cualquier cosa que vosotros necesitáis porque estos son momentos para que todos estamos abiertos para conocernos y para incluso por ver cosas profesionales, oye no entiendo esto porque… y un poco siempre ha sido por necesidad y a partir de ahí uno va conociendo más profundidad y va conociendo más gente. Bueno, yo conocí la comunidad WordPress, un porco casi casi de rebote. Vi en una red social, creo recordar que era Twitter, no lo recuerdo bien, que existía algo llamado Meetup.com y que se organizaban eventos de distintos tipos. Entonces yo cuando ya llevaba unos años viviendo en Madrid y me dio por buscar WordPress, me apareció una Meetup de la Sierra Norte de Madrid que la tenía a pocos kilómetros y dije me eché la manta a la cabeza y dije pues voy a ir para allá. Pues justamente vi con la Meetup de no sé si le conoceréis un tal Fernando Tellado, no sé si os suena alguno. de los que dicen por ahí que no, os terminará sonando. Fernando Tellado para que lo sepáis es uno de los pilares, podemos decir, dentro de la comunidad WordPress España y mundialmente también, por qué no decirlo. Pero bueno, conocí a esta persona que lleva en el mundo WordPress muchos años y entonces me dijo, oye, tú que estás empezando, que eres tan hecho para adelante, pues yo le preguntaba, oye, ¿cómo se puede colaborar aquí? Me quedé flipado, de acuerdo, o sea, el llegar, que la gente diera su tiempo, diera formación de forma totalmente gratuita, que te explicaba todo lo que sabía de forma gratis, mi cerebro explotó. Y entonces me dijo, oye, pues lo que tú sabes si quieres, prepárate una pequeña ponencia, vente aquí, da una charlita y demás. Y así poquito a poco empecé a entrar, luego ya hablaremos más de lo que nos ha dado la comunidad, pero como dice Ana, fue una cosa que cambió totalmente mi vida, porque yo entré a conocer una comunidad que desconocía totalmente, una comunidad de un software que en ese tiempo no me estaba dando de comer, pero ya empezaba a darme mis primeros ingresos, y al final, en resumen, todo esto es un poco el devolverle a ese software que todos utilizamos, o la gran mayoría de los que estamos aquí, y nos nutrimos, nos aprovechamos de ese software, un poco devolverle el favor para que siga en pie, para que crezca y, sobre todo, para compartir que, oye, que al final también es muy bonito compartir con los demás y ayudar a otros y aprender también, por supuesto. Vale. El mundo del software libre, yo creo que es, sobre todo, emocionante y apasionante. ¿Por qué? Porque aprende. Cuando estás contribuyendo, cuando estás colaborando, estás aprendiendo un montón sobre WordPress, que es la herramienta con la que haces las webs, pero sobre todo por la gente que conoces, por los contactos que haces, por las relaciones personales, por los amigos que conoces. Entonces, yo creo que lo resumiría en, ¿por qué contribuyo? Porque lo disfruto, porque me lo paso muy bien. Es verdad que aportando a WordPress haces que WordPress sea sostenible, ya que es un software libre y gratuito, ¿cómo se sostiene? Porque hay personas que aportan su trabajo y su esfuerzo, pero a cambio de qué, ¿no? Pues a cambio de obtener eso, de pasárnoslo bien, porque lo disfrutamos mucho, de aprender cosas que nos sirven para nuestro trabajo diario, y porque nos lo pasamos bien. En definitiva, es disfrutar, disfrutar contribuyendo y disfrutar compartiendo ese trabajo con las personas que conocemos. Además, luego estos contactos se convierten realmente, aparte de poder irte de cervezas, que es muy importante, porque hay cervezas o refrescos, se convierten en trabajo. Yo el 100% de los trabajos que hago en mi día a día los hago gracias a personas de la comunidad, personas que me han recomendado a mis clientes, personas que me han contratado directamente, empresas que me llaman porque me conocen, porque me han escuchado dar una charla. Todo el 100% viene gracias a contribuir en la comunidad WordPress. Entonces, empiezas porque lo necesitas. Yo empecé también en el equipo de traducciones. Y sigues, uno, porque lo disfrutas y, dos, porque te da de comer. ¿Por qué contribuyo en WordPress? ¿Por qué no tengo más narices? Porque es que me veo obligado. Es que yo llegué a WordPress. O sea, yo me… Un día escuchando el podcast del que en aquel entonces no era mi jefe, dice, «En Granada se ha abierto la comunidad de WordPress. A las 7, en la primera reunión, miro, no llego. A la segunda reunión, fui. dos o tres reuniones después, ya era yo ponente. Bueno, ponente. Eso creían ellos. Yo lo que hice fue engañarlos porque creían que les iba a dar una charla sobre cómo poner precios. En realidad lo que hice fue una terapia de grupo para que todos se desahogasen y pusiésemos un poco en común cómo ponemos precios, cómo nos fastidian un poquito los clientes a veces, nos desahogamos, o sea, como toreamos las situaciones duras, aquello fue muy chulo. Tres horas, ¿eh? La más larga, tengo el récord. Claro, me ayudaron tanto, me ayudaron tanto y a continuación esta encerrona de ser organizador de Work in Granada, que de pronto descubrí, yo venía de un momento difícil, me iba mal en el trabajo, me sentía muy solo profesionalmente y de pronto descubro a todo este grupo de profesionales que en vez de hacer de ir en plan, oh, esta es mi competencia, este no sé qué, este no sé cuánto, al revés, me ayudaban, oye, si necesitas no sé qué, mira, a este, yo haría esto con este cliente, yo no sé qué, incluso ya contaba con ellos para que si algo yo no podía hacerlo, sabéis eso de que cuando empezáis de autónomos os metéis a lo que sea, no lo hagáis. O sea, si algo no está a vuestro alcance, pues es mejor tener a alguien que sabe más el que tiene el teléfono del que sabe que uno mismo. Entonces me ayudaron tanto que cómo no voy a contribuir en WordPress y empecé por las traducciones que es verdad, es necesario traducir los plugins, etcétera, pero luego me he ido metiendo y ahora estoy metido en más cosas. Aparte de organizar eventos, ahora estoy un poco más en documentación, en historia, en fin, que yo me siento obligado a hacerlo, pero me siento obligado con gusto porque me lo paso bomba con esta gente. Así que yo creo que es más lo que yo he recibido que lo que he dado desde luego. A ver, yo creo que mi forma de entrar y de contribuir a la comunidad es completamente diferente a la suya. Yo supongo que porque vengo más de, digamos, siempre una de las cosas últimas que estamos hablando mucho es como de las generaciones que ha habido en la comunidad de WordPress. Claro, yo soy como de la primera generación. Pues claro, la forma de entrar es muy diferente. Yo en realidad empecé a usar WordPress. O sea, para mí era, yo monté un WordPress porque tenía una necesidad, empezamos a publicar y demás. Y yo en esa época me dedicaba a hacer, os hablo de 2005-2006, me dedicaba a hacer temas de SEO, algo de web performance, de lo que en aquel momento era web performance, cosas de sistemas, de programación. Yo vengo de esa parte. Y creo que mi primer evento real relacionado con WordPress no fue en un evento de WordPress, fue en uno de Drupal o de Joomla. Sí, es bastante curioso porque fue un evento en Madrid. es que no, fíjate, esto hablo, ahora yendo todavía más para atrás, has preguntado antes la WordCamp, pero es que yo vengo de atrás. Esto estaríamos hablando de 2010, 2011 o por ahí, o incluso antes, están los vídeos por internet. Y entonces hicieron como una especie de medio debate, batalla de WordPress versus Drupal. Y entonces me llevaron de Barcelona a Madrid solo para eso, para esa batalla. Y acabé ganando yo la batalla en su terreno. Entonces, yo hablaba de WordPress en todas las charlas de SEO, de cosas digamos más profesionales que no tenían que ver con el propio WordPress. Y ahí es donde empecé a entrar y donde me empezó a conocer la gente del mundillo WordPress sin ser parte de la comunidad de WordPress. cuando ya empezaron a preguntar, no éramos tantos en aquella época, cuando empezaban a pedir gente del mundo de WordPress para dar charlas, yo era una de las caras visibles que me había colado ahí de rebote, pero no formaba parte de la comunidad WordPress. Yo en realidad, si tengo que poner fecha de inicio, es la fecha de mi perfil de WordPress, que es sobre 2012, que seguramente sería cuando coincidiría con Sevilla, que me tuve que dar de alta para aparecer en la WorkCamp o en alguna bandana rara. Entonces mi entrada fue por ahí y claro no es lo normal. Fijaos que la mayoría es… no, yo estoy traduciendo tal porque vosotros fuisteis a contributos, a cosas que existían, que existen cuando yo… no había nada, no había WorkCamps cuando yo empecé. Entonces luego ya tengo una segunda fase, que es, ya soy conocido, digamos, dentro de WordPress, me dedico medio profesionalmente a hacer cosas de WordPress, sobre todo usar WordPress para temas de SEO, para temas de performance, ayudar más en modo consultoría a lo mejor, y entonces te empiezan a llamar para cosas de SEO, para dar charlas de cosas de lo que tú haces. Yo sé de esto, sé de ¿Utilizo WordPress? Pues vamos a hablar. Ahí empecé, por ejemplo, también, más en la parte de lo que hago ahora, que es más la parte de hosting sistemas, a escalar WordPress. Entonces, llegó un mundial, montamos una web y tuvimos– llegamos a tener en el contador ese del Google Analytics, os hablo de 2008, puede ser, 15,000 usuarios concurrentes. O sea, reventó la máquina y se montó con 7 WordPress en paralelo. Bueno, aquello era la NASA. En aquella época nadie montaba eso. Y entonces me empecé a dar eso, a hablar de otras cosas que no eran ni SEO ni tal. Y fue ahí un poco el punto de inflexión de empezar a ir a dar charlas a las work camps. Entonces yo no era parte de la comunidad como tal hasta ese momento en que empiezas a ser parte de la comunidad sin querer. Y empiezas a dar charlas y entonces empiezas a ir a los contributos. en los contributos, pues estás ahí, eso, te metes en cualquier mesa, porque no saben muy bien a lo que vas, que es lo que os estará pasando ahora mismo, que diréis, ¿qué mierdas hago aquí? Vale, entonces, luego lo veréis, y os sentaréis prácticamente en las mesas que vamos a llevar nosotros. Y entonces fue un poco eso, el descubrimiento de, hostia, aquí hay más cosas. Y el tercer punto que, digamos, es la actualidad, lo marcó la World Camp Granada del 18. Que ahí conocí a una… Bueno, fue Sevilla, que fue como dos semanas antes, ahí conocí a Mike. ¿No? Es que sí, fue 18, sí. Fue la de Sevilla que conocía a un chico, un americano, estaba por allí, y dije, «Esto me interesa porque nunca nadie había hecho una mesa de core». Nadie había hecho nada de eso en un contributor. «Me voy a ir a ver qué mierdas es eso, porque eso me interesa mucho, solo por chafardear». Y dos semanas después, este chico también estaba dando una charla en Granada. Y en la cena que tenemos el día antes, hablando de cosas, me dice «Ah, pero si hay un equipo de hosting en la comunidad, ¿qué me estás contando? ¿Hay un equipo de lo que yo hago? ¿Me estás diciendo que me puedo meter ahí?». Y entonces, me metí. Me empecé a ir a las reuniones semanales, o sea, estuve en la mesa de hosting que organizó él en Granada. Luego me fui a las reuniones semanales, empecé a ver cómo funcionaba aquello. Obviamente, ya esto es a nivel global en inglés, con las limitaciones que yo podía tener. Y ahí empiezas a hablar y la gente te empieza a hacer caso. Y te dicen, ah, eso que has dicho es muy buena idea, vamos a hacerlo. Y dices, perdona, o sea, que vais a cambiar una cosa de WordPress porque lo he dicho yo. Y entonces, claro, empiezas poco a poco, poco a poco hasta la actualidad. Desde hace tres años me han colocado como responsable del equipo de hosting, no sé todavía por qué. Y hace seis meses, en agosto, alguien del equipo de documentación vino al equipo de hosting a tocar la puerta y dijo, oye, ¿tenemos aquí un problema con la documentación técnica y es que nadie se hace cargo de ella. Como esto, más o menos vosotros sabéis de esto, ¿alguien os interesaría ayudarnos un poco, y aquí es la palabra clave, era un poco con este tema de la documentación? Bueno, venga, pues yo me meto, que ahora en agosto no tengo nada que hacer. Qué desastre aquello. A partir de ahí me han colocado como responsable de la documentación técnica mundial de WordPress. Yo no escribo nada, es lo más divertido. Yo organizo todo, pero no escribo la documentación. Sí, soy un poco el que lleva las marionetas. Hoy, por ejemplo, en la mesa de esta tarde de hosting/documentación, lo que veremos es un poco eso. Ya veis un poco todo el camino, pero vamos a centrarnos un poco en todo eso. Si sabéis un poco de cosas técnicas, lo veremos esta tarde. ¿Me vas a dejar un micro a mí solo? (Pedro y Juan se acercan al video) Bueno, pues después de contarnos su vida, creo que habéis coincidido todos en que contribuir con la comunidad os ha dado más que lo que vosotros habéis aportado, tanto ya a nivel personal como a nivel laboral. indagar un poco más en ese punto de qué beneficios tanto personal como laboral os ha dado pues contribuir con la comunidad de WordPress? Empieza por ejemplo… Bueno yo beneficio siendo escueto, sobre todo mejor profesional. A mí me hace mejor profesional estar en la comunidad. ¿Por qué? Porque estoy mal día de todo lo que pasa en WordPress que me afecta mi trabajo, veo las nuevas tecnologías, veo… todos tienen aquí su postcard, también tengo uno con Jesús que por ahí está archivado, pero está dormido, pero estoy al día que son súper importantes y en ese toque estamos todavía más, entonces yo estoy muy conectado en lo que sale nuevo, entonces siempre estoy experimentando y en la workbench muchas veces Dices tú no aprendes, no siempre aprendes porque dices oye, ahora ha salido full side de tiempo quiero verlo con compañeros como lo estáis haciendo vosotros día a día y compartes experiencias. Entonces a mí lo que me ha hecho mejor profesional totalmente, pues estoy más conectado, tengo más y luego muchas relaciones, o sea muchos proyectos como dice Jesús del autónomo que tal o incluso una agencia, tú tienes muchas conexiones de gente oye tú puedes hacer esto, yo puedo hacer lo otro, tengo un proyecto que necesito esto, entonces te crea muchas relaciones y al final te hace prosperar en un momento dado. Porque los proyectos al final hay que llevarlos a cabo y nunca sabes con quién te puede encontrar y eso es super importante. Entonces, mejor profesional y mejores conexiones. Así un poco los beneficios que podría decir yo. Bueno, yo creo que aquí vamos a coincidir bastante todas y todos. A mí la parte profesional y la parte personal se mezcla mucho, de acuerdo porque aquí al final aparte de aprender aparte de compartir lo que sabes lo que de escuchar a grandes profesionales no como los que están aquí como los que estáis ahí abajo y gracias a lo que sabéis a gracias a compartir aprendes tú no y todo eso te lo llevas para tu negocio yo al final ahora que ha hablado de podcast yo en 2017 monté monté un podcast que ese podcast se alimenta de hacer entrevistas en un alto porcentaje a muchísima gente de la comunidad. Por aquí creo que habéis pasado casi todos. Por una parte, eso fue un punto de inflexión de a mí darme a conocer, porque a mí también fue un cambio muy muy muy importante de visibilidad. Y por otro, yo lo que ganaba también es conocer a todos los profesionales personalmente, uno a uno, y nutrirme de lo que saben y encima generar esas relaciones que creo que todos más o menos vamos a coincidir en ello, relaciones que antes no sé si lo he comentado pero yo mi empresa que monté, la que he hablado destaca, la monté en 2017 y ha sido gracias a la comunidad, o sea mi equipo el 100% son gente que he conocido en eventos como este y cuando digo que se mezcla la parte profesional, personal, por esa gente que trabaja conmigo, aquí todos, la gran mayoría, alguna vez nos hemos cruzado en algún proyecto pero es que encima también son gente con la que me voy de cerveza, con la que me voy de fin de semana, con la que compartimos problemas, o sea, amistades, amistades, llamarlo amistad, llamarlo casi familia, porque encima aquí todos, por suerte ya que ha pasado la pandemia, nos vemos casi una vez al mes y por mucho tiempo que pase ha habido una pandemia por medio, a este señor por ejemplo hace ya mucho tiempo que no lo veo y parece que nos vimos ayer esas son las relaciones bonitas que se crean aquí en la comunidad y que vosotros y vosotras vais a empezar a experimentar ahora. Ahí es cuando comentaba Ana y los compañeros que notaréis el domingo que algo en vosotros ha cambiado y es cuando te pica el bicho y ya no puedes parar de ir a la siguiente Workahol. Estoy seguro que nos vamos a ver de a partir de ahora en todas las que podáis asistir. Yo estoy de acuerdo, en mi caso ocurre lo mismo, lo más importante son las conexiones, las personas. Cuando contribuyes tienes mucha visibilidad, además en cualquier equipo. Si contribuyes con una traducción se ve tu nombre. Cuando traduces una cadena tienes que comunicarlo en el Slack, que es el programa de chat que utilizamos para comunicarnos entre nosotros en la comunidad y tienes que decir «he traducido estas cadenas, me las revisáis por favor», ahí ya se ve tu nombre. Cuanto más contribuyes, más visibilidad tienes, exposición tienes en otros equipos igual tienes más visibilidad, por ejemplo si eres ponente en una work camp que sería el equipo de comunidad de eventos pues puedes tener más visibilidad porque luego todo queda grabado. Al final en mayor o menor medida se ve, en cuanto más haces más se ve y esa exposición también hace que quieras ser mejor, que cada vez quieras traducir mejor, que cada vez quieras ser mejor diseñadora para hacer mejores contribuciones de diseño porque todo lo que haces si cuanto mejor lo hagas mejor hablará de ti y eso te da una autoridad, una posición que te hace efectivamente como decía David mejor persona, mejor profesional y esto se traduce en poder cobrar más a tus clientes porque confían más en ti, tiene mucha más seguridad contratando a una persona que se expone tanto Porque además no vas a desaparecer. Si yo trato mal a un cliente, claro, efectivamente, eso es, cada cuanto más contribuyes a la comunidad, mejor profesional eres, más te exiges a ti mismo porque tienes una responsabilidad de las cosas que cuentas, las has tenido que haber probado antes. Y eso hace que cada vez tengamos una mejor posición, estamos más a gusto, estamos más contentos, más felices. A ver, por separar, aunque es difícil separar, en la parte laboral, pues bueno, ya he comentado, a mí me facilito mucho la vida, pues el poder recorrir a, en vez de, de que, o sea, la forma de saciar mi gana de tirarme por la ventana cuando un cliente me apretaba mucho las tuercas era llamar a David o a otro compañero que de allí de Granada que también me ha ayudado muchísimo. David ha lidiado con mis clientes también en algún momento. Luego también mi trabajo actual, pues si yo no hubiera, no me hubiera dado a conocer o bueno yo no me diría conocer en realidad, pero hubiera ido siendo cada vez más visible en la comunidad WordPress y me hubiera encontrado con mi jefe en Work in Madrid, pues a lo mejor y compañeros de aquí que que son mis compañeros hoy día en la empresa y que lucharon porque yo entrara en ella, pues no estaría yo en donde estoy ahora mismo, en boluda.com. Eso es la parte profesional. La parte personal, que me parece que casi es más importante. A mí quién me iba a decir, y más en aquel momento, que yo estaba como muy sumido en una especie de hoyo, quién me iba a decir que iba a ser partícipe de organizar un evento en el que metimos en el Palacio de Congreso de Granada a 250 personas y que al año siguiente meteríamos a 350. Claro, eso no se me ocurriría en la vida, eso a mí me hizo crecer como persona muchísimo. Primero, porque desarrollé unas capacidades que yo no sabía que tenía. Segundo, porque desarrollé un trabajo en equipo que yo no había desarrollado nunca, porque siempre he sido autónomo, y porque además el equipo era fantástico. Fueron dos equipos increíbles, de las dos work-in en las que yo participé. Más luego, llegar a mi primera work-in como ponente fue hace dos meses, o sea que yo he tardado mucho en dar ponencia en work-in. Y llegar a ser ponente en una work-in, y en esta que voy a serlo también, eso yo hace cinco años, no se me habría ocurrido, vamos no, es que me lo dicen y ni de coña, ni de coña. Entonces, a mí me ha dado, aparte de amigos, me ha dado un crecimiento personal, el estar dentro de la comunidad WordPress, brutal. Mas luego, ya por dar un pasito más, año pasado fui a Work in Europe y aquello ya es como, bueno, era como Paco Martínez Oria en mitad de Barcelona con la maleta de cartón porque aquello ya es a otra escala, es una cosa brutal pero que también se ha convertido en otros pasitos más que he dado este año por la ayuda de Javier, otros pasitos más que he dado este año hasta llegar al punto de…, bueno, en un evento que hay mundial, a nivel mundial que organiza el creador de WordPress que haya llegado a poner algo que nosotros hemos creado. Entonces, a mí eso ya me…, es como que este año ya estoy flotando, ya demasiado. Entonces, pues bueno, que desde El punto de vista personal, pues ya veis, un crecimiento muy, muy alto. Así que nada, supera. No, no puedo. Hola, soy Javier Casares y soy una social. Sí. Yo en general no salgo de casa. O sea, es muy raro que me… O sea, yo en la pandemia era el tío más feliz del mundo, encerrado en mi casa. mi casa. Sé que es políticamente incorrecto decirlo, pero es la realidad. Pero sí que es verdad que, y esto Ana lo sabe porque en 2018 nos pateamos todas las work-cams de España, me vais a ver en todas las work-cams posibles y en todos los eventos posibles de donde esté. cuando vamos de viaje… ¿Eh? No, sí. No, este año que viene me voy a la WorkCamp… O sea, este año que viene, no, este verano me voy a la WorkCamp US. O sea, voy a estar por allí, ya me voy directamente a conocer a los colegas con los que hablo cada semana y no conozco. Que eso es otra de las cosas que me pasó en la WorkCamp Bureau que comentaba en Oporto el año pasado. Llevábamos, justo en la pandemia y tal, y tal, que iba a conocer a gente del equipo de hosting y los conocí dos o tres años después. Gente con la que estás cada semana y tienes que ir gestionando un equipo y cosas. Entonces, cosas que, o sea, para mí la comunidad es la base. O sea, yo ya digo, soy una social, tengo otro problema que es que no me acuerdo de los nombres de nadie. Entonces, si alguien se me acerca y me dice, no, si nos conocimos, no sé dónde empezaré ahí, ta, ta, ta, ta, ta, ta, ta, hasta encontrar el momento exacto donde nos conocimos. Pero no me acordaré de tu nombre igualmente, pero venid a saludarme. Y es otra cosa que recomiendo que hagáis 100%. Nosotros estamos aquí porque somos mayores de la comunidad, pero no somos– O sea, sí, yo soy– Bueno, hombre, más que esta gente, seguro. Seguramente la mayoría. Pero una cosa que sí que os digo es, estamos aquí porque llevamos tiempo, porque tenemos cierta experiencia, pero en un día hace unos años estábamos ahí. Lo digo para que si tenéis cualquier duda, cada uno, aquí hacemos un poco, en lo profesional hacemos cada uno un poco lo nuestro, pero acercaros, preguntar. Ayer no sé con quién lo comentaba, lo publicaron en un tuit. A lo mejor yo no sé de una cosa, pero me preguntáis por algo de diseño y diré, espérate, te cojo de la mano y te llevo a Ana. Y te digo, habla con esta persona que es la que te va a solucionar eso que necesitas. Entonces, sobre todo focalizados en hacer networking. David lo sabe. Yo con David, por ejemplo, trabajo conjuntamente, pero independientemente del trabajo que tenemos él y yo, y de que obviamente somos colegas, Tenemos clientes en común o que le he pasado yo para una parte que yo no hago pero luego ese cliente se convierte en una tres bandas o a cuatro bandas y demás entonces no es sólo el hecho del día a día de la relación personal con Jesús hablo cada día casi más que con su mujer No, tampoco te creas. Bueno, sí, no, no saquemos los Tenemos tenemos audios de siete minutos y ocho minutos que nos cruzamos vamos, con eso creo que resumen un poco. Podemos… Sí, sí, duran más a veces que mi podcast. Pero sí, pero sobre todo, lo que os decía, focalizaos en hacer relaciones, conocer gente, ya digo, yo soy una social, seguramente no me veréis acercarme a vosotros, pero os podéis acercar tranquilamente a mí. Y… Qué mala zona. También. Y luego, no sé, si veis que hay un circulito, un grupito, que estamos todos, que estemos nosotros, no significa que seamos una élite o alguna gente extraña ahí, cogeis y os metéis entre dos, hacéis así, y ya veréis cómo automáticamente el círculo se abre solo. Y de golpe se monta un corrillo gigantesco, eso pasa 20 veces en cada work camp. Entonces focalizados en eso. Presentaos, hola, a ver, presentaos de una forma no vengáis a venderme vuestra moto que no me interesa, ¿vale? A priori, ¿no? Es la realidad, es verdad o no, es que os reís porque es la realidad. Sí, o sea, presentaos, hola, oye tú qué haces, yo hago esto, ¿vale? O sea, hay una cierta comunicación tranquila, formal, si necesitáis algo, si tenéis algún alguna duda de lo que sea preguntarlo a cualquiera da igual lo que digo en general la gracia es que nosotros ya tenemos ese networking cread vuestro propio networking a través de nuestros contactos si dentro de un mes necesitáis algo nos mandáis un mail o nos escribís un tweet oye nos conocimos allí diré y tú quién eres vale pero si nos conocimos en la webcam de chiclana Necesito esto. ¿A quién me recomiendas? ¿Qué me recomiendas? ¿Dónde puedo encontrar la información? Focalizaos en eso. Eso es lo que os tenéis que llevar. Aparte de aprender cosas que, ya digo, iréis a cualquier charla y, hostia, ya está, me he ido con esto de esta webcam y con eso lo haces todo. Yo creo que ese es un punto muy importante. Sí, ahora tengo micro. Ahora que ese es un punto muy importante, recuerdo mi primera WorkCamp, que fue en Madrid 2017, que me daba miedo y terror acercarme a cualquiera de los ponentes. Por ejemplo, ver a Fernando Tellado era…, ostras, veo su blog todos los días, me ha solucionado 10.000 problemas gracias a su contenido. Era una superestrella, y es una superestrella en la comunidad de WordPress, ya que es una de las personas que más contribuyen y ha dado a conocer. Pues esos sentidos libres de entrar, como ha dicho, en cualquier círculo que veáis, que no dé miedo hablar con cualquier persona. La comunidad de WordPress está muy abierta, hace networking, es muy inclusiva. Ahora nos ve a nosotros, por ejemplo, aquí arriba hablando, pero todos empezamos en esas sillas escuchando al ponente que estaba aquí arriba, preguntando. Eso también es muy importante, preguntar a los que están aquí. Tenéis una oportunidad increíble de…, ahí está, por ejemplo, por absoluta que sea, ya que tienes el micrófono de…, ¿no? No, no, que es verdad que muchas veces da miedo a lo mejor una pregunta demasiado simple o sencilla. No, preguntarlo, de verdad, es Una cosa que caracteriza la comunidad de WordPress es que somos muy abiertos, en el sentido de que nos podéis parar, hablar, entrar en círculos, como dices, y preguntar, preguntar, preguntar, aprender. Es verdad que también el mundo de la informática también está muy caracterizado por esa exclusión de no querer mostrar que tu código… Sí, el ponente va por estar… Sí, o no enseñar código… Sí, sí. cualquier evento de WordPress los ponentes vienen voluntariamente, no se le paga como en otros eventos… ¿Cómo que no? ¿Se me había dicho otra cosa? Bueno, luego hablamos de ello. En otros eventos que veréis, que a lo mejor se paga 100, 200 euros la entrada, la comunidad de WordPress es todo lo contrario. podamos ofrecer el máximo contenido a un precio asequible para que al final… SEÑOR PRESIDENTE (Valle Barbero): Así que no sea un obstáculo, que no sea un freno para venir y aprender. SEÑOR PRESIDENTE (Valle Barbero): Ahí está. Así que, coge esa libertad que tenéis de preguntar a cualquier ponente y a cualquier persona que estemos aquí y aprovechad ese tiempo porque yo creo que es el mayor consejo que puedo dar, aprovechar contributos, porque yo recuerdo que en mi primera work-camp no fui a contributor porque dije «esto debe trabajar, ¿qué es? Que ahora sí tengo que ponerme a trabajar». De hecho, hay un momento donde tú realmente, aparte de contribuir a Warpress, puedes compartir cosas, enseñar lo que has hecho con compañeros de, como he dicho, comesas organizadas por si aprendes más. Así que me gustaría que cada uno diera uno o dos consejos que daríais a una persona que está empezando. ¿Qué es su primera work-camp? consejo le daría para que aproveche 100% estos dos días? Mire, yo, por ejemplo, me he puesto varios objetivos de aprender para esta WorkCamp y ya voy a buscar, por ejemplo, voy a buscar a Paco y le voy a preguntar un par de cosas, más que todo para compartir. Cosas que vosotros queráis aprender y que tengáis esa duda de oye, ¿cómo sería esto?, ¿cómo lo haces tal?, ¿cómo lo haces tú?, ¿cómo…? Porque muchas veces a lo mejor no te cambia la forma que lo haces tú, pero sí te cambia un poco cómo lo ves, ¿no? Yo sobre todo eso, poner objetivos mentales, decir, oye, ¿me gustaría aprender esto, esto y esto? Evidentemente con los talleres los tenéis, la misma exponencia, preguntar, al final es aprender, aprender, aprender, es un poco uno de los objetivos siempre que se viene a la huelca, aparte de todo lo que estamos hablando de conocer a personas, verlo otra vez y dar abrazos. Aquí veréis que es un evento de abrazos, cuando te saludas todos son abrazos. Sí, sí, la pandemia es efectiva. Y yo eso, poner objetivos, yo quiero aprender esto, como aquí por ejemplo el tema de, hay mucho movimiento con el tema del editor, del nuevo editor, pues oye, cómo cada uno lo está implementando en su día a día, cómo solventas ciertos problemas y apuntarlos y poner una lista y decir venga pues voy a tal oye pues mira de hosting contra tener a Javi Javi como mira que este host me va muy lento porque crees que va lento porque tal tengo que cambiar algo de la retaila pero o da la solución esa pregunta pero a Jaime como ya proyectos a una tema diseño o sea que deberá que tener aquí todo el mundo y las mismas cuando salga, oye, quiero preguntarte un par de cosillas. Aprovecha y pregunta. Y que esos objetivos mentales evidentemente los cumpliréis y os sacaran más y ireis viendo un poco más. Está muy bien que estéis hoy aquí, porque yo creo que es una buena oportunidad para realmente conocer el corazón de un evento así. El saber cómo se sostiene, el entender cómo puedes compartir, darte cuenta que puedes compartir por poco que sepas tu granito de arena para hacer más grande y seguir con esa continuidad. En WordPress todos tenemos algo que enseñar y está muy bien sobre todo para entender el alma de estos eventos porque al final el día de mañana es un día de charlas que por supuesto es súper importante, vais a aprender mogollón, pero falta esa parte del corazón de evento que es el que, el corazón de la comunidad que es el que hoy vais a descubrir. Yo, por daros un consejo, lo hemos estado hablando sobre ello mucho, Jesús y Javier mucho más, claro está. Pero yo, personalmente, es algo que en mi día a día siempre lucho para que la gente se suelte, abra los ojos y que perdáis el miedo. Por mucho que os lo digamos, yo sé que muchas de vosotras y vosotros vais a tener mucho miedo en abriros a conocernos a nosotros, a conocer a la persona que tenéis al lado. Pero de verdad, ese miedo solo hay que dar un paso. Lo que vais a ganar, solo dando ese paso de decir, hola, ¿qué tal? Me llamo Jaime. Lo que viene después va a ser maravilloso. Y solo tenéis que dar un paso, de verdad. Luchar contra ese miedo y conocer al que tenéis ahora mismo, al que tenéis al lado. Si no lo conocéis, presentaros y conoceros. Abriros. Porque tenéis que aprovechar el día de hoy y el día de mañana. Aprovecharlo. Porque os puede cambiar la vida con suelo decir, hola, ¿qué tal? ¿De acuerdo? Perderse miedo, por favor. Perder miedo. ¿Qué voy a decir después de esto? Bueno, uno de los temas de las WorldCamps es aprender, compartir y disfrutar. Entonces, yo os animo a que hagáis las tres cosas. Que os quedéis hasta el final, porque no sé por qué– Bueno, sí sé por qué. Las work camps son muy intensas, además de aprender un montón, se conoce a mucha gente o se vuelve a ver a mucha gente. Entonces, cuando son las 5 de la tarde, estás ya que no puede ir más. Pero el evento termina a las 8 o de la tarde o así. Y luego tenemos after party. Claro, mañana hasta la after party, después del evento, sí que es muy importante quedarse hasta el final para saber dónde va a ser. Exacto. Entonces, que os quedéis hasta el final. Y que os preguntéis, decía David, preguntaos a ver qué queréis aprender. Y os digo, preguntaos a ver qué podéis aportar vosotros. Porque de esa manera, primero hay que dar para después recibir. Hemos dicho todos, recibimos mucho más de lo que damos. Sí, pero primero hay que dar. Y ya solo con esa introspección, digamos, de qué puedo aportar yo, ya vais primero a definiros, a identificaros de alguna manera profesionalmente dentro de este grupo que somos, de personas que estamos aquí. Y después ya vais a– Eso ya lo vais a tener, ¿no? Vas a mejorar esa parte de cómo puedo contribuir yo. Y esto diría. Hay otro lema. Hay otro lema. Ese es un lema importante el que ha dicho Ana. Y hay otro que lo dice Javi, que Wordpre el software y la Word– Es código y work and son personas, efectivamente. Gracias. Y eso es verdad. Ahora mismo estamos, ahora toca a las personas. Por supuesto, ¿de qué vamos a hablar? Pues de código, de contenido, de diseño, de muchísimas cosas. No solo hablas con nosotros, sino hablas con el que tenéis al lado, porque igual entre vosotros hay alguien que es un crack en no sé qué y no lo sé, está ahí escondido. Claro, claro, y igual os podéis complementar. Entonces, creo que eso es muy importante. Y últimamente, esto va a… Voy a hablar de mi libro. Voy a soltar una reivindicación un poco y es que últimamente se tiende mucho se tiende mucho a vamos a hacer workahm sólo con charlas de hecho en europa es muy muy se hace mucho eso y el contributor ya tal no el día importante de la workahm es hoy el contributor que es el día que menos gente viene Curiosamente, Work on Euros ha sido el contributor con más gente, que fueron 800 personas y se hicieron muchísimas cosas. Warpre ha llegado a ocupar el 40…, en este momento voy a decir 43, probablemente ya es 44 o 45 % de internet, 45 % de internet o 43 % de internet. y ha sido por algo y es por la gente que tenéis al lado, por los que estamos aquí sentados, por otros que están en sus casas, gente que no ha estado nunca en una WorkCamp porque no tiene posibilidad o vive o no la conocen pero bueno o directamente viven en lugares muy remotos porque ya hemos visto en los mapas que hay comunidades hiperremotas en países de África y hay gente contribuyendo en WordPress, gracias a esas personas tenéis un CMS que es estupendo, que os permite expresaros, que os permite compartir vuestras ideas y difundirlas al mundo de una forma super sencilla, no montando la NASA como hacías tú cuando empezaste. Y eso es gracias a las personas. Entonces, hablás con las personas. Yo creo que el único… Las personas que están aquí, si queréis. Pero vamos, también. Pero con las personas que están aquí, que desde luego… Hay mucho talento aquí sentado, seguro. O sea que… Yo vengo aquí a aprender, si yo no sé nada. El 27 de mayo de este 2023 WordPress cumple 20 años. En realidad no es que los cumpla ese día, para mí los cumple en realidad en principio a mediados de enero, a finales de enero, creo que es el 27 de enero. Este año eso, cumple 20 años. WordPress ahora mismo, como dice Jesús, tiene más o menos una cuota de internet del 40% Y te preguntas, ¿cómo en 20 años ha podido pasar eso? Y entonces voy a explicar una pequeña anécdota para que veáis, porque refleja perfectamente la base de lo que es un contributor. El 27 de enero de 2003, un chaval estaba en su casa, utilizaba un CMS que se llamaba B2 y llevaba seis meses sin actualizarse. Y ese era un CMS que estaba ahí, se podía consultar el código, estaba ahí. Y entonces ese chaval dijo, esto del B2 mola mucho, es lo más parecido a lo que yo necesito, pero lo que hay no me sirve, porque necesito evolucionarlo, necesito versiones nuevas y el tío que lo hace no hace nada. Luego se supo bastante qué es lo que le pasaba al tío este. Estaba deprimido, estaba en una mala época y por eso lo había dejado ahí aparcado. Y entonces, pues eso, un tal Matt dejó ese post ahí en su blog. Y otro chaval, bueno, no tan chaval, le contestó un Mike, le dejó un comentario y le dijo, ah, oye, pues mira, esto que dices, a mí me pasa lo mismo. El software este me mola mucho. Yo estoy muy metido en la comunidad de esta gente, pero es verdad que no pasa nada. Si tú realmente quieres evolucionar este proyecto, pa’ allá que va hoy. Y se juntaron esos dos tíos a programar. y empezaron a programar los siguientes meses, tal, tal, tal. Y de un proyecto que se llamaba B2, la versión 0.6, acabó saliendo una cosa que se llamaba el 27 de mayo de 2003, WordPress 0.7. Y eso viene de que dos personas sin conocerse, porque se conocieron como 5 o 10 años después, en persona, o no es una cosa muy exagerada, todo por comunicarse, ya por internet simplemente evolucionaron hasta crear lo que es WordPress hoy en día. Esa semilla de una persona dejando un comentario en un blog de otro es lo que hoy en día son los contributos. Habéis venido al momento perfecto. Y aparte de lo que estáis comentando de la comunicación, lo que estuviste en Chiclana en 2017, cuántas empresas salieron de… Venía un contributor y hablar entre vosotros, entre los que estábamos ahí, ¿cuántas empresas salieron? Creo que fueron tres o cuatro, y ya no solo empresas, sino ya luego colaboraciones, proyectos entre compañeros de la comunidad, salieron muchísimos, al menos lo que yo viví. Y yo creo que fue una experiencia muy bonita y que os la recomiendo y que lo único que hay que hacer es dar el paso y hablar con la persona que tienes al lado, que es una cosa que han repetido yo creo casi todos y que es una cosa muy importante, dar ese paso de hablar con la persona que tiene al lado, porque nunca sabe la necesidad que puede tener, los conocimientos, porque siempre pensamos que nosotros sabemos muy poco y todo eso es mentira, eso es una creencia que no estamos haciendo nosotros mismos, ¿vale? Por eso os recomiendo que habléis con todas las personas posibles porque es muy positivo y más un día como hoy, ¿vale? Sí, sí. Sí, claro, claro. Muy rápido, muy rápido, solo añadir una pequeña anécdota y es muy rápido, muy rápido. La pandemia fue un barapalo para todos nosotros, imaginaos que estábamos aquí, a la semana siguiente estábamos en Málaga y a la semana siguiente encerrados. ¿Y qué hicimos? ¿Nos quedamos todos muriéndonos de asco y llorando? No, montamos una work-cam. Serías tú, porque yo me puse a montar una work-cam. Bueno, a mí me metieron, pero nos pusimos a montar una work-camp y montamos una work-camp que hermanó a Sudamérica con España. Era work-camp en España y al final tenía que haberse llamado work-camp en español porque la verdad es que fue brutal. Allí conocimos un montón de gente, gente que estaba pasándolo mal, gente que estaba regular y que fue para ello un… Bueno, les dio ánimo. De hecho, estoy mirando a una de ellas que hemos hecho buena amiga y siempre… O sea, que en esos momentos difíciles también hemos sido un apoyo todos unos con otros. Porque yo, si no hubiera sido por haber entrado la organización de esa work camp, yo habría acabado también llorando por las esquinas, eso lo digo ya. Y, más también, cómo se apoyó a otras meetups, como por ejemplo Venezuela, que le hacíamos nosotros el streaming para que ellos pudieran hacer las meetups, ya que el internet allí no podía soportar ellos la conexión de un streaming, nos teníamos que estar levantando, creo que era a las cuatro de mañana, porque ellos para poder tener un buen internet, la tenían que hacer a las doce de la noche. hacéis el cambio horario aquí, pues nosotros teníamos que estar despiertos a las cuatro a cinco de mañana para estar haciendo esas charlas con ellos y poder hacer esas mitas que estaban haciendo virtualmente. Y por no hablar de cuando terminábamos el After Party de Work in España acabábamos en una mitad en Managua, que lo que pasaba en Managua se quedaba en Managua. ¿After Party Online? Sí, sí, after party online. O mejor no. Vale, también estamos viendo que mucho de colaborar con WordPress, pero cómo equilibráis vuestro tiempo profesional. Porque estamos hablando mucho de mira cómo colaboramos con la comunidad de WordPress, que guay todo esto, pero cómo equilibráis ese tiempo profesional con la comunidad. Breve, por favor. —Yo dedico prácticamente la mitad de mi jornada laboral a WordPress, sin ganar dinero. Al final es un coladero. Tengo la suerte de que me gano bien la vida con lo que hago, no porque cobre mucho, sino porque tengo muy y buenos clientes que pagan bien, que hacen todo correctamente, entonces no me molestan mucho. Y el hecho de no molestarme mucho me deja tiempo para poder contribuir. Y es algo que ellos tienen muy metido. Esto con David lo puede– O sea, tenemos un cliente que nos pidió que nos financió un proyecto. Lo pagó él, él lo tiene, y luego se lo ha quedado David y él lo explota. Vale, o sea, perfecto. Yo, por ejemplo, dedico más o menos de media unas– entre 2 y 4 horas al día a la comunidad y un poco cosas o cómo me organizo yo dentro o por qué por ejemplo puedo, seguramente nos pasa a la mayoría, cómo puedo pagarme, por ejemplo, lo que explicaba antes de por qué me puedo ir a Estados Unidos a una WorkCamp. Yo tengo un proyecto que empecé porque sí, es gratis, se puede usar y ese proyecto permite sponsorizaciones. Y entonces, es un proyecto relacionado con temas de seguridad de WordPress. Y empresas del mundillo en general de la seguridad o del hosting están financiándome ese proyecto. Y gracias al dinero que ese proyecto genera, hay una parte que la invierto ahí y hay otra parte que la invierto en venir aquí. En venir aquí a hablaros de qué? De cosas de WordPress que, en principio, tienen que ver o con hosting o con seguridad o, en este caso, con documentación técnica. Entonces, ¿me pagan directamente por venir aquí? No. Me pagan por trabajar en proyectos de WordPress, que es lo que a mí me mola. Es un proyecto que he hecho yo porque me ha dado absolutamente la gana. Y eso me permite estar aquí ayudando y contribuyendo a la comunidad. Entonces, a veces lo que tenéis que hacer es encontrar vuestro sitio en la comunidad. Lo que decíamos antes, seguramente en vuestro día a día vosotros hacéis algo que sabéis hacer muy bien, que pensáis que todo el mundo sabe hacer bien, cosa que está, estáis completamente equivocados porque seguramente lo que sabéis hacer muy bien el otro de al lado no lo sabe. Yo sé hacer muchas cosas de hosting, yo soy de las personas que probablemente sepan menos de WordPress de los que está aquí y sé que suena raro, pero es así. Pero sí que es verdad que conozco muy bien la comunidad y ya está. ¿Cuál era la pregunta? Es que a mí se me ha olvidado. Claro, claro. ¿Cómo equilibráis vuestro tiempo? Ah, vale, lo del tiempo. Sí. ¿Equilibrio? No sé. Yo dedico 15 horas a la semana, pero en realidad porque me da vergüenza decir las horas reales, que son muchas más. Claro, estas chapitas que veis aquí me las dieron un contributor en Chiclana y son reales, son de mi perfil de WordPress. Si vais a mi perfil de WordPress.org veis que tengo las chapas porque contribuyo a todos estos equipos, traducciones, WordPress TV, Core, que es una contribución pequeñita, pero ahí está, diseño, Meetups, en mi pueblo en Torre Lodones Hacemos una mitad a Valmes desde mayo de 2019 sin parar, incluida la pandemia, las hacíamos online. Estoy organizando también la World Camp de Torreledones, que por cierto, es el fin de que viene. Os veo a todos allí. Va a ser la caña. Si os quedáis con ganas de World Camp, tenéis más en Torreledones. Queda muy poquito, pero bueno, os reservaré. Vais de mi parte y– Hay entradas todavía. ¿Qué más? Plugins, también con la colaboración de los compañeros de aquí de Chiclana. Ponencias en WorkCamps y creo que lo he dicho ya todo. Esto son muchas horas al día y a la semana. Pero, bueno, pues al final es lo que comentábamos al principio. Se traduce en conseguir trabajo. Entonces, lo hacemos porque realmente nos gusta y conseguimos trabajo y aprendemos un montón. Entonces, al final te vas organizando. Es verdad que cuando te gusta mucho una cosa y eres muy friki, pues al final le dedicas mucho tiempo. Esto puede ser peligroso y hay que acordarse también de la familia, de los amigos y de ti mismo. Hacer ejercicio, hacer deporte, salud mental. Entonces, somos todos muy frikis y tenemos que tener claro que tenemos que dedicar espacio también a nosotros mismos. voy a aprovechar para decirlo, porque me parece muy importante. Mucho WordPress, pero también mucho uno mismo. Si no estamos bien nosotros, pues no podemos ni trabajar para WordPress, ni estar para la familia, ni para los amigos, ni para nada. Entonces sí que es importante bloquear esos tiempos diarios para nosotros mismos, para comer bien, para hacer ejercicio y todo eso. Es que va el hilo de lo que acabas de decir. Eso que ha dicho Ana es muy importante. Yo, por ejemplo, este año no soy organizador de Work in Granada y me lo han propuesto. Además, va a ser una Work in súper especial en octubre. Podéis ir a Work in Granada, que será en la costa tropical. Pero yo no me veía. Yo tengo otras historias. También he decidido contribuir de otra manera. y ya todo no se puede. Y también he decidido cuidarme un poquito más el cuerpo, porque si no todo el día sentado, pues cultivamos un istu o un infarto muy fácil. Entonces, eso que acabas de decir es crucial. De hecho, me parece que es lo más importante. Pero sí, es difícil equilibrar, pero también ensarna con gusto. Lo hacemos divirtiéndonos mucho porque vamos no me digas tú que el podcast que haces con Pablo no te divierte y conoce gente de WordPress super interesante o sea y nosotros con los ninjas exactamente igual entonces pero sí saca el rato porque también pues creces con esa contribución así que hay que equilibrar a veces dedican más tiempo otras menos y hasta que siempre hay otros que también dedican tiempo Bueno, es que esto suena fenomenal. Luego, la verdad, todo lo que han dicho es totalmente mentira. O sea, ninguno realmente sabe las horas que echa. Hablando de hijos, yo tengo dos niños. El mayor tiene cuatro años, el pequeño tiene cinco meses. Yo creo que hoy es viernes mi mujer creo que está preparando los documentos del divorcio por estar aquí. Yo este año he sido parte de la organización de varias Workahm. Workahm Madrid, Workahm España, he también apoyado algunas Meetup. Monté desde Madrid la Meetup de Úbeda, pero por distancias y motivos personales pues la tenemos ahí un poquito aparte acá. Lo que quiere decir que yo, al igual que todos aquí, pues yo también estoy muy metido en la comunidad, en fregados. Este año dije que no iba a participar en ninguna organización, Como he dicho, tengo un niño de cinco meses, una empresa. Ana me dijo, pues necesito a alguien que se encargue de los patrocinadores y tú tienes algo de experiencia. ¿Y cómo le voy a decir que no, Ana? Cualquiera se atrevería. Entonces, estoy metido con Ana y con un equipo Workout Torrelojones. Repito, la semana que viene quedan entradas. Y si alguien quiere promocionar su empresa, podemos hablar luego después que se acerque a mí. OK. Porque queda también algún patrocinio por ahí que se puede meter, ¿de acuerdo? Me lo quitan de las manos. Entonces, yo realmente no sé el tiempo que dedico a la comunidad porque también aquí vais a conocer muchas formas de apoyar a la comunidad. Yo siempre digo que también hay una que se olvida, que es también hablando de WordPress, dando a conocer WordPress a otros. Eso también es una forma de apoyar la comunidad. No se habla porque queda un poco más, digamos, no es tan palpable, ¿no? Pero yo con mi podcast, yo con la gente que trabajo, que de vez en cuando también hacemos– aparte de mi podcast también, solemos hacer, solíamos hacer, a ver si lo retomamos en mesas redondas, ¿de acuerdo? Hablando de dudas sobre WordPress. Al final, hablar de WordPress también es colaborar con la comunidad. Entonces, medir eso es muy complicado. Colaborar en la comunidad, te diviertes, haces amigos, sueles comer bastante bien. Que esto nadie lo dice y yo lo digo porque a mí me gusta mucho comer. En Chiclana especialmente, no, en general, yo creo que en general, en casi todas las huercas. En Chiclana es especial, es especial. Y haces negocio. Es que al final todos son beneficios, tanto personales como como empresariales. Por eso yo nunca me he puesto, es que no quiero pensar cuántas horas le dedico a la comunidad porque si no ya sí que es verdad que me volvería loco, pero son muchas, son muchas, pero como también han dicho, sanar con gusto por no picar. -Librar, que estamos tan involucrados todos en la comunidad. Yo me dije, hace dos o tres años me dije, oye, me ha gustado esto de la URCAN, participé en varias URCAN, en la URCAN de España, estuve en varias, en la de Granada fui líder también, y total, que nos metemos en muchos líos, y digo, bueno, yo voy a ver algo más interesante, me metí en la URCAN y URO. El año pasado, eso es brutal. Es una cosa, lo que decía Jesús, que son 3.000 personas, y más general el equipo de organización son 80 personas, solo el equipo de organización, 200 voluntarios. Bueno, te tira un año para organizar este mismo evento, pero todas las semanas, reuniones de una hora y media, casi dos, con franceses, con todo el mundo. Entonces, claro, yo digo, para este año me voy a planificar un evento. «Voy a repetir Work and Uro que me ha gustado, vamos a repetir ahora en Atenas». Y claro, viene el de Work and Granada y dice «Oye, mira, que me hace falta el tema de patrocinio, tú que estás así mi tí y yo un poco de patrocinio también, ¿por qué no llevas la Work and Granada?» Y «Venga, hombre, es verdad que hace falta ayudar, me meto en la Work and Granada». Luego la admita «Oye, que no encontramos un sitio tal». Al final, como está la comunidad, y de hecho aquí, pues vamos empujando todos hacia adelante, pues es verdad que te vas metiendo mucho fregado y algunas veces tienes que decir «hasta aquí puedo llegar» pero sí es verdad que como lo haces con mucho gusto, es todo muy personal, conoce mucha gente, al final va a lo que puede asumir. Si tienes más tiempo lo empleas más, si no intenta llevarlo un poco más. Pero que al final ¿cómo lo equilibras? En tu día a día, siempre ha echado un ratillo traducciones pues siempre todos contribuimos a traducciones que es súper fácil hoy este plan y el otro día el code profiler me encanta digo pues voy a volver a traducir y son pues 1500 cadenas pues bueno puse 150 a 200 pues ya está ya ya por ahí digo ya efectivamente ya quedan menos entonces todos los días hace alguna cosa hay unas clas tienes ya planificar Yo lo loone a las 3 y media y estoy liado con el tema de organizaciones de work and Europe, pero el resto a día a día siempre le hechado un rato. Y eso es, cosas que tú haces en el día a día pero que lo aportas y vas viendo porque recibes. Como recibes tanto, pues dices, bueno, voy a intentar un poquito echar en granito. Entonces, en el día a día y con ciertos proyectos al año. Una de las cosas guays de la comunidad es otro tipo de eventos que hay aparte de las work camps, de las meetups. Las meetups son las reuniones mensuales que se suelen hacer en un lugar. Las work camps es como la fiesta anual, nos juntamos un fin de semana, sobre todo para comer y de rebote hacemos otras cosas. Pero hay otro tipo de eventos que no son tan habituales, pero por ejemplo en Granada hemos empezado a hacer uno que son los do action los do action son eventos para que con lo que tú sabes hacer diseñadores gente de contenido gente redes sociales programadores o sea cualquier cosa que se pasa hacer ayudamos a o en egs asociaciones o a lo que sea que nos juntamos hace un mes no llega a la tres semanas o así hemos decidido desde la comunidad de granada en vez de ayudar a una o en ege ayudar a Medioplaneta, haciendo un plugin para ayudar a las protectoras de animales. Entonces nos juntamos hace tres semanas, un día entero, nos metimos en una sala sin saber muy bien a lo que íbamos, porque he de reconocer y más llevando yo el proyecto, y nos pusimos allí tres o cuatro, Frank también que está por allí, que es un poco el responsable técnico del proyecto nos hemos puesto a ayudar a ONGs a que ellos mediante WordPress puedan facilitar la adopción de animales. Hay… claro, entonces es muy interesante que investigueis también este tipo de proyectos, por ejemplo en Barcelona en mayo hay otra work camp, el primer fin de semana y en ese caso van a ayudar a una ONG, están acabando de buscar a cual pero es otra forma de ayudar, es decir, no solo ayudamos internamente a mejorar WordPress o a la comunidad WordPress, sino que también tenemos herramientas para ayudar a ONGs. Os lo digo porque yo en este caso os he dicho, yo estoy liderando ese proyecto, ¿por qué salió? El verano pasado se empezó a hablar de la ley de bienestar animal y dije, hostia, esto mola, ¿por qué no hacemos algo? Empezamos a hablarlo, hablarlo, hemos tardado seis meses, pero se ha empezado. Y ahora el software está ahí, o sea, hay un repo en GitHub donde está el código, cualquiera puede contribuir de cualquier parte del mundo, y ahí está. Si queréis contribuir, ayudar a protectoras de animales y demás, lo podéis hacer. Que tenéis o colaboráis con alguna protectora, o sea, con alguna asociación, organización, o NG, o lo que sea, y necesitáis de la comunidad WordPress, pedidlo. Os vais a la gente, en este caso, pues podéis ir a Paco, y le decís, oye, tenemos este proyecto o lo que sea, nos gustaría ayudarles, pero no sabemos cómo. Hay herramientas y tenemos mucho material para poder hacerlo. Pues lo digo porque no es solo contribuir con nosotros, sino que podemos contribuir a ayudar a otros. Tenerlo también muy presente. Y me gustaría que, ya que se ha comentado que no solo se contribuye haciendo códigos, diseñando, sino también hablando, me gustaría que pensarais alguna pregunta que le gustaría hacer alguno de los ponentes que está aquí. Ya que no es un evento online, ¿no? Claro, ya que no es un evento online, como dice Ana, pues… La zafata también. La zafata, la zafata cuando… ¿Quién tiene la pregunta? Me gustaría levantar la mano o lo que queráis hacer alguna pregunta, ¿vale? Y… ¿Quién quiere presentar? Sin miedo, ¿eh? Que… No, no tenéis pregunta. Mira, ahí tenemos la primera pregunta. Perfecto. Hola. Hola, buenos días. Yo me llamo Zaid, como veis no estoy de aquí. Y solamente quería preguntar si tenéis un work camp en Marruecos o en África o ahí o hay algunas iniciativas que se han visto antes o todavía no hay? ¿Puedo contestar yo? Me voy un poco de los altavoces. A ver, ahora mismo, o sea, de memoria no me lo sé, me sé las de España y algunas de algunos sitios, pero creo recordar que sí que hay. En general ahora mismo y por los mapas y tal, ha habido work camps hasta en la Antártida, por poco, pero sí que en Groenlandia. O sea que ha habido, hay eventos prácticamente en todas las partes del mundo. Sé que hay bastantes eventos grandes en general en África, ahora hace poco ha habido la work cam Asia, o sea que eventos hay. Yo ahí lo que te diría es que vayas primero a mita.com y busques en las diferentes ciudades o en las zonas donde hay eventos de workpress y si no en workcamp.org está el listado de todas las workcamps previstas que va a haber en los próximos meses. Mira, ves, este esto es fácil, mientras yo hablo y hago tiempo estaba esperando que pasase esto. Gracias Javier, hay meetup de WordPress en Rabat y en Casablanca, en Marruecos. Ahora mismo hay meetup en 115 países, hay 784 grupos y somos más de medio millón de miembros en todo el mundo. Entonces puedes entrar en Meetup.com y buscar WordPress y puedes ver el mapa de las… Meetup.com/workpress. Las Meetups suelen celebrar un evento al mes y alguna de esas Meetups además hace un evento al año que es la WorkCamp, que es el evento así más grande. Claro, no nos tenemos que olvidar de las Meetups, que estamos hablando de la WorkCamp y el Contributor, que es un evento de fin de semana más grande, pero las Meetups son muy interesantes también. SEÑOR MACÍAS RODRÍGUEZ: Una cosa que pasa mucho en la comunidad es… Oye, una WorkCamp, ¿por qué no hacen una WorkCamp más rica? Muchas veces lo que hay que pensar es qué puedo hacer yo para ayudar para que eso sea posible. Lo primero empiezas con una Meetup, empiezas a conocer gente y al final, muchas veces lo que pasa en la comunidad no es… Oye, ¿podría estar bien que esto todos vamos a contribuir a eso. O sea, realmente no es solo tener la idea, sino ayudar a que sea posible. Entonces, por ejemplo, si quieres que haya una WorkCamp en Marruecos, en Rabat, por ejemplo, fácil. O sea, es entrar en las mitas, organizar mensualmente, vas conociendo un grupo de amigos y cuando pasa un momento en el que ya veis que esto tiene más cuerpo, puedes realizar una WorkCamp. Pero no hace falta que tú veas, oye, qué quiero saber con D, sino a raíz, cómo puedo yo ayudar para que sea posible una work-camp. Y eso está en la mano de todos. Y la work-camp no hace falta que sean 300, 500, 3000 personas, puede ser de 150, 120, hay chiquitillas… Y son perfectamente posibles y muy gratificantes. Entonces, no pensáis en algo muy grande que hay que hacer. No, vamos a ayudar. Entonces, yo lo primero que te diría es, antes de esa work-camp voy a ir a la mitad, voy a ver que incluso puedes tú crear un evento en la próxima mes de abril y decir venga pues voy a hablar de lo que yo sé y empezas a hacer un grupo un grupo un grupo y eso va creciendo cuerpo y es posible hacer una work camp posible. Pongo otro ejemplo en Granada desde este mes de enero, enero no sé si en enero hicimos pero enero febrero estamos haciendo dos eventos al mes justo antes de ayer fue uno que es Warpers and Tapas y lo que hacemos es nos vamos a un bar a beber y a comer literalmente. Obviamente salen conversaciones de cosas de «ostras tengo un cliente que tiene este problema, tú qué haces, no sé qué» salen conversaciones pero quedamos para comer y beber y luego tenemos un poco la clásica de también que normalmente suele ser Hacemos primer miércoles del mes y tercer miércoles del mes y entonces en ese tercero lo que hacemos es la charla clásica. Entonces llega un ponente, explica, por ejemplo, una de las voluntarias que hay por aquí que es Ana, justo hace dos semanas dio una charla de deseo y hoy está aquí de voluntaria. O sea que si alguien quiere dar una charla estamos faltas. No, pero sí, eso también es otra cosa. Si vosotros sabéis de algo, o por ejemplo, yo, para mí el ejemplo más claro de mi tab es, ¿cómo uso yo WordPress? No vais a explicar nada. O sea, podéis poner– ahora mismo, podríais subiros y explicarlo. O sea, no hace falta tampoco ser un ingeniero para eso. O sea, cualquiera de los que estáis aquí utilizáis WordPress de alguna manera, pues subís y explicáis. no tenemos que venir un ingeniero a explicar cómo montar el no sé qué, no, es que eso también es una mitad. Más preguntas, venga, más cosas. Una cosilla muy rápida. Lo mismo que dije antes, el día importante de la Work-in es hoy, aunque luego las charlas están muy guay mañana y la comida también, lo más importante son las mitas y no las Work-in, ¿vale? Las Work-in es una consecuencia, pero si no hay si no hay comunidad, si no hay un día a día, difícil, cuesta mucho más, o sea, sí puede haber una work camp, pero va a ser más complicado. El equipo tiene que estar viéndose mes a mes, al menos, o dos veces al mes, que una vez con cerveza tampoco pasa nada. Hay otra pregunta, ¿no? Sí, sí. Hola, bueno, antes de nada muchas gracias por todo esto, por organizar esto, sobre todo porque yo tampoco tenía muy claro en qué podría consistir este primer día. Mi nombre es Rafa Ramos, trabajo con WordPress desde hace unos años, ahora como autónomo y principalmente quería saber eso, cómo se puede contribuir. Entonces toda esta charla me está interesando mucho porque no lo veía muy claro y espero poder aprender más de qué forma se puede entrar, no por el tema de las traducciones o de otros temas. Pero al hilo de lo que comentabas también del trabajo con ONGs, yo estoy trabajando ahora con algunas organizaciones. Y, por ejemplo, ahora mismo se me ocurre que una de ellas, de hecho, está trabajando con muchas web de WordPress, pero una de ellas está basada en Drupal. Y, de hecho, está usando una versión muy, muy antigua de Drupal. Entonces, sí que me gustaría saber un poco más de cómo podemos– de qué manera podemos entrar hacia ellos, porque para que todo su ecosistema de webs sea al final en WordPress. De qué manera no lo podríamos ganar y cómo de fácil sería esa migración de Drew para WordPress. Si tenéis algunas ideas se agradecería. No sé si esto sería más punto para tratar en privado. -Bueno, Javi, ¿seguro tendrá la cuotidación perfecta? -No, la respuesta es– -Me gusta picharlo. -La respuesta es fácil. Es– -Es por talón. Esta tarde hay una mesa de comunidad, supongo, espero, allí te lo van a contestar. Si queríamos contestación rápida, exportarles un Excel, importarla. Sería una forma y luego llamarla. Más cosas, venga. Vas a llorar, ¿vale? Esa es la que no te dicen. Más preguntas. Más preguntas, más cosas. Una mano levantada. A ver, ¿dónde? – Yo tengo una pregunta desde el desconocimiento total. – Que WordPress. – Porque nunca lo he usado. Llevo años usando los ordenadores, he usado algunos que otros programas, Python, Java y eso, pero puedo contar seguramente con los dos de las manos cuánto he usado WordPress, dos o tres veces. Y han pasado mínimo cinco años desde la última vez que usé WordPress. Así que ahora mismo estoy como si nunca lo hubiera tocado. En sí, ¿qué WordPress? WordPress es un gestor de contenidos. Es una carpeta con muchos archivos. Lo instalas en un servidor que tenga MySQL o MariaDB y PHP y Y poco más, ¿cuál sería el requisito? -No. -Pero HP, no sé cuáles. -Una Apache o Nginx. -Y Apache o Nginx. Y puedes hacer todo tipo de webs, desde blogs hasta intranets. Puedes utilizarlo como framework para hacer otro tipo de– para coger los datos mediante la API y hacer lo que el tipo de aplicación que quieras. Sí, como backend para una aplicación móvil. ¿No? Como… ¿Tienda online? Sí, tienda online, puede ser tienda online muy sencilla o muy grande con muchos productos. No, simplemente añadir que… Es que lo que has dicho es muy importante. WordPress cuando tú lo tocaste probablemente era aquello que decían «es la aplicación para hacer blogs». Que es lo que todos los desarrolladores… Creé un blog hace años y se murió. Una de las cosas que sufrimos mucho nosotros es eso. eso. Desde las escuelas de informática les enseñan y les meten en la cabeza a los informáticos WordPress solo para hacer blogs. Pero, como ha dicho Paco, WordPress puede ser el backend de tu aplicación móvil, WordPress puede ser una web que bajo API lance unos datos que tú desde otra aplicación hecha con Django o con lo que quieras, puedes recoger. Por pero David con estas aplicaciones hechas a medida de que CRM, RP y estas cosas y saca los datos o los manda a esas aplicaciones desde un WordPress. Es decir, WordPress ahora mismo es un framework, esa es la mejor definición. Y con todo lo que ha dicho Ana, imagínate todo lo que tiene. —Y hay una cosa que creo que es muy importante y es que es software libre, es open source y tiene la licencia GPL. Entonces, tienes cuatro libertades. No solo WordPress, sino todo lo que se hace con WordPress, los temas, los plugins, las ponencias de las WorldCamps, esta reunión, todo tiene la licencia GPL que nos permite ver el código, ver cómo está hecho, distribuirlo, distribuir copias modificadas y, además, venderlas. Lo descargamos gratuitamente, lo modificamos para que haga lo que nosotros queramos para cualquier propósito y podemos venderlo. Y esto es lo que hace que haya una comunidad detrás de personas que contribuyen, porque podemos, a pesar de que lo descargamos gratuitamente, modificarlo y venderlo y lucrarnos. Iba a decir eso, pero me las quedo. No, no, pero hay más. Sí, sí, sí, no, no, genial. Aparte de lo que han dicho mis compañeras y compañeros, también tú eres informático, tú todo esto lo entiendes, la gente, veo muchas caras de gente asustada, ¿vale? Hay otras formas de tener WordPress, hay hosting hoy aquí en las mesas que patrocinan este evento que gracias a los patrocinadores que se les nombra muy poco y se les tendría que nombrar más, ¿cómo se nota que me dedico a buscar patrocinadores? Gracias a ellos en gran parte se hace se puede celebrar este día, es muy importante. Podéis preguntarle a ellos porque normalmente en un altísimo porcentaje por no decir el 100%, estos hostings tienen en su panel de administración formas de instalar WordPress en tres clics. Con solo contratar un hosting y un dominio, que normalmente el dominio te lo suelen regalar, y tres clics, cualquiera de vosotras podéis tener un WordPress. Ya sea para un blog, ya sea para una tienda online, hay mogollón de información o bueno, hoy estáis en el sitio perfecto para aprender, pero en internet hay mogollón de información. Las charlas que van a ver mañana se publican en el canal de WorkanoRG y en el canal de WordPress TV. Podéis ver idiomas, o sea, podéis ver charlas en multitud de idiomas sobre multitud de temas. Por lo que quiero decir es que os podéis formar de forma gratuita, simplemente poniendo un poquito de vuestra parte. Que está muy bien todo lo que hemos dicho de PHP y demás, también hay una parte que al final WordPress también lo que busca es facilitar el que cualquiera de vosotras y vosotros podréis compartir vuestras cosas en internet de una forma fácil e intuitiva. Ya otra cosa es que os queráis meter en más marrones como hacemos nosotros y montar, yo por ejemplo, yo no he montado ningún blog y tengo una empresa, yo creo que no he montado blog en siete años. -Pero escribes en el blog. -Pero escribo en el blog. Bueno, sí, he montado el mío. La cosa es que se pueden hacer multitud de cosas, imaginación al poder, también hay que tener el conocimiento, pero para conocimiento puedes tener conocimiento o contactos que sepan y que te puedan ayudar. Hoy estáis en el sitio indicado, de acuerdo, si tenéis en mente algún proyecto, lanzarlo, hablar sobre él. Seguramente habrá alguien que os ayude. Yo, por resumir todo lo que es navegar por internet, la parte pública… Vamos, en mi empresa lo hacemos todo en WordPress, o sea, no se nos ocurre nada… Entonces, todo lo que tú veas que es posible se puede hacer con WordPress. Y ya a partir de ahí, pues evidentemente para eso está la extensibilidad que decía, con plugin puedes hacer de todo, una tienda online, un postcard, un blog… El blog ya viene nativo, pero tú puedes programar, secciones de contenido, conectarte con otras aplicaciones de software, puede hacer de todo. O sea, la parte pública en general es 100%…, para mí es el 100%, pero bueno, la puedes hacer con WordPress. SEÑOR PRESIDENTE (Vadillo Martínez): Pues gracias por la información. Básicamente, WordPress es la navaja suiza que te permite construir tu futuro. ¡Ahí deja la frase! (Aplausos). ¿Cómo vamos de tiempo? Así que bueno, yo creo que vamos a ir terminando ya por hoy esta mesa redonda, ¿vale? Yo creo que ha sido bastante interesante y sobre todo muy motivadora para una persona que va a empezar ahora en la comunidad de WordPress. Así que yo pediría un fuerte aplauso para nuestro exponente. (Aplausos) Y ahora vamos a ver una cosa muy importante, que es que para todo esto de contribuir en WordPress, pues necesitamos una cuenta en WordPress.rege, que es muy importante para poder contribuir con la comunidad. Así que eso es lo que vamos a ver ahora, ¿vale?, cómo podemos crear esa cuenta que la vamos a necesitar luego para las mesas, ¿vale?, es muy importante. Y, bueno, después de esa charla vamos a tener la comida, que ya están viniendo para aquí los bocalatas que están llegando y creo que tenemos como 15 kilos o 10 kilos de chicharrones por ahí, aceitunas, que de comida aquí nos va a faltar. Tenemos también comida para veganos y vegetarianos que no os preocupéis. Así que, bueno, muchas gracias y habéis visto lo que ocurre por invitar a cinco podcasters --- ## AJAX Javascript vainilla y metaboxes nativos en 2.5 Visual Code Extension URL: https://davidperezgar.com/blog/ajax-javascript-vanilla-and-native-metaboxes-in-2-5-visual-code-extension/ He actualizado mi caja de herramientas para desarrollar en WordPress y principalmente he trabajado para hacer transitorios fáciles, Metaboxes y AJAX con Javascript vainilla. Estoy trabajando para eliminar jQuery de todos nuestros desarrollos. En este momento, cuenta con más de 11.000 instalaciones. ¡Es enorme para mí! Puede descargar aquí WP Development Toolbox y más de 34.000 descargas. Esta es la lista: ## Fragmentos de código añadidos - (wpatra) Crear transitorio para WordPress - (wpadef) WordPress Definir constantes predeterminadas para Plugin - (wpamet) Registrar metabox para un tipo de publicación - (gfapdf) GravityForms PDF – Establecer el directorio Templates en Plugin - (wprjq) Eliminar la carga de jQuery - (wpajxq) Botón Ajax con jQuery - (wpameu) Registra meta para un usuario ## Fragmentos actualizados - (wpapuh) Con contantes predeterminados - (wpamet) Nuevos campos de Metabox - (wpajx) AJAX actualizado con Javascript vanilla ¡Disfrútalo y por favor haz una reseña! --- ## ¿Cómo se organiza el mayor evento WordPress del mundo? URL: https://davidperezgar.com/blog/charlas/como-se-organiza-el-mayor-evento-wordpress-del-mundo/ Hoy he sido invitado en el directo de Fernando Tellado de Ayuda WordPress junto con más organizadores de la comunidad de España de WordPress para hablar de cómo hemos participado en la organización del mayor evento del mundo relativo a WordPress, la WordCamp Europe 2022, que hablo un poco en mi blog. He compartido pantalla con Flavia Fernández del equipo de diseño, José Arcos del equipo de comunidad, José Ramón Padrón Global Lead, Juan Hernando Budget Team Leader, Nilo Vélez Photography, Reyes Martínez PR Team, Roberto Tuñón Design Team Leader y Rocío Valdivia – WCEU Mentor. En el video podrás ver cómo hablamos de que el Inglés no debería ser una barrera para participar en estos eventos en cualquiera de los formatos: Ponente, Organizador o Voluntario. También de lo impresionante que ha sido este evento para todos nosotros, en dimensiones descomunales en todos los aspectos, y de cómo ha sido un reto para todos participar y colaborar para que sea posible. Gracias por hacerme partícipe, seguro que nos vemos en otras. --- ## Mi primera WordCamp Europe URL: https://davidperezgar.com/blog/comunidad-wordpress/primera-wordcamp-europe/ Los eventos WordCamps están auspiciados por la Fundación WordPress, y voluntarios como yo ayudamos a que sean posibles y se promueva el uso de este estupendo gestor de contenidos para páginas web. Video resumen oficial de la WordCamp Tabla de contenidos Toggle - Organizador de Patrocinadores - Primer día: Día del Contribuidor - Fiestas - Stand de Patrocinios - Charlas - Conclusión - Otras entradas sobre la WordCamp Europe ## Organizador de Patrocinadores Todos los que trabajamos con WordPress y conocemos su filosofía Five for the Future, que básicamente nos dice que devolvamos un poco de todo lo que nos aporta WordPress, ayudamos y colaboramos con WordPress y su comunidad. Una de las formas es ayudando a que sean posible realizar eventos. En este caso, me propuse para ser organizador del equipo de Patrocinadores, donde dentro de un equipo de 6 personas lideradas por Jason Rouet y como compañeros Marko Tanaskovic, Carole Olinger, Anne-Mieke Bovelett y Valerio Vaz nos encagamos de gestionar las 65 empresas que participaron (video de agradecimiento). Grandes empresas como Plesk, Yoast, Weglot, Bluehost, Google, Mollie, … y también medianas y pequeñas como NitroPack, … La captación de empresas en los eventos de WordPress suele no ser complicado, ya que al realizar una Llamada a Patrocinadores, llegan las empresas interesadas y basta también recordar a las conocidas que se ha abierto dicha llamada. A partir de ahí, empieza nuestro trabajo de gestión, creación del contrato, factura, y gestión del evento. Un trabajo de casi 8 meses en el que empezamos el 11 de noviembre, y que realizábamos casa semana una reunión de seguimiento. **Os podéis imaginar el trabajo que lleva.** Por lo que cuando llegamos a la WordCamp, casi todo estaba ya planificado. Para esta aventura, se apuntaron también Javier Casares, Jesús Yesares y Fede Padilla que aunque no coincidimos todos en los viajes, si reservamos el alojamiento juntos para pasar estos días. Todos veníamos con **diferentes intereses** pero conseguimos estar juntos en muchas partes del día. Con Javier Casares traía el proyecto WPAutoTranslate (traductor automático para sitios multisite) para hacerlo conocer y llegar acuerdos con diferentes empresas y marketplaces. Hemos andado grandes pasos en esta WCEU, y seguro iremos dando novedades. ## Primer día: Día del Contribuidor Tuve también el honor de participar en el día de contribuidor como Líder de la Mesa de WordPress.TV. Tengo que agradecer a Ángel Moreno de que pusiera mi nombre encima de la mesa. Se hizo record de asistentes con 800 registrados, por lo que acabamos bastante contentos. Este día es el importante ya que puedes conocer diferentes personas que son profesionales como tú con las mismas iniciativas de ayudar a la comunidad. La gracia de la WordCamp Europe que mientras las locales, suele haber 4-5 mesas, en esta se establecieron casi 30 mesas y tan importantes como la del Editor, Core o como otras relativas a la traducción y Documentación. Finalmente comunicamos nuestros resultados, que en el caso de WordPress.TV, fueron la creación del nuevo modelo de documentación para que permite mejor las aportaciones, así como la formación de nuevos contribuidores para la subida de videos. Luego al día siguiente nos entrevistaron acerca de este día: **We’ve got interviewed with @DjevaLoperka in #WCEU pic.twitter.com/i9L83c3xFi — David Pérez 🇪🇸 (@davidperezmk) June 3, 2022 ## Fiestas He de decir que me han impresionado las fiestas por cómo están elaboradas y cómo los Patrocinadores y la organización realmente ayudan a que la WordCamp sea más especial La fiestas que asistí fue: - Fiesta pirata de Pagely.** Un barco con tres plantas que nos daba un paseo por el río y además venía con cena y concierto. - **Social Event** organizado por la WordCamp para Organizadores, Patrocinadores, y todo el equipo que hace posible el evento. - **Local Municipality**. La Asociación de Jóvenes empresarios de Oporto nos invitó a una cena en uno de sus edificios. Eché de menos que empresarios de Oporto hubieran aprovechado la ocasión para intercambiar relaciones con empresarios de la WordCamp - **AfterParty**. El Gran broche final con concierto incluido tributo a Queen. Con Juan Hernando Evento del Barco Pirata Jason Rauet el responsable de Patrocinadores Matt identificando el diseño que inspiró a la WordCamp Local Municipality party Social Event en la terminal de Cruceros ## Stand de Patrocinios Todo el trabajo que realizamos todo este tiempo, concluyó en un magnífico lugar lleno de Stands de Patrocinadores como podéis ver a continuación. Además en todo el círculo del recinto, habían también pequeñas empresas que con una Mesa, presentaban su producto/servicio. Aprovechando el inicio del primer día para hacerme una foto con Marko. Visita al Stand de WooCommerce para establecer relaciones con alguno de nuestros productos Foto de asistentes a la WordCamp. Fede detrás mía. Agradecimiento al equipo de Patrocinadores en la clausura del evento. Los regalos que recibías por visitar los stands eran impresionantes. De hecho tuve problemas para llevarme todos de vuelta, ya que cogí también para mi familia y equipo de Closemarketing. ## Charlas Por mi papel organizativo tuve poco tiempo para ver charlas, de las que quiero ver tranquilamente cuando salgan en WordPress TV. Pero podría destacar varias como la de Pablo Postigo A glimpse into the future of WordPress from a frontend point of view, la de Vicent Sanchis What is the next thing about colour contrast?, Piccia Neri Design for conversions: how to be more profitable by putting people first y la de Matt In Conversation: Matt, Matias and Josepha. ## Conclusión Sin duda ha sido toda una experiencia estar y ayudar a organizar la WordCamp Europe 2022, de la que creo que no será la única. Me gusta meterme en los «líos» y saber cómo funciona todo. He generado nuevos contactos que seguro irán repercutiendo en futuras necesidades. El año **que viene será en Atenas**, y puedes ver el video que lo promociona: Creo que este ha sido un inicio para movernos más en un plano internacional del que estamos intentando como agencia tanto de marketing como de desarrollo en WordPress. ## Otras entradas sobre la WordCamp Europe - Javier Casares: WordCamp Europe 2022 - Jesús Yesares: WordCamp Europe 2022: El macro-evento WordPress tras la pandemia - WordPress Radio: WordCamp Europa Música del evento --- ## Lider en la mesa WordPress.TV Contributor Day URL: https://davidperezgar.com/blog/charlas/lider-en-la-mesa-wordpress-tv-contributor-day/ En la pasada WordCamp Europe Oporto 2022, tuve el placer de llevar la mesa de WordPress.TV. Una mesa que se encarga de moderar los contenidos y mantener el portal donde todos el conocimiento de WordPress a través de eventos oficiales y formación, están disponibles para su visualización gratuita. Al día siguiente, tuve la ocasión de ser entrevistado por Wendie Huis in ‘t Veld, acerca de nuestro trabajo en el Contributor. --- ## Operaciones habituales Comandos CLI WordPress URL: https://davidperezgar.com/blog/desarrollo-web/operaciones-habituales-comandos-cli-wordpress/ Esta es una lista que iré actualizando de las operaciones más habituales que realizo con WordPress CLI. ¿Qué es WP CLI? Es la ejecución de comandos de WordPress en una consola. Tabla de contenidos Toggle - Motivos para utilizar WordPress CLI - Lista de Comandos CLI WordPress Backup de la base de datos - Gestión de usuarios: creación y listado - Importación de contenido XML - Regenera imágenes de miniatura - Elimina entradas de blog antes de una fecha - Hacer Super admin a un usuario - Cambiar contraseña a un usuario ## Motivos para utilizar WordPress CLI ¿Porqué utilizar WordPress CLI? Utilizar la linea de comandos se realiza normalmente es debido a que hay ciertas operaciones que pueden tardar mucho y por web no serían posibles debido al time-out. Esto pasa sobretodo en páginas web con miles de posts y cuando hay operaciones de imágenes. ## Lista de Comandos CLI WordPress ### Backup de la base de datos Copywp db export ### Gestión de usuarios: creación y listado Util cuando tienes acceso por consola, pero todavía no te han dado acceso al WordPress. Nos ha pasado más de una vez. Copywp user create davidperez david@close.marketing --role=administrator Documentación oficial: wp user create Listar usuarios: Copywp user list Documentación oficial: wp user list ### Importación de contenido XML Importación de entradas con XML con wp import. OJO utilizar antes la exportación para que también incluya imágenes destacadas con este plugin. Copywp import example.wordpress.2016-06-21.xml --authors=create ### Regenera imágenes de miniatura Copywp media regenerate Documentación oficial: wp media regenerate ### Elimina entradas de blog antes de una fecha Copywp post delete $(wp post list --post_type='post' --date_query='before=2021-01-01' --format=ids) Copywp post list --post_type='post' --before="2021-01-01T00:00:00" Copywp post list --before="2020-12-31T00:00:00" ### Hacer Super admin a un usuario Copywp super-admin add closemarketing ## Cambiar contraseña a un usuario Copywp user update USER --user_pass=### --- ## Doble factor de autenticación en WordPress de forma fácil URL: https://davidperezgar.com/blog/desarrollo-web/doble-factor-autenticacion-wordpress/ La autenticación de doble factor se está implantando en cada vez más servicios online como redes sociales para mejorar la seguridad y evitar suplantación de identidades. Tabla de contenidos Toggle - Doble autenticación para aumentar la seguridad en WordPress ¿Eso significa que estoy a salvo con la verificación en dos pasos? - Algo que tengo - Algo que sé - Algo que soy - Opción 2FA de 1Password y WordPress - ¿Qué método utilizas tú? ## Doble autenticación para aumentar la seguridad en WordPress Los **beneficios de utilizar la doble autenticación**, son múltiples: - **Capa de seguridad.** Ofrece una capa de seguridad ante posibles ataques por contraseña. Realiza una doble autenticación, por lo que verifica al usuario de una forma más definitiva.** - Aumenta la productividad y la flexibilidad**. Ya que permite a usuarios utilizar aplicaciones corporativas gracias a la mayor seguridad que ofrece.** - Reduce el fraude y crea conexiones seguras online.** ### ¿Eso significa que estoy a salvo con la verificación en dos pasos? No. Por definición, **ningún sistema conectado a la red es 100% seguro**. Sin embargo, ha **reducido el riesgo de robo de datos** al añadir un nivel adicional de seguridad. La autenticación de múltiples factores está basada en la identificación del usuario basándose en tres principios: ### Algo que tengo Móvil, Dispositivo FIDO ### Algo que sé Contraseña ### Algo que soy Huella dactilar, reconocimiento facial, etc Por lo tanto, esta capa de seguridad también es muy recomendable utilizarlo en nuestras webs hechas en WordPress. Pensando en que gestionarmos redes de web, páginas web con información de usuarios y ventas en tiendas online. Esta recomendación la hace mucho Javier Casares, y de ahí que me puse a securizar nuestros logins. Para ello, es necesario utilizar este plugin: **Two-Factor* Que te permite realizar la doble autenticación con los siguientes métodos basado en Algo que tengo***: - Correo electrónico. - Contraseña de un solo uso basada en tiempo (TOTP). - Claves de seguridad FIDO U2F. - Códigos de verificación de respaldo. La más sencilla es la del **correo electrónico**, pero es tediosa, que te hace consultar el correo electrónico cada vez que quieres iniciar sesión. La que **recomiendo sería la de basa en el tiempo TOTP**, y puedes utilizar diferentes aplicaciones como: - Google Authenticator - Microsoft Authenticator - LastPass - 1Password * Hasta ahora utilizaba la opción del Google, pero también me generaba tener que ir al móvil y consultar los códigos e introducirlos a mano. ## Opción 2FA de 1Password y WordPress Esta es mi opción que he conseguido que sea rápida y segura. Una vez que hemos instalado el plugin de Two Factor, deberemos ir a la edición del perfil del usuario para activar las diferentes opciones de 2FA. En este caso, yo uso la segunda que es la contraseña de un sólo uso. El QR sirve para que nuestra App de generador de contraseñas, pueda enlazarse con nuestra web (tranquilos que el QR que tengo en mi web no es ese… jeje). Si utilizamos 1Password, además de la contraseña normal, podremos añadir la contraseña de un sólo uso, como se ve a continuación en añadir más en la edición de la contraseña. Acto seguido, escaneamos el código QR desde 1Password: Una vez que guardamos la opción de contraseña única, ya tenemos la opción del generador de contraseñas: Y se nos queda una configuración muy sencilla, que me haya decidido por este sistema. Iniciamos sesión en la página Web: Y en el siguiente paso, 1Password le introduce dicha contraseña generada con lo que es muy fácil y rápido. Ya no tienes que ir a un dispositivo diferente y mantienes la doble autenticación. **Este sistema es el que he implantado a partir de ahora**. Si lo pensamos, sería también una triple contando con que 1Password incluso lo desbloqueo utilizando huella digital. A partir de ahora, deberías tenerlo en cuenta sobre todo en tiendas online, y webs con mucho tráfico. Piensa si entraran a tu web en modo administrador*, lo que podrían hacer… como cambiar el método de pago, etc… ## ¿Qué método utilizas tú? --- ## Sample Blog Post One URL: https://davidperezgar.com/development/sample-blog-post-one-2/ ## Sample Blog Post H2 Title Suscipit taciti primis tempor sagittis euismod libero facilisi aptent elementum felis blandit cursus gravida sociis eleifend lectus nullam dapibus netus feugiat curae curabitur. Curae fringilla porttitor quam sollicitudin iaculis aptent leo ligula euismod dictumst penatibus mauris eros etiam praesent volutpat posuere. Metus fringilla ullamcorper odio aliquam lacinia conubia mauris tempor etiam ultricies proin quisque lectus sociis tristique integer phasellus inceptos taciti pretium adipiscing praesent lobortis morbi cras magna vivamus. Pretium lorem primis senectus habitasse lectus scelerisque donec ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque consectetur risus molestie curae malesuada. Dignissim lacus convallis massa mauris enim mattis magnis senectus montes mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh metus lobortis morbi cras magna vivamus per risus fermentum. Dapibus imperdiet praesent magnis ridiculus congue gravida curabitur sagittis enim magna inceptos sodales parturient. ### Sample Blog Post H3 Title Suscipit taciti primis tempor sagittis euismod libero facilisi aptent elementum felis blandit cursus gravida sociis eleifend lectus nullam dapibus netus feugiat curae curabitur. Curae fringilla porttitor quam sollicitudin iaculis aptent leo ligula euismod dictumst penatibus mauris eros etiam praesent volutpat posuere. Metus fringilla ullamcorper odio aliquam lacinia conubia mauris tempor etiam ultricies proin quisque lectus sociis tristique integer phasellus inceptos taciti pretium adipiscing praesent lobortis morbi cras magna vivamus. Our technological powers increase, but the side effects and potential hazards also escalate. – Alvin Toffler Pretium lorem primis senectus habitasse lectus scelerisque donec ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque consectetur risus molestie curae malesuada. Dignissim lacus convallis massa mauris enim mattis magnis senectus montes mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh metus lobortis morbi cras magna vivamus per risus fermentum. Dapibus imperdiet praesent magnis ridiculus congue gravida curabitur sagittis enim magna inceptos sodales parturient. --- ## Sample Blog Post Two URL: https://davidperezgar.com/development/sample-blog-post-two/ ## Sample Blog Post H2 Title Suscipit taciti primis tempor sagittis euismod libero facilisi aptent elementum felis blandit cursus gravida sociis eleifend lectus nullam dapibus netus feugiat curae curabitur. Curae fringilla porttitor quam sollicitudin iaculis aptent leo ligula euismod dictumst penatibus mauris eros etiam praesent volutpat posuere. Metus fringilla ullamcorper odio aliquam lacinia conubia mauris tempor etiam ultricies proin quisque lectus sociis tristique integer phasellus inceptos taciti pretium adipiscing praesent lobortis morbi cras magna vivamus. Pretium lorem primis senectus habitasse lectus scelerisque donec ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque consectetur risus molestie curae malesuada. Dignissim lacus convallis massa mauris enim mattis magnis senectus montes mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh metus lobortis morbi cras magna vivamus per risus fermentum. Dapibus imperdiet praesent magnis ridiculus congue gravida curabitur sagittis enim magna inceptos sodales parturient. ### Sample Blog Post H3 Title Suscipit taciti primis tempor sagittis euismod libero facilisi aptent elementum felis blandit cursus gravida sociis eleifend lectus nullam dapibus netus feugiat curae curabitur. Curae fringilla porttitor quam sollicitudin iaculis aptent leo ligula euismod dictumst penatibus mauris eros etiam praesent volutpat posuere. Metus fringilla ullamcorper odio aliquam lacinia conubia mauris tempor etiam ultricies proin quisque lectus sociis tristique integer phasellus inceptos taciti pretium adipiscing praesent lobortis morbi cras magna vivamus. Our technological powers increase, but the side effects and potential hazards also escalate. – Alvin Toffler Pretium lorem primis senectus habitasse lectus scelerisque donec ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque consectetur risus molestie curae malesuada. Dignissim lacus convallis massa mauris enim mattis magnis senectus montes mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh metus lobortis morbi cras magna vivamus per risus fermentum. Dapibus imperdiet praesent magnis ridiculus congue gravida curabitur sagittis enim magna inceptos sodales parturient. --- ## Sample Blog Post Three URL: https://davidperezgar.com/development/sample-blog-post-three/ ## Sample Blog Post H2 Title Suscipit taciti primis tempor sagittis euismod libero facilisi aptent elementum felis blandit cursus gravida sociis eleifend lectus nullam dapibus netus feugiat curae curabitur. Curae fringilla porttitor quam sollicitudin iaculis aptent leo ligula euismod dictumst penatibus mauris eros etiam praesent volutpat posuere. Metus fringilla ullamcorper odio aliquam lacinia conubia mauris tempor etiam ultricies proin quisque lectus sociis tristique integer phasellus inceptos taciti pretium adipiscing praesent lobortis morbi cras magna vivamus. Pretium lorem primis senectus habitasse lectus scelerisque donec ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque consectetur risus molestie curae malesuada. Dignissim lacus convallis massa mauris enim mattis magnis senectus montes mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh metus lobortis morbi cras magna vivamus per risus fermentum. Dapibus imperdiet praesent magnis ridiculus congue gravida curabitur sagittis enim magna inceptos sodales parturient. ### Sample Blog Post H3 Title Suscipit taciti primis tempor sagittis euismod libero facilisi aptent elementum felis blandit cursus gravida sociis eleifend lectus nullam dapibus netus feugiat curae curabitur. Curae fringilla porttitor quam sollicitudin iaculis aptent leo ligula euismod dictumst penatibus mauris eros etiam praesent volutpat posuere. Metus fringilla ullamcorper odio aliquam lacinia conubia mauris tempor etiam ultricies proin quisque lectus sociis tristique integer phasellus inceptos taciti pretium adipiscing praesent lobortis morbi cras magna vivamus. Our technological powers increase, but the side effects and potential hazards also escalate. – Alvin Toffler Pretium lorem primis senectus habitasse lectus scelerisque donec ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque consectetur risus molestie curae malesuada. Dignissim lacus convallis massa mauris enim mattis magnis senectus montes mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh metus lobortis morbi cras magna vivamus per risus fermentum. Dapibus imperdiet praesent magnis ridiculus congue gravida curabitur sagittis enim magna inceptos sodales parturient. --- ## Sample Blog Post Four URL: https://davidperezgar.com/development/sample-blog-post-four/ ## Sample Blog Post H2 Title Suscipit taciti primis tempor sagittis euismod libero facilisi aptent elementum felis blandit cursus gravida sociis eleifend lectus nullam dapibus netus feugiat curae curabitur. Curae fringilla porttitor quam sollicitudin iaculis aptent leo ligula euismod dictumst penatibus mauris eros etiam praesent volutpat posuere. Metus fringilla ullamcorper odio aliquam lacinia conubia mauris tempor etiam ultricies proin quisque lectus sociis tristique integer phasellus inceptos taciti pretium adipiscing praesent lobortis morbi cras magna vivamus. Pretium lorem primis senectus habitasse lectus scelerisque donec ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque consectetur risus molestie curae malesuada. Dignissim lacus convallis massa mauris enim mattis magnis senectus montes mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh metus lobortis morbi cras magna vivamus per risus fermentum. Dapibus imperdiet praesent magnis ridiculus congue gravida curabitur sagittis enim magna inceptos sodales parturient. ### Sample Blog Post H3 Title Suscipit taciti primis tempor sagittis euismod libero facilisi aptent elementum felis blandit cursus gravida sociis eleifend lectus nullam dapibus netus feugiat curae curabitur. Curae fringilla porttitor quam sollicitudin iaculis aptent leo ligula euismod dictumst penatibus mauris eros etiam praesent volutpat posuere. Metus fringilla ullamcorper odio aliquam lacinia conubia mauris tempor etiam ultricies proin quisque lectus sociis tristique integer phasellus inceptos taciti pretium adipiscing praesent lobortis morbi cras magna vivamus. Our technological powers increase, but the side effects and potential hazards also escalate. – Alvin Toffler Pretium lorem primis senectus habitasse lectus scelerisque donec ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque consectetur risus molestie curae malesuada. Dignissim lacus convallis massa mauris enim mattis magnis senectus montes mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh metus lobortis morbi cras magna vivamus per risus fermentum. Dapibus imperdiet praesent magnis ridiculus congue gravida curabitur sagittis enim magna inceptos sodales parturient. --- ## Haz pruebas con cookies en Google Chrome URL: https://davidperezgar.com/blog/desarrollo-web/haz-pruebas-con-cookies-en-google-chrome/ Para un proyecto he necesitado crear propias cookies para auditar que cogía bien la información. Pues bien, como hay que hacer pruebas para todo, a través de la siguiente orden en Herramientas de desarrollador > Consola, podemos utilizar la siguiente orden: Copydocument.cookie="keyofcookie=valueofcookie" Donde *keyofcookie*, sería la clave o nombre de la cookie y *valueofcookie* el valor de la misma. Visto en: StackExchange --- ## Configurar WordPress Multisitio URL: https://davidperezgar.com/blog/configurar-wordpress-multisitio/ Un **WordPress Multisitio** es una instalación que comparte los mismos archivos, y que genera diferentes tablas según las diferentes instalaciones y que por tanto, comparte funcionalidades entre ellas. Es una solución **muy inteligente** para ciertas necesidades como puede ser los sitios multidioma (como este), multipaís, división de funcionalidades para hacer menos pesado el sitio principal. Esto es debido a que podemos crear/instalar plugins para nuestras diferentes instalaciones. Puede darse la circunstancia que activemos toda una tienda online en un subsitio con el objetivo de mantener el máximo rendimiento en el portal principal. Este tipo de instalaciones se suele dar en **sitios muy grandes**. Esta guía es una recopilación de diferentes sitios para poder **instalar el multisitio con las dos configuraciones: subdominios y subcarpetas.** La opción de subdominios también se podrá utilizar en la configuración multidominios. Sólo será necesario una vez creado un subdominio, cambiarle la dirección a la definitiva. En Closemarketing tenemos este servicio de Desarrollo WordPress Multisitio. El sitio principal es el HandBook oficial de WordPress, que lo primero que nos indica es pegar esta linea en el archivo wp-config.php: Copydefine( 'WP_ALLOW_MULTISITE', true ); Esto habilitará un nuevo menú en Herramientas > Administración de la red. ## Configuración subcarpetas Configuración en wp-config Copydefine('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', 'dominio.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); Configuración en htaccess Copy# BEGIN WordPress Multisite SUBFOLDER <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - # add a trailing slash to /wp-admin RewriteRule ^(+/)?wp-admin$ $1wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - RewriteRule ^(+/)?(wp-(content|admin|includes).*) $2 RewriteRule ^(+/)?(.*\.php)$ $2 RewriteRule . index.php </IfModule> ## Configuración con subdominios Copydefine('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', 'dominio.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); Htaccess si es subdominio Copy# BEGIN WordPress Multisite SUBDOMAIN <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - RewriteRule ^wp-admin$ wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - RewriteRule ^(wp-(content|admin|includes).*) $1 RewriteRule ^(.*\.php)$ $1 RewriteRule . index.php </IfModule> Y otra cosa importante para los multisite, es que si nos equivocamos con la dirección y ponemos www o sin www, se redirigirá a una página de registro del nuevo site. Esto se utiliza en contadas ocasiones, por lo que nos interesa desactivarlo, añadiendo este código en wp-config: Copydefine( 'NOBLOGREDIRECT', 'https://dominio.com' ); ## Configuración cookies para multidominio Si quieres la opción de multidominio, esto es dominio.com, dominio.es, etc. para que no haya problemas con las cookies, deberás añadir estas lineas en wp-config: Copydefine('COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] ); --- ## Detectar elementos con CLS alto de una Web (Core Web Vitals) URL: https://davidperezgar.com/blog/desarrollo-web/detectar-elementos-cls-alto-web/ El **CLS Cumulative Layout Shift**, o movimiento inesperado de contenido, es una métrica centrada en el usuario para medir la estabilidad visual, y que ayuda para ver cuantos usuarios experimentan cambios en la maquetación de la web de forma inesperada. Dentro del Desarrollo Web, El CLS es una medida que nos ofrece Page Speed de Google y que deberá estar en menos de 0,1. Cuanta más baja sea, más estable será la carga. Pero como este blog es desarrollo. Vamos a ver, porque **hay veces que Page Speed**, nos señala una medición total, pero queremos detectar donde se provoca este problema. Muchas veces, no es tan intuitivo como nos suelen poner en muchos ejemplos. Si utilizamos Google Chrome, en la consola, podemos activar la opción Layout Shift Regions, que colorea el renderizado y nos muestra los puntos de la web que provocan un CLS más grande. - Tres puntos - Run Command > Show Rendering - Activar Layout Shift Regions Y para tener más información todavía, en la pestaña consola, podemos implementar este código, que nos dará valores exactos de los elementos que causan dichos problemas. Copylet cls = 0; new PerformanceObserver((entryList) => { for (const entry of entryList.getEntries()) { if (!entry.hadRecentInput) { cls += entry.value; console.log('Current CLS value:', cls, entry); } } }).observe({type: 'layout-shift', buffered: true}); Una vez que ejecutas dicha rutina, te va dando los distintos elementos HTML que causan dicho problema. Normalmente esto se resuelve con CSS en los elementos que crean dicho problema. --- ## Ponente en Yoast Contributor Day URL: https://davidperezgar.com/blog/charlas/ponente-en-yoast-contributor-day/ Meet Team Yoast Have fun David, and thanks a lot for contributing! 😍 — Yoast (@yoast) October 8, 2021 --- ## Ponente WordPress.TV para WordCamp Galicia URL: https://davidperezgar.com/blog/charlas/ponente-wordpress-tv-para-wordcamp-galicia/ El pasado Sábado 2 de Octubre tuvo lugar la **WordCamp Galicia Contributor Day**, y como parte del equipo de WordPress.tv. Básicamente la presentación se basó en el video que creé para Learn WordPress, donde explicaba qué es WordPress TV y cómo ayudar a mantener el contenido del repositorio oficial de videos de eventos de WordPress. Como principales objetivos estuvieron: - Subida de todos los videos y moderación del a WordCamp Galicia. - Junto con Vicent, explicación de cómo realizar subtítulos y moderación de los mismos. Gracias a los Contributor Day, podemos hacer un WordPress mejor. Empezamos o día do contribuidor en WordCamp Galicia #WCGAL https://t.co/LlSPDVOXz8 pic.twitter.com/832Zhw9lNY — Jesús Amieiro (@JesusAmieiro) October 2, 2021 --- ## Nueva versión 2.2 Plugin Visual Code WP Development ToolBox URL: https://davidperezgar.com/blog/desarrollo-web/nueva-version-2-2-plugin-visual-code-wp-development-toolbox/ Acabo de desarrollar una nueva versión para el plugin para Visual Code que te ayuda con más de 220 snippets a desarrollar en WordPress. La principal novedad ha sido incorporar consultas a la base de datos con tablas personalizadas de WordPress. Estos han sido todos los **snippets añadidos**: gutrcdElimina los patrones por defecto del corewpqvaConsulta entradas con una variable arraywpasmFunción enviar email con cabeceras HTMLwoorsmQuita el meta simple de WooCommercewoortbElimina las pestañas de WooCommerce**de la ficha del productowpsimvMuestra una imagen con un enlace como variablemetafwpCrea un campo select en Metabox cargando formularios WPFormswptcoDesabilita comentarios en ciertos CPTwpaejtCarga JavaScript en un tema hijowpdbgetCarga resultados de una tabla Estos han sido todos los snippets actualizados**: gutainAñadido el estilo ancho editor por post typewpdfpActualizado para que esté en rama máster Con casi 9.000 instalaciones activas, estoy muy orgulloso del resultado que está teniendo esta extensión y de cuantos desarrolladores está ayudando. Descárgatelo en VSCODE --- ## Publica/actualiza un plugin WordPress SVN directamente desde GitHub URL: https://davidperezgar.com/blog/desarrollo-web/publica-plugin-wordpress-desde-github/ Esto lo aprendí recientemente gracias a los directos de Fran Torres explicando de cómo publicar directamente en WordPress SVN. ## ¿Qué es SVN? SVN es la abreviatura de Subversion, y es el control de versiones de los repositorios de WordPress como el propio core, y también los plugins. Una vez que hemos enviado el plugin de WordPress y pasado su proceso de revisión, podemos publicar. Sin conocerlo mucho y lo que he trabajado, es muy tedioso, ya que cada vez que borras un directorio, puedes acabar rompiendo el control de versiones de proyecto. Yo nunca me he terminado de aclarar. En cambio, con GitHub trabajar es una maravilla, ya que gracias a las ramas, podemos desglosar nuestro desarrollo de forma muy fácil. Bien, para conectar GitHub con el repositorio de SVN, podemos utilizar las GitHub Actions. ## GitHub Actions Las GitHub Actions como en su página explican, están pensadas para automatizar procesos dentro de la salida a producción de un código de software. Los flujos de trabajo o workflow se pueden ejecutar en cualquier evento de GitHub. En este caso utilizaremos **el evento de creación de una etiqueta.** Y cada vez que publicamos una nueva release en GitHub, crea dicha etiqueta y ejecuta el código que envía los archivos a SVN. **Nuestro flujo de trabajo será la creación de una release cada vez que queramos publicar en WordPress. ** ## Configuración GitHub Actions para publicar en WordPress Para nuestro flujo de trabajo utilizaremos la acción desarrollada por 10up, una agencia dedicada a WordPress, y que ha liberado para que podamos usarla. La acción puedes verla en su página de acción GitHub, donde viene toda la documentación para ponerla en marcha. A continuación, os enseñaré mi configuración ideal. En el origen del repositorio en la rama principal, creamos un archivo YML con la siguiente ruta: **Copy.github/workflows/deploy.yml Y con el siguiente contenido: Copyname: Deploy to WordPress.org on: push: tags: - "*" jobs: tag: name: New tag runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: WordPress Plugin Deploy uses: 10up/action-wordpress-plugin-deploy@stable env: SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }} SVN_USERNAME: ${{ secrets.SVN_USERNAME }} Ten en cuenta que este código asume que el SLUG de tu plugin es el mismo que el repositorio de GitHub. Que por otro lado, creo que es lo más adecuado. Deberemos ir al menú del repositorio para configurar nuestro usuario y contraseña de SVN. Esto es en: Settings > Secrets y añadir SVN_USERNAME y su valor, y SVN_PASSWORD y también su valor. Y luego para que podamos subir todos los archivos relacionados con el directorio de WordPress, deberemos crear una carpeta: Copy/.wordpress-org Con los archivos que queremos compartir, la imágenes del plugin y sus recursos como capturas de pantalla. Esto es: Copybanner-1544x500.png banner-772x250.png icon-128x128.png icon-256x256.png screenshot-1.png screenshot-2.png En los iconos se puede utilizar también el formato SVG o JPG. Pues ya tendríamos todo configurado. Ahora cada vez que creamos una release**, se ejecutará nuestra acción y publicará en WordPress.org. En la pestaña de Actions, puedes ver el log de cada ejecución. Como puedes ver, en la primera ejecución obtuve un error, y la forma que hice para solventarlo fue eliminar la release y también el tag, para volver a crear el flujo de trabajo. Recursos: - Plugin con la acción publicada: WooCommerce ES. - Acción 10up para publicar en WordPress SVN. - Recursos de imágenes del repositorio de WordPress. --- ## WordCamp Centro América: Desarrollando un plugin de WordPress en vivo URL: https://davidperezgar.com/blog/charlas/wordcamp-centro-america-desarrollando-un-plugin-de-wordpress-en-vivo/ En la pasada WordCamp, Fran y yo, contamos nuestra experiencia de desarrollar un plugin para la comunidad de WordPress, en vivo, a través de una plataforma de streaming, de modo que los espectadores participan en el proceso de creación a través de GitHub. Todas las sesiones de programación quedan grabadas en Twitch Y el repositorio GitHub. Este plugin ayuda a todas las meetups de WordPress a organizar mejor la información en sus páginas web, ya que provee un tipo de contenido para mostrar la información de los encuentros, ponentes, patrocinadores y ubicación. Aquí tienes la presentación completa: Descarga las Diapositivas ## Transcripción Hola, ¿qué tal? Muy buenos días a todos. Muchas gracias a Olivia, Mario, Leandro por la inauguración y a todos los coorganizadores, voluntarios, mentores e involucrados en este primer Work Camp Regional de Centroamérica. Mi nombre es Daphne Delgado y formo parte de la comunidad de WordPress en México y con esto damos inicio a este evento. La primera charla será presentada por David Pérez y Fran Torres, titulada Desarrollando un plugin en vivo. Les cuento un poco David Pérez, quien descubre WordPress en 2010. Crea una agencia junto con su socio. Él se encarga del área técnica y marketing de la misma. Ha desarrollado diferentes plugins y temas en Genesis Framework, así como ha coorganizado distintos WordCamps en Granada. También contribuye como traductor en ciertos plugins y participado como oponente en diferentes países. Fran Torres es ingeniero técnico en informática y licenciado en comunicación audiovisual. Trabaja en proyectos de investigación de la Universidad de Granada y en 2012 pasa a ser freelance haciendo proyectos web especializados en WordPress. Participa activamente en la comunidad desde ese año y ha dado charlas y colaborado en traducciones, así como ha sido coorganizador en WorldCamp Granada y WorldCamp Europa en 2019. Sin más preámbulos, vamos a la charla desarrollando un plugin en vivo. Hola. Ya estamos en vivo. ¿Ya ha empezado la WorldCamp? Qué nervios, qué nervios. Ya ha empezado. Bueno, genial esa fantástica bienvenida. La verdad es que me da un poco de pena ser aquí los primeros que vamos a hablar en la WorldCamp, ser la primera ponencia. Que bueno, vamos a estar aquí unos minutitos simplemente hablando sobre cómo hemos desarrollado un plugin en vivo, ¿vale? Ahora lo vamos a comentar. Bueno, me presento, soy Francisco Torres. Soy de Granada, una ciudad en España. Bueno, como podéis ver por mi acento, soy desarrollador WordPress. me llaman por ahí el Cierra Cadaóquez y dicen que tengo también un bigotito. Y bueno aquí podéis ver mis redes sociales, podéis contactarme por ahí. Bueno yo soy David Pérez, yo de este caso no tengo bigotito. Y sí, soy compañero de Fran aquí en Granada de la porca de la comunidad de WordProgram. Y soy CTO en la agencia Close Marketing. Bueno, vamos a conocer un poquito qué vamos a aprender hoy en este breve tiempo. bueno, ¿cómo se puede colaborar con plugin en WordPress? ¿Cómo lo hemos hecho nosotros desarrollando en vivo y en directo? Y lo que hemos desarrollado ha sido el plugin community meeting, que vamos a hablar también un poquito de la historia y cómo lo hemos hecho. Bueno, colaborar con plugin en WordPress, pues ¿cómo podéis hacerlo? Podéis hacerlo a través de la creación de plugin, es decir, que veis unas necesidades que no están satisfechas por parte de vosotros o que veis que otros usuarios pueden necesitarla, pueden crear un plugin, una buena, muy buena solución para poder dar cabida a esa solución, a esas necesidades que tenemos. Puedes colaborar también con tu código, es decir, de plugins que ya están presentes, que estén funcionando, puedes colaborar con tu propio código, mejorándolo. Todos los muchos repositorios tienen su propio WI-HAT abierto para que tú puedas hacer, digamos, envíos de nuevos códigos para que el autor lo vea, lo modere y lo pueda incorporar. Otra forma también que podamos hacer es para colaborar en los plugins, puede ser a través de la traducción a tu propio idioma. Es decir, que plugins los más populares o el propio que tú vayas a utilizar, que esté en el repositor oficial de corpos.org, pues todos tienen en la pestaña de desarrollo una opción de traducir. anímate a traducirlo para que tú y gente que pueda también estar interesada lo tenga traducido. Puedes también incluso dar soporte. En el foro de soporte de cada plugin, si ves que te ves capacitado y que tienes conocimiento de ese plugin, tú puedes ayudar al soporte de ese plugin. Hay plugins muy conocidos que también mucha comunidad está ayudando también a que ese plugin pueda dar soporte. Luego puedes enseñar el funcionamiento a través de cómo puede ser WorkCamp, puede ser Meetup, acerca de ese plugin, cómo funciona, cómo se trabaja con él. Pues eso es una buena forma también de hacer que sea más visible al usuario y que sepan manejar cómo funciona ese plugin. Para muchos plugins, como son muy conocidos y tienen muchas instalaciones, siempre tienen que hacer versiones beta antes. Pues puedes ayudar a revisar esa versión beta, ver que esté perfectamente, que funcione en tus instalaciones para que no se rompa ninguna instalación cuando ya pase a producción. Y otra cosa muy interesante es el tema de identificación de bugs. Cuando hay muchísimas instalaciones, puede haber pequeñas instalaciones muy raras que pueden ayudar a los autores para que la solventen. Siempre intenta documentar muy bien dónde se te ha dado esa dificultad, ese error y ese problema. Y a través de ya sea el repositorio o en la página de soporte de ese plugin, puede identificar esos errores y pasarlos. Y vamos a ver qué es lo que sucede específicamente cuando queremos crear un plugin. ¿Qué viaje debemos de seguir? En este caso, pues, bueno, desarrollamos en distintas tecnologías. Tenemos PHP, JavaScript, HTML, CSS. Pero no solo todo va de HTML y de programación, sino que también hay que hacer el plugin usable. hay que hacer una maquetación, un diseño, hay que hacer que sea atractivo. Y aparte de eso, también hay que seguir unas buenas prácticas y hay que usar unas funciones específicas que ofrece WordPress para integrarse totalmente con el núcleo. Esto, bueno, sobre todo está muy bien explicado a través de una documentación que hay online. El más importante sería el handbook de plugins de WordPress. Y también hay que tener en cuenta cumplir con la licencia que tiene WordPress, que es la GPL 2, con su licencia o una totalmente compatible. Al hacer tu plugin, dado que lo estás haciendo sobre WordPress, que es un sistema que tiene licencia libre, tu plugin también tiene que ser libre. Luego, si quieres que este plugin esté disponible para el resto de la comunidad, si quieres que esté publicado en el repositorio, lo subes para revisión. Y hay gente de la comunidad que va a revisarlo para verificar simplemente pues que está bien, que no tiene problemas de seguridad. Y a partir de ahí ya puedes subir los repositorios y ya lo que quiera para seguir colaborando con el plugin es mantenerlo y ir publicando las versiones. Y, bueno, nosotros lo que hemos hecho ha sido un desarrollo en vivo de un plugin a través de Twitch, de emisiones en vivo, a través de esta, bueno, famosa plataforma para hacer redes misiones. A través de este streaming hemos mostrado desde el principio de creación del plugin, o sea, el proceso de planificación y luego todo el proceso de desarrollo, desde la primera línea de código hasta la última, todo esto sin editar. O sea, todo está emitido en vivo, todo el mundo ha podido ver, todo lo que hemos hecho desde el principio hasta el final. No hemos hecho nada de crear de cámara. Y bueno, hacerlo así, hacerlo en vivo con gente siguiéndote en momento en el que lo estás haciendo nos ha permitido recibir feedback en ese momento y aprender muchísimo del resto de la comunidad que pues nos ha seguido a través de estos vídeos. Además bueno hemos visto que hay mucha gente que se ha motivado a colaborar porque ha visto esto como un poco más accesible y más a mano y más cercano y todo esto lo que hemos hecho además de que por supuesto está todo se ha emitido todo y está todo grabado está todo su todo el código se ha ido incluyendo a través de GitHub. Bueno, las personas también han podido colaborar a través de este repositorio. Vamos a ver ahora un pequeño vídeo en el que vamos a ver cómo ha sido un poco toda esta historia. Hola, muy buenas tardes. ¿Qué pasa? Empezamos una nueva tarde más aquí de nuevo haciendo cositas, haciendo el WordPress. Vosotros también podéis colaborar. Guille, perfecto, muchas gracias. Hola David. Hola, ¿qué tal? Un plugin para la comunidad de WordPress, lo vamos a empezar a desarrollar y lo vamos a desarrollar aquí en vivo. Hoy para mi es un día especial, hoy te abajaré con World 3. Podré usar todos los functions y hooks que tras el core se esconden. de recorrer la documentación de arriba abajo. Declararé una nueva función para hacer mi trabajo. Que pasara un nuevo error, ya estoy debugging. Y trazaré la ejecución para ver qué está pasando. Hay que dar un repaso a todo para ver que está todo bien. Una versión que sea la que subamos al repositorio WordPress con este formulario. Madre mía, 72 plugins esperando. Y ya está, que lo paséis bien, que lo paséis bien. Un saludo a todos y nos vemos pronto. Hasta luego. – Siento muchísimo, siento muchísimo haberos hecho esta canción. – No, ha sido un buen resumen. Ha quedado muy claro lo que hemos hecho todo este tiempo. – Sí, bueno, y esto que hemos hecho, aparte de canciones, han sido más de 13 sesiones a través de Twitch, de todas aproximadamente entre una y media y dos horas. No hemos querido que sea muy largo. han sido en total más de 23 horas de contenido. Los vídeos que hay subidos tienen una media de más o menos 40 visualizaciones y siempre nos han seguido en vivo entre 5 y 10 personas. Y bueno, de todo esto además han habido más de 61 commits en GitHub y creciendo porque lo seguimos desarrollando y lo vamos a seguir desarrollando. Y bueno, este es el plugin que ha salido de todo esto. salió ayer salió ayer el plugin así que eis corriendo porque tendréis la url ya accesible ha sido justo para la huerca y bueno es el repositorio oficial en la página ahí tendréis toda la información incluso hemos hecho un pequeño diseño y todo para que pudiera estar para hoy para vamos sido justo inédito no explicamos un poquito el plugin el plugin como nació pues nació de un hackathon que se hicimos en 12 de junio 2019 y bueno desde la mitad de WordPress Granada pues se vio un poco la necesidad de organizar mejor la información que nosotros tenemos en las webs, porque tenemos el espacio de Meetup.com pero mejor tener todo y las notas del programa, los ponentes que han estado en esa Meetup, todo esto vimos la necesidad y creamos una reunión y estuvimos viendo un poco y echamos una tarde entera y ahí definimos un poco las estructuras y todo. Bueno fuimos diciendo un poco el código, la verdad es que llegó en la contributor de WordCamp Sevilla en la que bueno, Fran Torre lideró lo que es la mesa de contributor de plugin y gustó bastante, no, Fran? Ahí fue, hubo mucho, vamos, fue muy directivo la gente para el tema de que se conociera un poco cómo contribuir y subir plugins, no? Pues nada, ahí se puso Fran a hacer Twitch y directo, yo también participé en unos cuantos desde el 6 de febrero y ha sido resultado de unos 61 comits que ha llegado hasta el 8 de abril y se fue la revisión y que ayer justo se publicó en el repuesto oficial bueno que hace el plugin a todo esto después de todo esto que hemos contado pues bueno pues crea una sección un post type de meetings que es la propia Mita que te permite tener toda la información completa de la Mita. Muchas veces la información que genera no solo el vídeo o el audio, sino también incluso todo lo que es la nota de la reunión, la gente que estuvo, hay mucha información que es muy interesante mantenerla en la página oficial que tengáis de la Mita. También, ¿qué hacemos? Bueno, también tenemos ponentes, patrocinadores y lugares. ¿Cómo vimos hacerlo? Bueno, pues en esa primera reunión de cómo estructurar la información, vimos que era, en la mejor forma, una tasonomía. Una tasonomía personalizada en la que el ponente tuviera su propia foto, su descripción y enlaces para que pudieran localizarlo. Bueno, vamos un poquito con la visibilidad, para que, digamos, el ponente tenga más visibilidad de cara a las mitas que se realizan. También muy interesante tema de los patrocinadores, por cómo no ayudar a que su licitada también se vea mostrada en la Meetup y finalmente los lugares. Bueno, pues como tasonomía tú puedes elegir una o dos o varias y bueno pues lugar donde siempre muchas veces se repiten o por ejemplo nosotros nos pasa que tenemos cuatro o cinco lugares normales. Entonces los damos de alta en la página y cuando damos el encuentro en el Meetup elegimos el lugar en que se va a realizar. Y finalmente, bueno, esto es un final, no, es un principio y para ello hemos hecho un roadmap en la, hay un grupo que puede participar en Github en el producto oficial de Corpre España y ahí en Isus puedes, digamos, proponer funcionalidades, cosas que tú veas, puedes proponer código también, estamos abiertos a moderar código de que, bueno, hayas visto cosas que puedas que veas tú que sean necesarias y nada pues lo iremos integrando poco a poco, o sea que este es el principio, no el final. ¿Y las conclusiones que hemos sacado de todo esto? Bueno, que todos hemos aprendido cosas nuevas. Yo, por ejemplo, haciendo código pues compartiendo me he dado cuenta de que, por ejemplo, no sabía scrapear, pues para coger ciertos valores de mitas para mostrarlo pues los asistentes que han estado en ese lugar o por ejemplo cuántos miembros hay dentro de una comunidad pues parecía muy interesante y de ahí se ha desarrollado ese tema es decir yo como yo aprendí muchísimo y además dar visibilidad y llevar la programación a otros contextos llevar la programación al sofá de tu casa no te conectas a tu itch a través de tu televisión a través de tu móvil y estás viendo como una persona programa, llevarlo a esos sitios. Y bueno, el compartir te hace crecer como un profesional, no sólo compartiendo lo que tú sabes y las personas que están contigo también comparten, pues al final aprendes como lo hacen otros y compartir siempre te va a ayudar a saber cómo hacerte crecer como un profesional, o sea que aprendas mucho más de lo que tú aporta. Y por supuesto está la satisfacción de haber hecho algo en común, algo entre varias personas que bueno, pues tenéis un pequeño proyecto que entre todos lo habéis podido sacar adelante. Y con esto nos vamos a despedir. Os damos las gracias por estar aquí. Esperamos que paséis un genial día en la World Camp Centroamérica y que todo vaya genial y que colaboréis con este plugin. Sí, esperamos en este plugin. Muchas gracias también de mi parte y nada pues nos vemos también en los contributos que estaremos por aquí también y bueno cualquier duda o cualquier cosa ya sabiendo de contarnos. Un saludo y que vaya todo genial. Un saludo, muchas gracias. --- ## WordPress Tarragona: El mundo de WordPress tras 1 año de pandemia URL: https://davidperezgar.com/blog/charlas/wordpress-tarragona-el-mundo-de-wordpress-tras-1-ano-de-pandemia/ El pasado 25 de Marzo, me invitaron a WordPress Tarragona como organizador de WordPress Granada, para hablar de cómo nos hemos gestionado la pandemia en nuestra comunidad. Asistieron: - Juanka Díaz - Xevi Sañé - Núria Ramoneda - Violeta - Aleix - Nahuai Badiola - Mariano Aquí os dejo el video de toda la charla: --- ## Mi lista de deseos para el Panel Plesk en 2021 URL: https://davidperezgar.com/blog/desarrollo-web/mi-lista-deseos-panel-plesk-2021/ He estado reunido con uno de los técnicos de Plesk, y este ha sido mi lista de deseos: - **Gestionar los correos de forma fácil. **Que pudieras configurar el autodiscover de forma fácil para que los clientes se conectaran al correo con el usuario y contraseña. - **Detector de envío spam y poner en cuarentena. **Hay veces que los clientes se les infecta el ordenador y envían spam. Esto se debería de detectar si que se enviaran dichos correos, ponerlos en cuarentena para revisarlos y no se enviaran. - **Panel Plesk para administrar los servidores.** Sería bueno que Plesk tuviera como una cuenta donde gestionar todos nuestros servidores y diera un servicio de Uptime, recomendaciones y actualización de WordPress. - **Dashboard en la página de inicio** con los indicadores principales del Servidor, como CPU, disco duro, ram, etc. Antes en Plesk Onyx aparecía, pero al actualizar a Obsidian, se eliminó. - **Git**. La sincronización funciona fenomenal pero Plesk no genera una key única por cada suscripción y da problemas. Se lleva pidiendo tiempo. - **Mejor integración con CloudFlare.** Por algún motivo, en estas versiones ya no se sincronizan bien. Si - ¿**Plesk Local?** Esto ya sería estupendo. Que pudieras trabajar en local y que de alguna manera pudieras hacer un pull de una instalación en Plesk, como base de datos y archivos. Algo como Local by Flywheel pero para Plesk. - Y ya por pedir, **que hubiera un plugin oficial de WordPress**, que se conectase con WooCommerce y te permitiera vender paquetes de Hosting y que directamente se creara la instalación y cliente. ## ¿Utilizas Plesk para tu servidor? ## ¿Qué pedirías tú? --- ## Montar ZIP eliminando __MACOSX y DS_Store en Mac URL: https://davidperezgar.com/blog/desarrollo-web/montar-zip-eliminando-macosx-en-mac/ Si hay una cosa que me molesta mucho, sobre todo cuando monto ZIP para desplegar un plugin, son los archivos __MACOS y .DS_Store. Creo que los usuarios que consumen dichos archivos, no deberían tener este rastro de archivos del sistema que utilizamos, por lo que es necesario totalmente. Copyzip -d archivo.zip "__MACOSX*" *DS_Store* Sobre todo es útil para la utilización de ZIP para usos públicos donde compartir dicho archivo comprimido necesita que esté lo mas limpio posible. Fuente: TheWPGuru --- ## Mesa WordPress.TV en WordCamp Sevilla URL: https://davidperezgar.com/blog/charlas/mesa-wordpress-tv/ Hoy Lunes hacemos la mesa del contributor TV de WordCamp Sevilla, donde he preparado esta presentación para llevar el guión. --- ## WPGranollers, Constructores visuales: Gutenberg, Elementor, Divi Builder y WPBakery URL: https://davidperezgar.com/blog/charlas/wpgranollers-constructores-visuales-gutenberg-elementor-divi-builder-y-wpbakery/ El pasado Martes 15 de diciembre, me invitaron a la charla de WPGranollers donde estuvimos diferentes profesionales de WordPress para maquetar una misma página con diferentes maquetadores visuales. Un buen ejercicio, ya que nos permitió a los usuarios mostrar cómo funcionan las diferentes herramientas que permiten editar el **diseño de una página web** en WordPress. Los profesionales invitados fueron los siguientes: - Pablo Moratinos con Divi. - Santiago Alonso con Elementor. - Nilo Vélez con WPBakery. - y David Pérez (yo) con Gutenberg. ## Diseño Gráfico para maquetar Se nos presentó la siguiente maqueta, para realizar en directo. Te dejo con el video publicado en la meetup, desde el minuto que empezó mi intervención. ## Gutenberg gana con diferencia en rendimiento El resultado fue que la página realizada con todos los bloques contenía **49 divs, 18 peticiones y 250Kb.** Como podéis ver un excelente resultado comparado con los otros constructores que no bajaban de los 110 divs. Como conclusión, **trabajar con maquetadores visuales hace que la web esté inflada y pese mucho más.** ## Transcripción Hola. Estamos en directo, ¿no, Adrián? Para no hablar aquí solo. Pues nada, bienvenidos a todos y todas. De hecho, acabo de ver que hay un montón de gente ya dejando comentarios, qué gozada. Nada, bienvenidos. Ya sabéis que esto es una meet up conjunta a la que hoy hemos añadido más gente porque nos gusta juntarnos con gente y hacer cosas conjuntamente. Entonces, esta es la meet up de Granoyer Sitarraza que llevamos ya yo creo que dos o tres ediciones de forma conjunta, la versión online. Porque el Valle es, me imagino que ya lo sabéis, pero es el nuevo Silicon Valley de la zona de Cataluña. Esto es una broma interna que igual fuera de aquí no hace tanta gracia, pero por ir rompiendo un poco el hielo. Hoy me imagino que ya habéis visto en la cartela y los anuncios que hemos hecho, vamos a hablar de constructores visuales, maquetadores visuales, visual composers, WP backerys, divis y muchas movidas de crear y maquetar páginas, ¿vale? Como somos gente que nos gusta traer lo mejor de cada casa, van a venir cuatro personas que conocen bien las distintas herramientas que vamos a mostrar que son Elementor, que os sonará seguramente, DIVI, WP Bakery que es la antigua Visual Composer o algo así, luego nos lo explicará el invitado y también Gutenberg que es el editor de bloques que al final es el que está ganando terreno y es la opción nativa dentro de WordPress para hacer cosas de maquetación relativamente apañadas y sencillas. Vale, antes de dar paso a los invitados que lo vamos a hacer de uno en uno para darle un poco más de emoción y para que os quedéis hasta el final. Comentaros que dentro de unos días 26, 27, 28 y 29 de diciembre tenemos la Work Am Sevilla que tendrá un formato muy peculiar y especial que es… ¡hombre, ni lo! Justo como pincha Adrián ahí… Entonces, que sepáis que podéis apuntaros, el registro es gratuito, serán cuatro tardes de mesas de contribución, ¿vale? Si todavía no habéis metido la patita a contribuir con WordPress, creo que puede ser una muy buena opción para que os acerquéis. Como siempre, recordaros que para contribuir a WordPress no necesitáis ser ni developers, ni diseñadores, ni gente que trabaja en hosting ni nada cualquiera puede contribuir. Con ser gente normal ya vale. Dejemoslo de ser gente. Valoramos mucho que sean gente educada también esto dentro de la comunidad WordPress nos gusta y bueno que os animo a que creo que ni lo comentaba antes que ya hay más de 300 personas que se han apuntado todos los que vais a ver Pero hoy estamos ya apuntaos y deseando que vengan. Así que, bueno, ese sería un poco el call to action antes de empezar. Y nada, como tenemos la idea de la Meetup es muy sencilla. Les hemos pasado un PDF que ahora mostrará el primer invitado de una– Ni siquiera es una landing, es una página bastante sencillita con 4 secciones distintas. Y la idea es que podáis ver de forma fácil y resumida ese es el diseño que van a hacer, cómo lo puedes hacer con Divi, con Elementor, con VpBickery o con Gutenberg, con el editor de bloques. Entonces, la idea es que en directo, en directo, riguroso además directo, hemos calculado, ya veremos, que en 10, 15 minutos cada herramienta se puede ver al menos cómo hacer toda la estructura y la parte, pues eso, para llegar más o menos a ese diseño final. Y nada, esa es un poco la idea. vamos a empezar con atento don pablo moratinos qué tal chicos sepas que cada vez que digo don pablo moratinos me sale la coletilla casi seguida con la que te presenta ana en un billete estamos optimizando esa entrada y cada vez nos ponemos más más títulos y más redobles de tambores. Me consta que tú ya eres emérito. Emérito, doctor Norris Causa por la Universidad de Misco. Muy guay, muy guay. Pues nada, mira, vamos a ser un poquito más parco en presentaciones para no enrollarnos mucho ahora. Sí que cuando terminemos la idea es irnos todos a un Meet y ahí ya pues si queréis preguntar cosas concretas o todos los títulos que tiene don Pablo, pero yo creo que podemos dejarte ya la arena para ti Pablo, por supuesto agradecerte que hayas venido aquí a compartir tu sabiduría y nada, somos todo oídos. Un placer, bueno, has estado un poquito generoso y optimista cuando has dicho que nos habéis pasado un pdf, nos habéis pasado un jpg lamentable, Por eso la gente lo estará viendo. Si lo ven ahora pantalla completa lo verán un poquito un poquito desenfocado, pero no importa nada simplemente es para que nos sirva un poco como referencia. Estás hablando de que nos habéis pasado, bueno ya veis que aquí arriba tiene un título, luego tiene una especie de hero, tres elementos aquí en esta zona, en esta sección, una imagen y un par de párrafos y luego una zona dinámica en la que tenemos aquí pues las tres últimas entradas que se han publicado en el blog de Mr. Wings, del chinorri de Mr. Wings. Bueno, pues la idea me habéis propuesto replicarlo con Divi. Entonces, seguramente una página como esta, yo no la habría, por lo menos de forma aislada, no la habría construido con Divi porque sería seguramente demasiada parafernalia. Pero como experimento me ha parecido interesante. Y bueno, voy a compartir un poco con vosotros cómo lo haría yo. Algo interesante y yo creo que ya sabéis que Divi tiene su opción en versión tema y la opción plugin, solamente el builder. A mí particularmente me gusta más trabajar con el tema por diferentes motivos a nivel de integración. Uno de ellos es que podemos tomar decisiones que nos van a ayudar de alguna manera luego a trabajar un poco más rápido. Por ejemplo, yo un proyecto de este tipo, normalmente siempre lo empezaría con la personalización del tema. En este momento, mira, estoy comprobando que tenía 20.1 activado. Voy a activar en un momento primero 2Divi. Perfecto. No lo tengo. instalado, lo instaló en un momentín. Vamos allá. Aquí lo tenemos. En un momentito lo tenemos y ya lo empezamos a configurar. Todo lo demás lo tengo listo ya. Perfecto. Activamos. Vale, yo normalmente lo que os comentaba es que siempre me voy al personalizador y lo que voy a hacer es configurar algunas cosas que luego nos van a hacer movernos un poquito más rápido. en el personalizador tal y como hemos visto un poco en la demo que nos habéis mandado, simplemente por recordar esta. Y se ve que tenemos un diseño en formato caja y todo esto lo podemos ir haciendo ya directamente con Divi de una parte, pues, muy en un principio. Simplemente arrancar. Los ajustes generales, pues, podemos añadir, por ejemplo, las tipografías que queremos utilizar. Pues, en este caso, no sé, yo creo que estábamos antes discutiendo si es una LAT o una robot o algo así. Yo voy a activar la robot para que lo tengamos. Pero luego lo voy a hacer solamente con los títulos, porque luego lo vamos a poder hacer con los párrafos también para que veáis otra manera de hacerlo, simplemente para que se vean las posibilidades que hay. Aquí esto, mira, en el caso del personalizador, por ejemplo, no funciona el buscador de fuentes, que sí que funciona luego en los módulos, que eso, por ejemplo, es un poquito incómodo. Y ya voy a añadir ya de paso los colores destacados que utiliza web, los voy a añadir a nivel de la configuración. Aquí publicamos y en el formato lo que os comentaba, habilitamos el diseño en caja. Fijaros que aquí, espero que lo estéis viendo porque tengo un poco ampliado la pantalla para que se vea lo mejor posible el tamaño de esto. Sí, diría que se ve bastante. Perfecto. Vale, habilitamos el diseño en caja, que os fijaréis que ha metido aquí unas sombras. Las voy a mantener, podría quitarlas, pero las voy a mantener un poco para que veamos esa caja, cambiamos el color del énfasis del tema, que también va a ser el rojo que vamos a utilizar en este diseño. Y yo creo que con esto, bueno, algo que podríamos hacer también sería añadir a la paleta del propio tema el color que queremos usar. Lo mismo que lo hemos hecho para los enlaces y los acentos. Si nos vamos a divir a las opciones del tema, aquí podemos añadir, por ejemplo, podemos instituir el rojo que viene por defecto por el rojo que vamos a utilizar para nuestro diseño, que es este. Esto por tener una configuración muy básica a la hora de empezar. Y arrancamos, si queréis, ya con lo que es el diseño de la página. La voy a trabajar como si fuera una landing, que un poco estéticamente es un poco lo que parece, o una home. Algo que vemos, por ejemplo, es que no tiene un menú, no tiene una zona de logotipo, tiene que una zona de título. Entonces, yo lo que voy a hacer es utilizar para empezar a trabajar– Vamos a llamarle el título de la página es Mr. WinSecretShop, pues MrWingSecretShop. Y lo que vamos a hacer es decirle a Divi que utilice una plantilla de blank page, es decir, una página blanco. La diferencia es que si utilizamos la plantilla normal, tendremos aquí el logotipo por defecto el de Divi, porque no lo hemos cambiado, y aquí ya añadiría en esta zona de aquí arriba a la derecha el menú principal. Pero si utilizamos una blank page, que son las que están pensadas para las landing, no pintará nada. directamente estará el lienzo absolutamente en blanco, que para este caso creo que es más interesante. Una vez que tengo esta configuración inicial, empiezo ya a utilizar el builder de Divi. A partir de aquí, todo esto ya sería exactamente igual a como si estuvieramos utilizando el plugin en lugar del tema. No habría ninguna variación. Entramos a editar ya directamente. Bueno, como acabamos de instalarlo, me invita a hacer el tour de visita para conocer la plataforma y me da la posibilidad de elegir un diseño, clonar una página, construir desde cero, que es lo que vamos a hacer nosotros. Entonces, los que ya hayáis trasteado con Divi, sabéis que funciona con secciones, filas. Las filas están compuestas por filas y columnas y los módulos, los bloques, por llamar alguna manera, por intentar encontrar un símil entre el glosario de palabras que utilizamos en Gutenberg y el que se utiliza en Divi. Entonces, bueno, añadimos una fila. Fijaros que siempre que añadimos una sección nos invita a añadir una fila. Si añadimos una fila, nos invita a añadir un módulo, pero no es necesario. Directamente podemos trabajar con el lienzo en blanco. Y lo que haríamos, pues, por ir empezando, sería vamos a añadir un título aquí. Este tipo de módulos en Divi son los títulos, son los bloques o módulos de tipo dinámico. Título de publicación. El título de publicación lo que va a hacer siempre es coger el título con el que hayamos creado la página. No me va a invitar a escribirlo, sino que lo va a colocar automáticamente. De hecho, fijaros que ya lo ha metido aquí. ha metido el título con los metadatos. Entonces, yo ahora lo que digo es, bien, en este módulo yo quiero que solamente utilices determinados elementos. En este caso, el título, no necesito los metadatos, no necesito la imagen destacada, además de momento ya no la tenemos. Y ahora lo que vamos a hacer es empezar a trabajar un poco los estilos. A mí me suele gustar construir primero todas las secciones para tener una visión un poco general y luego añadir los estilos. Pero creo que en este caso yo creo que merece más la pena hacerlo de una manera un poco ordenada porque lo vamos a ver mucho mejor. Entonces, directamente nos iríamos ya al elemento de la pestaña de trabajo de diseño. Y en este caso, pensad que aquí estamos trabajando con un elemento que es un título, no un texto, sino un título. Entonces, aquí nos vamos a la sección de título. En este caso, tenemos seleccionado H1. Y si no fuera la fuente con la que estamos trabajando, pues habría que seleccionarla aquí. Esto no es lo que os comentaba antes. Aquí sí que podría ir a buscar la robot. Es mucho más cómodo en este caso. Pero no me hace falta hacerlo porque ya lo he configurado a nivel de tema. Entonces ese paso me lo salto. Si queréis, le podemos meter un tipo de letra un poquito más pesado. Y ahora lo que vamos a hacer es simplemente centrarlo y darle el color rojo que tenemos en nuestro modelo. Pues para adelante. Ahí lo tendríamos. Podríamos trabajar un poquito también el tema del tamaño. Pues no sé. Así que le metemos aquí, no sé, lo vamos a meter en rems. Ahí está. Para que lo tengamos un poquito majo. Muy recomendable siempre trabajar los textos, los tamaños de textos y tal en unidades relativas. guarden píxeles, porque esto nos va a ayudar a que, seguramente, las versiones responsive, tengamos que trabajar un poco menos en este sentido. Entonces, bueno, ya tenemos nuestra primera sección. Vamos con la siguiente. Bien, una foto de Gizmo con ese texto. Pues nada, nos venimos aquí y añadimos una nueva sección. Es una sección regular con un elemento, una única columna. Y esa columna, pues lo que vamos a hacer es añadir un texto. Vamos a elegir al buscador. Texto. El texto este, lo que tiene es la palabra gremlins. Vamos a suponer que esto sería– No sé, por ejemplo, vamos a poner que si esto de aquí es un H1, pues vamos a poner que esto sea un H2, por ejemplo. Simplemente porque, seguramente, a nivel estructura no tiene sentido. Pero para que veamos diferentes posibilidades, le damos– Y que tampoco estamos trabajando el SEO como para ponernos– Claro. Claro. Bueno, es algo que no cuesta nada a nivel de estructura mental y creo que ayuda. Es algo que no cuesta demasiado y, por lo menos, bueno, yo creo que es interesante hacerlo de esa manera. Vale, lo tenemos ahí. Y ahora lo que vamos a hacer es aplicarle diseño aquí a esto. Ponemos el tamaño– en este caso, perdón, no es texto, sino que es texto de subtítulo y es un H2. Le vamos a dar la fuente a la que tenemos para los títulos, le vamos a dar un poquito de peso y lo vamos a marcar o lo vamos a alinear a la derecha como lo teníamos en el modelo original creo que el color era blanco, bueno primero voy a modificar el tamaño para que lo podamos trabajar un poquito mejor, por ejemplo así blanco ahí está claro ahora lo que tenemos que pensar es en la imagen que tenemos de fondo lo que vamos a hacer en este caso es cargar esa imagen como fondo de la sección vamos a la sección y escogemos la imagen de fondo con la que vamos a trabajar que es esta imagen. Vale, ahí la tenemos ya. Y ahora vamos a añadir las siguientes filas de texto que tenemos. Venimos aquí, añadimos un nuevo módulo de texto y en este caso tengo un texto, el mejor regalo de estas navidades. Vale, lo tenemos aquí detrás. Texto en blanco, alineado a la derecha y vamos a trabajar un poco el tamaño también del texto por aquí. más o menos. A continuación tenemos otro texto, por trabajar un poquito más rápido voy a duplicar este para que si os fijáis aquí en la sección teníamos dos textos a diferente tamaño con un separador en medio. Entonces duplico un texto, lo que voy a hacer simplemente es modificar el tamaño de este segundo. Sí, tampoco lo que decíamos, tampoco vamos a poner el piso perfecto. Claro, claro. Más o menos. Y ahora lo que vamos a hacer es añadir aquí un separador. vamos aquí, que era la línea esa horizontal que teníamos. Vale, ya veis que nos lo muestra por defecto en rojo, vamos a decirle que la queremos en blanco, le vamos a añadir un poquito de, no, esto es el tamaño, a ver, a ver, a ver, separación, un segundo, solido superior, tamaño, tiene que estar a la derecha y le vamos a meter una anchura del separador de cuatro píxeles, por ejemplo, y la anchura máxima, no sé, un 5% igual. Un poquito más. Ahí lo tendríamos, por ejemplo. Si os fijáis, evidentemente, aquí tenemos, los elementos no tienen un poco las proporciones que tenemos aquí, pero esto, una de las grandes ventajas que tiene Divi es que nos permite trabajar con paddings y márgenes de una forma muy cómoda. Por ejemplo, entre separador y la siguiente línea de texto que tenemos, podríamos modificarlo bien desde el diseño en la separación. Por ejemplo, modificando el margen de la parte inferior, por ejemplo, lo llevamos a 0 píxeles y ahí lo tenemos. Pero también podríamos hacerlo directamente desde el propio módulo. Fijaros cómo el módulo de texto, cuando arrastro el ratón y sale una sombra que me indica el margen que tiene debajo, pues podría modificarlo aquí de esta forma si tan cómoda. A mí no me suele gustar hacerlo de esta manera porque te hace muy fácil perder el ritmo de las proporciones. No lo ajusta numéricamente. Si os fijáis cuando yo lo deslizo, sí que llega un momento que sí que se ve, ahí no se ve muy bien por el fondo, pero ya me indica que estoy en 90 y tantos píxeles, 100 píxeles ahí, pero cuando ya es muy estrecho y estás trabajando por debajo de 30 píxeles ya no lo ves. Entonces, a mí me suele gustar más irme a la configuración del propio módulo y ahí verlo. Si queréis, le vamos a meter también un poquito de padding por aquí a la sección para que nos quede un poquito más chulo. Por seguir un poco el modelo original, le metemos 100 píxeles de padding interno por arriba y por abajo y ya lo tendríamos. Tenemos la segunda sección, más o menos. Si queréis, se podría hacer también un poquito más grande. Aquí podría ser interesante trabajar con tantos por ciento también en este sentido. Nos vamos al diseño, la separación. Ya tenemos 100 y 100, pero podríamos estar jugando, pues no sé, con un 10%– con un 10%, por ejemplo. O los VHs que siempre casi se acomodan. Exacto. Exacto. Vale, pues ya tendríamos nuestra segunda sección aposiblemente. Vale, esta tercera sección es bastante interesante. La vamos a añadir. Lo que vamos a hacer ahora, evidentemente, es trabajar con tres columnas porque tenemos tres elementos. Y, bueno, perdón, primero sería una fila, que sería el título de la sección. Texto, el título es, solo recuerdo las tres normas básicas. Solo no llevo acento, pero bueno, eso se equipa hacia mí. Vamos a dejarlo así, porque luego no digas que no se parece. Ahí lo tenemos. Y nada, aplicamos, si queréis, podríamos aplicar incluso los propios estilos aquí del título. Podríamos hacer… Vamos a ver, podríamos venir aquí y copiar los estilos de ese módulo. Nos llevamos aquí. Ah, bueno, no va a funcionar porque eso era un H1 y esto es un párrafo. A ver… Claro, no me deja ni pegarlo, porque son distintos. Nada, lo tengo que hacer aquí. Luego lo copio en el siguiente modelo para que lo veáis. Perdón, esto es un H2, esta sección. En el diseño, centramos. Damos el color rojo. ¿Dónde estoy? Estoy en texto, perdón. Texto y subtítulo. H2. Rojo. Centrado. Un poquito de peso. Y el tamaño, pues… Tenemos y ahora debajo de esta, fijaros que tenemos una sección con una fila dentro de la misma sección, vamos a añadir tres columnas, una fila con tres columnas y aquí este tipo de elementos, esto es lo que los módulos de Divi llaman un anuncio o un blurb en inglés, que es este tipo de elemento que al final no es más que como veis aquí en la plantilla una imagen con un título y una descripción. En algunos casos se puede añadir también con un botón, tiene otro módulo que es lo mismo pero con un botón. Entonces aquí sería Cuidado con la luz. Cuidado con la luz. La descripción la voy a dejar porque yo creo que ahí no os vale, que sería el cuerpo. Y a continuación, la imagen o el icono, pues, de las imágenes que nos habéis pasado, pues, está del solete este. Y ahora tendríamos. Ahora, llegaría la parte un poco de diseño de centrar un poco los textos para que tengan esta misma estructura. Vamos al título. centramos, vamos al cuerpo del texto y lo centramos también. Si queréis porque se vea exactamente igual, voy a dejar solamente una línea de texto. Ahí está. Y ahí lo tendríamos. Aquí hay una cosa interesante que es que si os fijáis en el diseño original, el interlineado entre el título y el texto es muy, muy pequeñito. Está muy ajustado. Entonces, aquí hay una cosa que cuando nosotros utilizamos estos módulos completos, como el módulo de anuncio, no podemos hacer algunos– los ajustes de separación entre los diferentes elementos que componen el módulo no se puede hacer a nivel de menús. Si nosotros nos vamos a la pestaña de diseño y nos vamos a la separación, fijaros que es la separación de todo el bloque. Es decir, podría afectar al margen y el padding de todo el bloque, de toda la caja completa. Para hacerlo de manera interna, pues tendríamos que irnos a la pestaña avanzado y dentro del CSS personalizado, podríamos ir al CSS, por ejemplo, de el título del anuncio, que sería este elemento, y decirle que queremos un– no sé cómo estará, pero vamos por ir probando. Margin button de 0 pixeles. No, vamos a hacerlo con padding, que es lo que tiene padding. Ahí está. Veis, nos lo llevamos ahí y ya lo tenemos. Entonces, eso sí que tenemos que medir hacerlo aquí a nivel de código. Esto también se podría haber hecho simplemente con un módulo de imagen, un módulo de texto y otro módulo de texto. Y ahí lo podríamos haber hecho con los paddings estos un poco más visuales, ¿no? Pero al utilizar un módulo ya completo, no nos permite hacer esos ajustes tan precisos dentro. Vale. ¿Os oía alguien decir algo? No sé si era que queríais preguntarme algo a esto. No, no, bien, yo creo que por aligerar un poco y no dejar sin tiempo al resto de compañeros, igual puedes simplemente clonar esta, ¿no? Para que la estructura se entienda y… Sí, sí, era lo que pensaba hacer con este. Vale, vale, perfecto. Además, que hay todo el sentido del mundo, porque aquí la gracia es que, además, una vez que ya has ajustado el diseño, pues simplemente replicarlo. Vamos con la siguiente sección. Vale, y esta es una de las más chulas también. Vamos a– Vale, en esta había que haber aplicado un color de fondo, pero lo hacemos en un momentito. Un fondo gris. Vale, ahí está. Añadimos una sección nueva. Y en este caso, pues, es una sección, pues, más o menos con este formato, en la que a la izquierda tenemos una imagen de nuestro querido amigo, no sé si creo que es– -Gizmo. -Vale, sí, Gizmo, Moui, ¿vale? Y aquí añadimos un texto, ¿verdad? Vale. Voy a poner dos párrafos tal y como viene en el ejemplo. Algo interesante aquí en este diseño es que, fijaros, no se aprecia totalmente, pero lo que tenemos es que el texto está, digamos, alineado al centro. Tiene un alimento vertical, una alineación vertical. Esto, por ejemplo, que hay otras herramientas que sí que lo tienen, en el caso de Divi no tiene un botón de alineamiento vertical. Entonces, no queda otra que utilizar las propiedades de Flex. ¿Cómo se hace esto? Lo hago muy rápido, muy rápido. Si nos vamos a la configuración de las columnas, a los ajustes de la fila, lo que tenemos que hacer es decir en diseño que en el tamaño hay que igualar las alturas de las columnas. Esto, digamos, que activa la propiedad flex de Divi. Una vez que lo tenemos, aunque nosotros ahora no lo vemos, la caja que contiene este módulo de texto se ha igualado en altura a la de la imagen. Aunque nosotros no lo veamos. Si aplicáramos un fondo, sí que podríamos verlo. Y ahora, para que se centre esto respecto a la imagen, Nos iríamos a las propiedades de diseño de la columna en cuestión. En avanzado, CSS personalizado y ahora elemento principal, pues le meteríamos la propiedad de alguien, self, enter. Ahí estaría, ¿vale? Ya lo tenemos. – Muy bien. – Y ahí está, ¿vale? Pues como veis, en este caso– – – –choquilla, ¿eh? – Sí, este es este, porque no es que no hay una opción en el menú para hacerlo, ¿vale? Este elemento, este espacio que tenemos aquí de separación entre ambas columnas, también se puede tunear un poquito. También en la configuración de diseño de las columnas, que es aquí en el uso personalizado del canal de ancho. Esto, por ejemplo, es bastante práctico. Como veis, podemos modificarlo de alguna manera. Esto depende de la estructura que tengamos. Se notará más o menos. Si vamos a este modelo, fijaros cómo ahí ya se ha eliminado totalmente el padding, el padding lateral. Y podemos ajustarlo un poquito más. por ejemplo, por poner algo así. Y vamos con el final, si queréis, que como es un elemento dinámico es bastante chulo, entonces añadimos una nueva sección. ¿Cómo? Que te lo puedes ahorrar el título. Sí, no, me lo voy a ahorrar porque lo voy a copiar de aquí. Lo voy a duplicar. Esta es una de las gracias precisamente de utilizar estos elementos. Lo meto aquí y ya lo tenemos. ¿Vale? Sí. el fondo que veíamos antes era el mismo. Ahí estaría más o menos. Y ahora sí que va aquí un elemento dinámico, que es el elemento del blog. Pues nos vamos a añadir un nuevo– Otra cosa que quería comentar es que podemos trabajar bien en esta vista o bien a veces también en esta vista de bloques, que es también muy interesante en algunos casos. Ya dimos un bloque de blog. Aquí lo tenemos. Y podríamos ir configurándolo desde aquí simplemente por tener un poco las dos perspectivas. El módulo de blog siempre se abre con un diseño en formato ancho completo, pero nos podemos ir a una rejilla. Ahí lo tenemos. Hay algún elemento que no tiene la imagen destacada, pero para que os hagáis una idea simplemente. Voy a decir que quiero ver solamente tres entradas para que respetar el diseño original. Y ahora lo que hacemos es que dentro del contenido lo que podemos hacer es decirle, aparte del extracto y tal, porque se pareza, vamos a meter un poquito más largo. Y los elementos que queremos que se vean. Por defecto, tenemos los elementos de imagen destacada que no aparecen en el modelo original. Sí que aparece el botón de leer más. No aparece ni en los metadatos. Ahí lo tendríamos. Y más o menos lo tendríamos. Esto sería un poco la idea. El fondo, en este caso, tenemos que ponerlo transparente para que nos haga ese efecto que tiene Dibi con las cajas del blog. Y yo creo que más o menos lo tenemos. Guay, guay, guay. En un plus plus. Creo que no me he enredado tampoco demasiado. Vamos a verlo si queréis, si saliendo el constructor visual, porque a veces varía un poquito. Pero, bueno, no hemos entrado tampoco en el detalle de cómo aparecen los módulos, porque podemos hacer que aparezcan por fundido, aparezcan de una manera dinámica y tal. Pero esta sería un poco la idea. Creo que más o menos lo tendría. Sí. – Bye. – Pablo, pues… Pues muchas gracias por las compartidas. Nunca lo había visto por dentro. – Sí, sí. – Mira. Muy interesante. Ahí lo tenemos. Ya veis que, bueno, lo he explicado muy rápido. Seguramente se pueden hacer muchos trucos y muchas cositas, pero quería que se vieran… Es que además en DIVI lo que sucede es que hay muchas formas de hacer las mismas cosas. Entonces, simplemente porque veamos… He ido saltando un poco de diferentes posibilidades para que se vea lo que se puede hacer. No, yo creo que perfecto porque al final la idea es un poco que la gente viera la interfaz, que es importante también para ver si a nivel de usuario les entra bien o entienden los menús porque es verdad que yo de Veele lo utilicé hace creo que cuatro años por primera y casi última vez y las estéticas se parece mucho pero varía un montón. Ahora hay muchos más sub apartados donde puedes, bueno, es más granular, ¿no? Supongo que es algo que está pidiendo el usuario final y la verdad es que tiene una cascada de bastantes elementos que puedes ir tocando. A ver, hay que pensar que Divi es un costutor que tiene mucho tiempo, es de los más antiguos, lleva mucho tiempo funcionando y claro, se han ido añadiendo muchas cosas, de hecho algo interesante es que se han concentrado en algunas fases del proyecto, en añadir cosas nuevas y en otras en mejorar la usabilidad y el rendimiento, porque es verdad que hubo un momento que se convirtió en algo muy pesado Y ahí estuvieron trabajando en una versión solamente en mejorar la velocidad y todo eso. Y yo creo que lo hicieron bastante bien. Y veo que comenta Nuria, por ejemplo, en el chat el tema del código. Hombre, pues evidentemente, pues el que da un costutor visual. Pues da el que da. Pero es que su, digamos, su opuesto no es dar un código limpio, sino que sea muy fácil. Claro, dice que el código estará lleno de Dibs. Yo le digo, claro que está lleno de Dibs. Pero es que la gracia es que esto lo puede hacer alguien que sabe lo que es un div. Claro, claramente está enfocado para un usuario final distinto al que lo hace. Pero nada, la gracia de hoy es que veáis los distintas opciones y vamos con la segunda opción. Muchas gracias Pablo, quédate un ratito por aquí que todavía seguro que me quedo. Me quedo a contraer a los trozos del chat. Gracias Pablo. Vamos con el segundo, que es un beach binger más modernito que de hecho podríamos decir que es el page builder de moda, estoy hablando de Elementor y nos hemos traído aquí uno de los elementas que me consta que sabe bastante del page builder. Muchas gracias por venir Santiago Alonso. ¿Te oimos? Micro. ¿Te oimos o no te oimos? Está hablando del micro. Me estaba muteando. Claro. Vale, para el tutorial mejor lo hacemos con audio, ¿vale? Para que la gente… Es que como es muy intuitivo el inventor, lo podía hacer sin él. Bien, bien jugado, bien jugado. Pues nada, vamos al lío. Bueno, Santiago Alonso tiene mucha experiencia experiencia con Elementor, así que creo que es un buen ejemplo de una buena forma de ver por dentro cómo funciona y vamos a ello Santi, para no enrollarnos más. Genial, vale, no voy a mirar para allá porque tengo la otra pantalla por aquí. Yo he decidido a nivel de plugins solamente vamos a trabajar con Elementor Free, vale, Elementor tiene dos versiones, tiene una Free y una Pro. Vamos a trabajar con la Free y para una cosita del diseño que no está en la versión Free he optado por otro plugin que se llama Premiere Add-ons for Elementor que está libre también en el repositorio, para no tener que tirar de opción de pago. A nivel de tema aunque tengo instalado ahora mismo 2021, como es una landing y es súper limpio lo que queremos hacer, voy a optar por «Hello theme», es un tema que es del propio Elementor y que no tiene absolutamente nada, vale, voy a instalarlo y activarlo ahora mismo y vemos lo que lo que hace, como vamos a hacerlo todo con Elementor, el tema no tiene nada, es una carcasa absolutamente vacía. Si cargamos la web vemos lo que tenemos que es pues nada, el color de Elementor y ya está. Y ahora sí vamos a arrancar. Voy a crear una página. Hay algunos pasos que son muy parecidos a los que ha hecho Pablo porque al final Elementor y Divi han ido de la mano. De hecho hubo un tiempo en el que parecía que se iban pisando las funcionalidades uno con el otro y se van copiando cosas. Vamos a crear una página, le ponemos el título, la publicamos. Hay que hacer este paso por Gutenberg Intermedio porque no nos deja saltar directamente Elementor y una vez la tenemos publicada ya sí podemos darle al botón de editar con Elementor. Vamos a encargar. Elementor en la última versión metió una cosa que aunque está todavía en desarrollo, a mí me parece bestial, que es lo que ellos llamaron sistema de diseño. El sistema de diseño lo que nos deja es tener tipografías y colores a nivel global que luego vamos a poder ir utilizando y jugando con ellos en todos los elementos del diseño y además nos va a permitir luego modificarlos de manera mucho más rápida. Lo vamos a ver luego. Primer paso que vamos a hacer, muy parecido al que ha hecho en Divi, Pablo, nos vamos ir a los ajustes que están aquí abajo y la estructura de página le vamos a decir Elementor Canvas. ¿Para qué? Para que omita la cabecera y el footer que tengan el tema porque lo que estamos montando es una una alambil entonces todo va a ser lo que montemos con Elementor. Mientras carga, vale. Vamos a definir lo que os decía del sistema de diseño que lo tenemos en ajustes del sitio. Desde aquí tenemos colores globales y fuentes globales y luego podemos definir también estilos genéricos para las principales etiquetas de tipografía, para los botones, imágenes, campos del formulario y más cosas que no vamos a tocar ahora. Colores globales, vamos a definir los que teníamos en nuestro diseño, que era como principal este color granate, como secundario para los textos, yo creo que me voy a quedar con este, bueno no era negro, más puro, así que me voy a coger un color más negro, vale, lo copia donde no era, bueno, no igual, como color de énfasis que será el de los enlaces, también nos vamos a coger el granate y además me voy a añadir uno más para tenerlo a mano que es el gris de los fondos de las secciones y le vamos a llamar muy originalmente gris fondos. Y tenemos todos los colores a mano, esto ya veréis que aunque no estamos viendo nada nos va a ser súper útil luego. A nivel de fuentes globales vamos a hacer lo mismo. Una fuente principal. ¿Hemos dicho roboto al final? Sí. Vale, hemos dicho roboto. Que teníamos a Pau ahí en el chat, dice «enhorlo». Bien, lo voy a poner en pixels para no calcular, ¿vale? Pero luego lo podríamos cambiar. En elementos, una cosa que podemos hacer, todo lo que vayamos viendo a nivel de tipografías, etcétera, cada dos por tres nos vamos a encontrar este iconito. Este icono nos dice vamos a ir definiendo los tamaños en los tres breakpoints que tiene que tiene por defecto definidos que son para escritorio para tablet y para móviles. Si no decimos nada lo hereda hacia abajo sin ningún tipo de problema si por ejemplo definimos una de tablet se va a heredar también para el móvil salvo que definamos uno específico en móvil. Definimos tamaño definimos peso mayúsculas transformación etcétera altura de línea lo voy a dejar así el secundario lo voy a dejar también con el robot y le voy a poner otro por ejemplo 500 de peso voy así un poco a ojo. El texto también es Roboto y yo creo que eran 16. No vamos a definir ninguno más y lo vamos a ir viendo. Vale, guardamos, nos volvemos por aquí y definimos etiquetas básicas. Vale, en todos los elementos de tipografías, colores, etcétera, nos vamos a encontrar estos globitos que nos dicen que vamos a coger estilos globales de los que hemos definido. Entonces yo ahora le voy a decir que esto coja el color de texto para los cuerpos y como tipografía la tipografía de textos y el espaciado de párrafos por defecto lo vamos a dejar en 10 píxeles. y voy a definir también el h1 que me coja este color principal y como tipografía la principal y el h2 también lo vamos a coger con este color y con esta tipografía secundaria y no voy a definir nada más de momento bueno sí el h3 porque lo vamos a necesitar voy a poner en secundario y le voy a poner el mismo en la misma tipografía. Esto es algo raro de entender, ¿vale? A mí me costó bastante y es que por un lado tenemos la definición de estilos de colores globales y tipografías globales y luego las asociaciones que hacemos con las etiquetas. Aquí estamos definiendo un poco el tema y ahora ya sí nos vamos a meter en aquí. Estructura de Elementor. En la barra izquierda tenemos los widgets. Los widgets es la unidad de medida más pequeña dentro de Elementor, que vendría a ser el bloque en Gutenberg. En la parte derecha tenemos la maquetación del tema. Tenemos secciones que dentro tienen columnas que dentro tienen widgets. En ese aspecto muy parecido a Divi. Vamos a empezar ya ahora sí directamente con él con el tema. Añadimos una sección de una la columna y aquí dentro le arrastramos un widget de tipo encabezado. En este texto ponemos como en el diseño todos los widgets de elementos, bueno en realidad widgets, secciones y columnas tienen una estructura muy parecida que es contenido, estilo y avanzado. Según lo que estemos editando tendremos distintas opciones, pero estas pestañas las vamos a tener siempre, ¿vale? Esto es un H1 que está alineado al centro y en avanzado le vamos a decir que tenemos pues unos 25 de margen por arriba y por abajo y vamos a ir añadiendo la siguiente sección. En la siguiente sección lo que vamos a hacer es añadir bueno vamos a añadir el fondo a nivel de estilo subimos una imagen que la tenemos por aquí Y una cosa que le podemos decir, muy útil, es decirle una altura mínima a la sección. Esto viene muy bien para, bueno, incluso podríamos decirle que lo ajustara a la pantalla, pero ahora mismo no tiene sentido porque como tenemos una cabecera nos va a hacer un poquito de scroll. pero podríamos decirle una altura mínima de 80 vh para que sea el 80% de la pantalla vamos a ver que esto se me queda pillado, vamos a ir arrastrando más los encabezados, ¿vale? Para esta sección que teníamos tres, este que decía gremlins, vamos a poner que es un h2 que está alineado a la derecha y aquí nos vamos a ir a estilo si le vamos a decir oye tú como color tendríamos que tener el blanco que no lo he creado me he equivocado así que vamos a crear un nuevo color global. Nos vamos a ir a gestionar coloros globales, volvemos a donde estábamos al principio y me creo un nuevo color. Aunque sea tentador, podemos crearlo sin pasar por los ajustes globales, ok? Pero lo quiero hacer así para que luego veamos una cosa, si me da tiempo. Le decimos, oye este título cógelo del global y cógelo como principal a este este tamaño que también debería ser más grande pero bueno, venga. Bueno, tranquilo que no vamos al pixel perfect. Venga, así lo voy a hacer. Bueno, así enseño esto. En el momento en el que teníamos un personalizado, pero lo podemos dar al lapicerito y lo que hacemos es decir, oye, vale, lo que yo te había dicho como personalizado, genial, pero aquí quiero un estilo por defecto porque me da la gana, ¿vale? Y le vamos a decir que lo ponga en mayúsculas, coja un tamaño más grande y a correr. Vamos a duplicar, en este caso nos vamos a copiar, tengo por aquí el texto, esto vamos a decirle que es un h3 y aquí le decimos si espera, aquí sí quiero el secundario y cuál era el tercer texto, vale cogemos uno más con derecho duplicar ponemos el siguiente yo este lo pondría como párrafo que también lo podemos lo podemos poner a nivel de estilo le decimos que esto es un tipo texto y aquí en Elementor tiene una cosa y es que todos los elementos de una columna por defecto tienen la misma separación tiene como una separación para todos, un espacio entre widgets que es de 20 pixel por defecto. Lo podemos ajustar a 0 incluso para que se aparezca más al diseño y luego definir en cada uno de los elementos un margen, ¿vale? A nivel de avanzado podemos definir su margen. Decimos que no sea global para todos porque queremos definir diferentes medidas arriba y abajo y ahora nos vamos a meter el separador que nos falta aquí. Esta configuración muy similar a la de Divi. Definimos el porcentaje del ancho 10, lo ponemos a la derecha, bueno podríamos decirle que es un separador con texto. Si lo pongo en blanco igual puede ir ver algo porque yo voy a automático. Podríamos poner el separador con texto o incluso con un icono pero como no lo tenemos en el diseño lo dejamos en blanco. En contenido hemos definido el ancho, en estilo definimos por un lado el peso que es el grosor que tenemos, me voy a copiar de Pablo que ha dicho 4 y quedaba muy bien y la brecha que sería la separación arriba y abajo que lo podemos dejar en en 10, venga, así vale y como detalle tonto vamos a hacer que es algo que a mí me parece bastante potente en Elementor, a nivel de sección donde tenemos el fondo se pueden definir posición del fondo y podemos definir por ejemplo el formato parallax directamente en la sección y nos puede quedar chulo y también podríamos definir la capa de fondo en el caso de que la foto no se viera del todo bien y ponerle un un colorcito para que se leyera mejor, pero bueno, lo vamos a dejar así y vamos a añadir la siguiente sección. Esta sección que os recuerdo, abro aquí el JPG como era, tendríamos hasta tres maneras diferentes, yo cuando lo he visto he pensado tres maneras diferentes con Elementor. Una sería una sección, dos secciones, una que tuviera el título y debajo otra que fuera tres columnas. Podríamos hacer una sección grande que tuviera luego una sección interior a tres columnas o la que más me gusta a mí, que es la que voy a implementar, que es una sección normal a una columna. Y dentro vamos a meterle un título que me voy a copiar este y pegar aquí. perdonad que me abra esto por aquí. Le voy a decir que esto tiene un margin de 25 píxel, por ejemplo. Y ahora me voy a meter un widget que aquí se llama cuadro de imagen. Y aquí vamos a definir los tres cuadros. el primero que tenemos es el de la luz, vale, vamos a decirle, este es muy parecido al que ha enseñado Pablo, vale, tenemos una imagen que tiene un encabezado encima y que tiene un texto debajo que vamos a dejar el lorem fistrum este, que madre mía, podemos definir la etiqueta del título que la dejamos en h3 y aquí es donde viene algo que a mí me gusta mucho de Elementor y es que a nivel de en la pestaña de avanzado tenemos una opción que se llama colocación y podemos decirle que el ancho es personalizado y decirle que ocupa un porcentaje del 33% Entonces ahora podemos duplicar y duplicar y tenemos la maquetación a tres columnas sin tener que meter una sección interior porque si ya hay elementos de por sí nos va a arrastrar ocho niveles de anidación de capas aquí por lo menos le estamos ahorrando tres o cuatro por lo menos. A nivel de estilo, bueno vamos a poder personalizar prácticamente todo. estoy tocando el que no era, bueno me voy a poner a tocar este. A nivel de estilo podemos tocar el estilo de la imagen, el espaciado, lo voy a poner a cero que se parece más a lo que lo decíamos, haríamos uno bien y después lo duplicaríamos. Bueno si lo he hecho así para enseñar otra cosa también metemos un cero aquí también, aquí se queda bastante más cerca del título podríamos definiríamos estos estilos también con el secundario y la tipografía, esto era el título, sí, el secundario y aquí también el texto y la tipografía del texto. Vale, y aquí podemos hacer botón derecho copiar, botón derecho pegar estilo, vale, para arrastrar directamente solo el estilo y no tenemos que estar copiando el elemento. esta sección nos vamos a ir a estilo y vamos a coger como fondo, fondo clásico, el color de gris de fondo y en avanzado le vamos a poner un poco de margin, calculo que unos 30 pixels arriba y abajo. Uy, este no era este texto pero bueno, lo vamos a meter también. Es lo de menos. Al final, con la estructura. Añadimos una sección nueva. Esta es muy sencilla. Vale, le he añadido una columna porque he ido muy rápido y es de 2. No hay problema porque podemos decirle aquí, botón derecho, añadir nueva columna. Aquí podemos o bien arrastrar y ir ajustando el porcentaje a lo que nos dé la gana o bien si hacemos clic en el iconito de la columna, en disposición tenemos un campo de ancho de columna. Arrastramos imagen, widget de imagen, arrastramos widget de editor de texto. Y aquí tenemos un tiny normal y corriente donde podemos meter dos párrafos de nullaren y ipsun que tenemos por aquí. en la imagen, me estoy yendo de hora, perdón. Inserto, vale. Voy a hacerlo más rápido que me he puesto a ir lentito pensando que iba bien. Vale, aquí sí tenemos la opción que decía Pablo de alineación horizontal y a nivel de columna le podemos decir que esta columna, perdón vertical en este caso, se alinea al medio para que se quede ajustado. Podríamos definir todas las propiedades de Flex, en realidad, para definir la alineación tanto horizontal como vertical. Y nos quedaría la última, que lo mismo, nos vamos a copiar este. Me lo voy a pegar aquí. Como el estilo es gris, me lo voy a copiar también aquí. y me lo voy a pegar el estilo y aquí es donde sí necesitaba es lo único que no tenemos en Elementor Free que es el widget de blog. Para el loop de entrada. Exactamente, ese está en Elementor Pro. Entonces me lo he tenido que coger de premium add-ons. Lo voy a arrastrar. Pero que premium add-ons está en el repositorio. Están en el repositorio gratis totalmente, la opción por de efecto se parece bastante. Podemos definir un montón de cosas. Vamos a ponerle tres columnas para que se parezca más. A nivel de query podemos definir de dónde queremos sacar esta información. Si tuviéramos custom post types, los sacaríamos aquí. Podríamos sacar la información que quisiéramos, hacer match por columnas, por autores, lo que nos dé la gana. El orden por fecha, por lo que queramos. Y en las opciones de visualización, en las opciones de entrada, podemos definir este, el extracto más grande, quitar los detalles del autor, quitar los detalles de la fecha, de la categoría, de los comentarios. añadirle el leer más por bien escrito y a nivel de estilo vamos a coger el color este al pasar por encima que se ponga este y la tipografía venga pues no bueno se va a quedar así vamos a dejar así aunque no es exactamente igual la caja del contenido el color de fondo vamos a dejar el gris de los fondos y listo vale y bueno se ha quedado un poco corto pero vale lo que iba a enseñar y lo enseñé muy rápido y paso al siguiente ya era lo que decía de por qué la insistencia en utilizar siempre los colores globales, porque ahora nos podemos ir a ajustes del sitio y cuando el cliente se da cuenta que su color ya no es este que era otro directamente cambiamos aquí el color que lo ha metido como una variable de CSS y todas las referencias que tenemos a ese color ya nos las está cambiando de golpe y lo mismo con las tipografías entonces Para mí es un avance bestial porque creo que queda mucha potencia para a la hora de tocar esto en elemento Muy bien Dicen lo que pasa es que no sé cómo vamos a tiempo que enseñas el navigator no sé muy bien si yo no sé a qué si puedes hacer nada un rollo esto es el navigator y ya Cuando estamos maquetando cualquier cosa Y nos queda pillado ahora botón derecho, navigator, tenemos una cajita y nos hace una navegación para que tengamos un resumen de lo que estamos viendo. Y además te deja ocultarlas, etcétera, para ir haciéndote un poco a la idea. Igualmente podemos maquetar en versión móvil, que ahora mismo obviamente eso nos ha descuajeringado todo. Y ya está. Vale, sí, yo creo que esta es la opción análoga a lo que ha enseñado Pablo, que también había una visión de Divi en la que se veían los distintos módulos y demás. Vale, pues muchísimas gracias, Santi. Ha estado guay. La verdad es que está muy bien ver por dentro un poco cómo funcionan. Y vamos rapidito al siguiente. Luego hacemos un poco, seguro que hay dudas y demás, pero guay. Por cierto, lo de los estilos globales creo que en parte se va a aportar al core de WordPress dentro de poco con los… pero no me voy a liar que yo tengo mucho peligro así que vamos con el siguiente y hablando del core de WordPress vamos a hablar de el editor de bloques también conocido como Gutenberg aunque Gutenberg es un plugin aparte, blablabla, hoy vamos rapidito así que damos la bienvenida a David Pérez. Hola, ¿qué tal? David, muchas gracias. Muchas gracias por venir también, luego te hacemos más presentación y cariños, pero vamos rápido. Venga, todo tuyo. Vale, os cuento yo mi instalación. En temas de temas, yo he utilizado, bueno, de plugin como veis. Bueno, he activado Gutenberg, a mí me gusta tener Gutenberg porque así tengo la última versión, ahora mismo va por la 952 y luego tengo GenericPress, aquí en temas Generic es el que yo he instalado la versión premium te hace hacer cositas, que aquí por ejemplo para el tema de deshabilitar elementos como ahora es la cabecera y el menú, me hacía falta este modelo, si lo puedo hacer por código, lo puedo hacer, pero bueno como era para que no intentáramos tocar código. También os digo mi aproximación que no es del todo la que pueda ser de Gutenberg. Yo la voy a hacer con código CSS, ¿vale? directamente porque bueno es la versión más rápida y tampoco cuesta mucho trabajo. Si quieres hacer todo con ventanitas, con selecciones y todo esto pues hay muchos temas de Gutenberg, vamos, de bloques de Gutenberg por ejemplo. el para divisor podemos utilizar ultimate blocks para enter también decir que hay muchas muchas tensiones para guttenberg que digamos que mejoran todo esta esta bueno esta funcionalidad no digamos para ahora bueno vamos a hacer nuestro nuestro guttenberg empezamos con el título de la página no, Mr. Wing Secret Shop, vaya a dar nombre. Como decía, al meter Generic Press me permite desactivar elementos, en este caso quiero quitar la cabecera y la barra superior, ahora si no iremos viendo cómo va quedando. Bueno pues os gusta ver como sabéis, está compuesto por bloques, donde nosotros vamos añadiendo bloques, aquí nos salen los 6 últimos más utilizados y si le damos a ver todos podemos ver todos los bloques que podemos ir utilizando. Hay una funcionalidad muy interesante que es la de patrones que se está desarrollando ahora por momentos, ahora te permite incluso seleccionar y aquí tienes como plantilla digamos de campos, con la cuarta reímos mucho menos, lo que pasa es que yo he tratado de hacerlo directamente tal cual en editor. Bueno pues vamos al ataque. Bien para el tema de Gremlin, aquí se ha utilizado el bloque de fondo, todo esto es nativo y vamos a coger la imagen de fondo. Aquí tenemos una selección, bueno primero hay que tener cuidado con el tema de bloque en el sentido de que no sabe, por ejemplo ahora mismo estamos teniendo la selección en el título, tenemos que irnos a seleccionar bloque para entrar a las opciones del bloque. Aquí tenemos un menú contextual justo al lado del bloque y luego a la derecha tenemos los ajustes de ese bloque vale aquí en este caso pues vamos a decirle que queremos ancho completo y aquí tenemos opciones por ejemplo yo voy a ponerle una altura mínima de 500 píxeles para que me de fácil para todo el contenido vale luego me da cuenta en el diseño del pdf que digamos que le más en sobresale y después el texto se se mete en un contenedor. Para eso podemos utilizar el bloque, ah bueno, otra cosa que yo utilizo mucho en Gutenberg es la barra con el mayúscula 7 y busco directamente, así no tengo que ir buscándolo con el ratón, tardo mucho menos con la barra, entonces por ejemplo aquí lo que quiero poner es un grupo, este bloque grupo lo que permite es darme el ancho contenedor y a partir de ahí ya vamos introduciendo el elemento. Bien, vamos a ver, pues bueno, tenemos un encabezado en este caso que se llama «Grenlims». Ahora que me estoy acordando se me ha ido con la prisa que me ha metido un «awai». Perdona, si al final tenemos que ir con el tiempo. Se me ha olvidado comentar que antes de todo esto nosotros tenemos aquí en el personalizador los ajustes de nuestro nuestro tema. En este caso tenemos el tema que está activo, que en este caso es Generispray, luego tenemos aquí una parte de diseño, el contenedor, el ancho que nosotros queremos, es decir que con este personalizado podemos cambiar casi todo. Y una cosa que nos interesa que es la tipografía, aquí por ejemplo, pues hemos dicho afirmamos que es el robot, aquí si te permite buscar la tipografía, podemos incluso definir los distintos tipos, si queramos daros cuenta que cada vez que añadimos más tipografía pues cargamos un poquito más la página pues si vas con lo justo pues mejor. Aquí te dice un poco el tamaño en este caso, el alto de líneas de cada uno. Son los ajustes generales de nuestro tema. Aquí son opciones más avanzadas, total que en definitiva y luego el CSS adicional. Yo voy a hacer un poquito de CSS antes que utiliza blocas como he dicho para que bueno para utilizar lo mínimo vale para que sea lo más optimizado de hecho he hecho algunas pruebas y me salían 18 peticiones en la página web hecha y 250 kilobytes con imágenes con todo con 49 dips entonces digamos que lo gusten ver sobre todo yo lo que utilizo y a lo mejor es un poquito menos intuitivo pero sobre todo es por el rendimiento carga muy rápido entonces bueno digamos que sacrifica un poquito más de conocimiento ccs y un poquito más de código que tampoco es mucho y pero el rendimiento es excepcional la verdad entonces pues bueno aprendiendo un poquito aquí me parece que cambiarlo del este vamos a grabar siempre grabando con publicada entonces estamos aquí haciendo un poquito esto es lo que decimos que que vamos más rápido. Vamos a hacer el título. Cuando nosotros estamos situados sobre un bloque, en este caso encabezado, tenemos las opciones de coger, vamos, las distintas opciones. En este caso para llevar una jerarquía h1 sería en la página de arriba y aquí lo hemos utilizado en h2. Le vamos a hacer en los ajustes del tamaño, pues podemos cogerle el tamaño, me parece que así, llega a 90 pícele, con lo cual lo voy a coger aquí en grande, como vamos rápido, voy a coger el color, en este caso podemos definirlo. Una cosa que tiene Gutenberg, que a lo mejor, no, esto es blanco, una cosa que tiene Gutenberg es que tú puedes definir colores, esto tiene que ser a través de código y en el function del tema tú puedes definir los colores para que, digamos que Gutenberg solo trabaje una serie de estilos. Bueno, en este caso cogemos que está alineado a la derecha y luego teníamos aquí el texto, el mejor regalo de navidades, añadimos más bloques, como veis, dentro de lo que es el grupo. Aquí siempre podemos ver para no perder la orientación la vista de lista para que veamos dónde estamos. En este caso estamos seleccionando el encabezado y añadimos un nuevo bloque que en este caso sería otro encabezado pero en este caso que vamos a darle un h3, vale, pegamos el texto y lo alineamos a la derecha, vale, y otro bloque que sería el encabezado no, es un párrafo, aquí, Mr. Widget Shop, vale, lo alineo a la derecha, vale, y para el tema de la línea como he dicho podría haber utilizado un bloque, vale, un divisor que te da muchas opciones, incluso colores, trato yo quería utilizar css ya digo que en mi aproximación no hay que ser pero si no queréis complicaros puede utilizar un bloque de guttenberg y lo que hago es que utilizo en la parte de avanzado de ese bloque lo utilizo una clase vale en este caso voy a ponerle línea gremlins y lo que después necesitan se adiciona vamos a ver cómo vamos a meterle esa línea justo después después del título, vale, ya digo que es una aproximación pero bueno es la mía, vale, luego ¿qué podemos hacer más? nos vamos al siguiente bloque que sería bueno aquí una especie de encabezado digamos también y está centrado y ponemos el mejor regalo de estas navidades, vale, en este caso es itálica y podemos ajustar el color, en este caso sí, si yo no he definido el color pues lo puedo personalizar aquí y utilizo el color que ya lo tengo guardado aquí que sería este. Más cosas, otro fondo que hemos visto que tenemos aquí que es con un color, ahora mismo voy a darle este color mismo y ahora lo definiré mejor. Aquí mismo le debe decir que es un color personalizado y es un gris aquí perfecto y luego es un ancho completo y aquí hemos visto que hay un título vamos a hacer el título un título voy yo siempre utilizo muchísimo el teclado tardo mucho menos en este caso encabezado y hemos dicho sólo recuerda sólo recuerda la norma básica esto es itálica, es un color personalizado, ya digo que no tenemos el signo por código, tenemos que buscarlo y lo alineamos en el centro y luego para estas tres, aquí tenemos lo que es el bloque de columnas que es bastante completo, el nativo de WordPress y te permite aquí una serie de estructuras que si quieres del 100% etcétera, yo voy a coger el de 33 y daros cuenta como añade también las distintas, el más para que tú puedas añadir un bloque aquí sería una imagen vale la busco en mi biblioteca de medios que en este caso la tengo por aquí y luego después voy a añadir el bloque de encabezado «Gachatriama» bien, lo puse yo antes y aquí igual, pues el color lo hacemos negro y aquí un párrafo que era… son muy sensibles a la luz aquí un copy estupendo y nos vamos aquí, ¿vale? bueno, aquí una cosa que vamos a hacer para ahorrar es que podamos señalar bloques control c y luego párrafo luego pegarlo vale podemos ir pegando y aquí ahorramos bastante tiempo incluso podemos reemplazar las imágenes que ya habíamos utilizado en la biblioteca multimedia y cambiando y así ya tenemos la parte de las columnas ya montadas Genial. Más cosillas. Bueno yo utilizo mucho el tema de las clases, ¿vale? Y el tema de los márgenes y todo eso lo utilizo con clases. Entonces lo que hago es que le añado clases a las que yo no quiera que poner y os voy a dar un par de ejemplos de clases que he utilizado para que podáis ver un poco cómo quedan. Al final, ¿qué pasa? Que con el CSS adicional y con la configuración que tú tengas de Gutenberg, en un momento tienes montado todo. Y el CSS es que se carga rapidísimo, o sea que en ese sentido entonces vamos a entrar a esa personalización un poco después vamos a otras columnas aquí que tenemos la de esta de imagen que era el gregley aquí tal y el párrafo que cogíamos de aquí y ya me van quedando menos cosas la parte del blog como la hago yo bueno aquí también tenemos otro fondo podría otra cosa muy útil también lo dice utilizar este por ejemplo que tiene la misma configuración lo que puede hacer es duplicar duplicó el bloque se me justo se me añade después y con estas flechas podemos ir bajando el bloque y lo podemos ir orientando hacia afinar con lo cual ya aquí sería cambiar el título que es mister wings box y esto por ejemplo que yo lo que me interesa es seleccionar la columna porque no la voy a utilizar porque es un bloque lo elimino como veis el selector y los tres puntitos no ayudan muchísimo y ya para terminar el tema del de blog se llama última entrada Estas son las… no te vayas. Este bloque, aquí entramos las opciones de blog, esto la vamos, está mejorando muchísimo con Gutenberg, de hecho dentro poco van a dar con Custom Post Time, con lo cual aquí podemos señalar el contenido de la entrada, podemos decirle cuántos elementos no queremos y mostrar con el directo donde tengo yo las columnas aquí y aquí como veis hay una serie de correcciones que vamos a tener que hacer con CSS aquí más o menos ha llegado todo el mundo publico. Dejamos mostrar también la imagen, ¿no? ¿Cómo? Ah, sí, sí, sí, correcto. Dejamos mostrar también la imagen, ¿verdad? Es que este bloque lo han mejorado bastante desde que salió inicialmente, que al principio era más parco y ahora… Exactamente, la mejora muchísimo, aquí tenemos la imagen destacada, yo como lo había puesto como un ejemplo este caso no, pero si te deja incluso puedes coger qué recorte tengas definido o incluso la dimensión de la imagen si si la verdad es que estamos bien y cuando pongan los costos post-it vas a ser una maravilla Vale, bueno yo tengo la página, que pasa que los pequeños ajustes, huy ha pasado la barra lateral, la tengo aquí aquí como veis el diseño de la barra lateral le voy a decir sin barra lateral y justo y miro y ya tengo la página más o menos no me faltan algunas cositas las cosas que faltan por la mejor o con necesidad son unas cuantas líneas y al final optimizamos muchísimo nuestra página por ejemplo la parte que decíamos de línea gremlins vale yo lo lo he hecho con un CSS, lo que he hecho es que le he puesto un «position relative» y le he puesto un «elemento after», que lo que hace es que le añade un elemento después, directamente con un ancho de 6 rem y un alto de 7 pixels, directamente lo sitúo y lo pongo justo después. Entonces, con ese yo poniendo el cese ya digo mi aproximación poniendo ese cese adicional yo ya tengo esto puesto de esa manera luego otra cosa que nos pasaba era el tema de los de los que iba y bueno nosotros podemos digamos cambiar digamos la el tema de los aquí también incluso poniendo una clase sale aquí fondo poniendo una clase avanzada que le pongamos pues utilizamos la página vale y con el personalizado y el css adicional aquí podemos darle opción también se me ha olvidado el h1 vale que tenemos aquí tenemos por ejemplo que era un PhoneWave o PLD900, aquí se va apareciendo el color, que era el rugillo este que teníamos y Center. Bueno, los espacios, aunque no quiero tampoco, lo puedo mejorar con espaciadores, puedo añadir bloques arriba y abajo de espaciadores, puedo poner los pisos que yo quiera y en ese sentido pues puedo trabajar los espacios y el tema del este de las entradas de blog aquí lo que he hecho yo es hacer un pequeño CSS para adaptar todas las cosas que hemos visto que es el título un poquito más grande el extracto en negro y un leer más con un añadido si queréis luego dejo el código pero bueno al final en 38 líneas de CSS tengo ya todo lo que los ajustes de mi página. Y bueno, eso sería un poco mi idea de cómo realizar el diseño Gutenberg. Al final, trabajando con clases y haciendo un poquito de CSS, los elementos los puedes reutilizar y digamos que aunque hay que saber un poquito de CSS, pero ya es lo menos sencillo tienen de coger. No, está genial. Yo utilizo mucho también lo de poner una clase de CSS y luego tirar unas líneas de CSS porque te ahorran mucho HTML y muchas historias. Genial, la gente que estáis pensando en utilizar Gutenberg lo ha comentado a veces al principio, pero él ha hecho la versión más simple, nativa y performance de súper bien, pero hay colecciones de bloques como Ultimate blocks y otras cadens y demás que te permiten ajustar esos paddings y esas cosas que habéis visto en Divi y en Elementor también lo puedes llevar con una colección a Gutenberg. Sí, también utilizamos, vamos, sí, Gutenberg también está muy bien, que es Gutenberg y te permite todo eso de elementos y elementos como acordeones, pestañas, o sea que da esa extensión. Yo he ido a la versión nativa y minimizada y superózco. Con bloques nativos y todo, no, está muy bien porque así tenemos una buena variedad y hablando de variedad, muchas gracias David, ha estado genial hablando de variedad, vamos con el último invitado estrella que esta vez viene desde el sur, bueno también los hemos dejado un par de buenos elementos del sur al final y básicamente nos va a hablar de WP Bakery que si hubiese tiempo nos explicaría toda la historia de Visual Composer que se convirtió en Visual Bakery Page Builder Handemork, pero seguramente Nilo Vélez va a ir al turrón y nos va a contar cómo montar esa web. No, no hay problema. Muchas gracias Nilo y cuando quieras… Venga, probamos al lío que está ya un poquito cansada de maquetadores, me parece a mí. Y vamos a volver a hacer lo mismo, pero antes voy a… porque hay una cosa que sí que es importante, ¿vale? hay un jaleo con lo del Visual Composer y el Visual Bakery y es que Visual Composer es semejante mierda que su propio autor ha directamente ha renegado de él y además que lo dicen en la página web que es antiguo, que está basado en short, entonces ha sacado una cosa completamente distinta que es el Visual Composer Website Editor que es otra cosa aparte y Y le han quitado el nombre a lo que antes era el Visual Composer, que es ahora el WPBaggeryPiceBuilder. Entonces, lo que vamos a– Cuando os digan una web hecha con Visual Composer, va a ser realmente una web hecha con WPBaggeryPageBuilder. Y esto, sobre todo, se hizo famoso porque tenía una licencia, que tenía dos licencias, una para usuario final y otro para desarrollador. Si tú eras un desarrollador por 70 pavos, lo metías en tu tema premium y, ala, ya tenías tu maquetador. Ahora, el problema de eso, pues que al final se ha terminado asociando con plugins de– o sea, perdón, con temas de Team Forest que te hacían alegrías como esto. Estos son todos los temas que vienen de regalo con un tema con el que voy a utilizar para esto, que es el D7, que es uno de los típicos del Visual Composer. Si tú instalas una demo del tema, pues ya has terminado, porque te va a instalar hasta Google Commerce. Entonces, con diferencia, Visual Composer es el maquetador más peligroso que existe. Yo no he visto mierdas en mi vida más grandes que las que he visto con VisualComposer. Ahora, si sabes hacer la cosa, pues bueno, pues un maqueteo más. Vale, yo voy a utilizar, como he dicho, un tema que es un tema de estos multi de propósito, como le gusta decir a nuestros queridos amigos de Chiclana, que lo bueno que tienes que se integra muy bien con VisualComposer, bueno, con VisualComposer, con Elementor y con 50 más, y te deja configurarlo todo. Entonces, por ejemplo, tú tienes una sección de botones y le puedes decir ya, pues que quiero que utilice el color de acento, que ya en otra página he definido que el color de acento es el rojo, y que a partir de ahí lo hereden todos los componentes. Para ahorraros el tostón, todo esto ya lo traigo hecho de casa. Y de hecho ya tengo hecha lo que sería la estructura de la página, porque esto no es del macatador, esto realmente es del tema, en el que ya tendría la cabecera del sitio al pie y lo que vamos a hacer va a ser el contenido de esta landing, el contenido de la página de los gremis. Vale, esto además tiene, para tener más lío todavía, Visual Composer tiene 2 editores. Tiene el editor de Front, que es este, que es horrorosamente malo. Tira muchísimo JavaScript, chupa el intercaseado y va fatal. O sea, no han conseguido arreglarlo. De hecho, no han conseguido arreglarlo nunca. Se supone que lo hicieron, además, copiando a Divi. Entonces, pero claro, es un quiero y no puedo que de verdad va fatal de rendimiento y de todo. Entonces, vamos a cerrar esto y vamos a editar directamente la página, que lo que va a sacar es el editor del back-end. El editor del back-end es muy parecido a Divi. De hecho, son de una época muy parecida. Cada uno tira por un lado, pero la base es prácticamente la misma. De hecho, las opciones que tiene, pues, al final son lo mismo. Tienen las secciones, las columnas, columnas interiores y los elementos. Tiene también la opción de generar plantillas, guardarlas y demás. Pero bueno, vamos a quedarnos con lo básico. Vamos a añadir un elemento. Vamos a crear un elemento que es la fila. Vamos a hacer la cajita del gremlin. Y vamos a decirle directamente que en los ajustes de fila es una fila en la que quiero extender la fila. Y vamos a decirle que a altura completa. Posición de las columnas al medio y opciones de diseño. Le vamos a meter un gris de fondo para que se vea mientras que carga la imagen. Y vamos a meterle al gizmo. ¿Dónde estás? Aquí. Establecer imagen y le decimos los ajustes de la imagen. Vamos a decir que cubrir. Una cosa muy buena que tiene Visual Composer y esa sí que deberían tener otros maquetadores, por lo menos, por mi opinión, es que para alguien que sabe un mínimo de CSS y de HTML, las cosas son muy intuitivas. Porque, por ejemplo, si veis aquí este dibujo del elemento es el mismo que tiene Chrome. Tienes para personalizar aquí el pading, el borde, el pade– perdón, el margen, el borde y el pading. Es el objeto de caja de cualquier navegador. Vale, vamos a guardar. Y ya tendríamos aquí. La vista previa es horrorosamente mala. Tenemos que imaginarlo. Tenemos que ir haciendo vista– Tenemos que ir tirando vistas previas. Vamos a tirar de momento contenido y ahora ajustamos lo que es escacharre. Bloque de texto. Vamos a tener un bloque de texto. Lo tengo por aquí copiado para no tener que picarlo. Vale, entonces. Bueno, una cosa que no he dicho es que esto tiene chorro cientos mil millones de bloques más los que mete cada tema. Vale, si tú le des aquí añadir esto tienes todo esto. El problema que tiene esto es que te carga todo el JavaScript y todo el CSS de todos esos elementos siempre. Y en la práctica tú terminas utilizando 4 o 5 bloques. Que es el problema al final que tienen todos los maquetadores. Vamos a ver nuestra fila, un salto de línea para que esto sea un h1 y esto sea un h2. Vale, se puede tocar aquí los estilos, centrarlo a la derecha, centrarlo a la izquierda, se puede tocar el html porque está al final es editor como el que tenía WordPress antes, pero vamos a hacer una cosa un poquito más elegante y es que a este bloque, esta sección, la vamos a llamar… donde estás que no te veo, le vamos a dar un id de fila que es hero, guardamos los cambios y con eso ya me tengo preparado por aquí el CSS, pero que tiene una cosa que está graciosa y es que el CSS en vez de metérselo a nivel de sitio se lo puede meter también a nivel de página. Entonces, este CSS que solamente es para este giro se lo meto a nivel de página. Bueno, vamos a actualizar ya esto y vamos a tirar una vista previa. Vale, esta previa. Bueno, no vamos muy mal, ¿no? Más que un detalle gracioso es que aunque le he dicho altura completa, como está integrado con el tema, reconoce la altura de la cabecera y me la descuenta. Así que le he hecho altura completa menos la cabecera. No vamos mal. Venga, siguiente. Vamos a meterle aquí un separador. Le decimos que el color de fondo es blanco, alineación a la derecha, esto es prácticamente lo mismo en todos lados. Vamos a meterle nuestros 5 pixelitos, ancho de elemento, vamos a decirle con 20% y listo. Bueno, todos los elementos tienen un margen por debajo de 35 píxeles, así que si no queremos que lo tengas, lo tenemos que quitar aquí. Vamos a decirle aquí un 0. Vale. Y vamos a meter otro bloque de texto. Vale. En el que vamos a meterle el Mr. Wing Secret Shop. Me dicen por aquí que maqueto poco. Y sí que es verdad. Porque yo normalmente lo que hago es que primero meto todo el contenido. Y de hecho toco muy poco el diseño. Y luego voy a dos monitores y voy tocando sobre la marcha. Con eso lo voy mucho más a saco, copiando el contenido, copiando las imágenes es que ha pasado el cliente o lo que tenemos del trabajo y con eso ya luego se trabaja. Perdón, como estaba hablando, se me ha pasado, he metido un h4, ¿verdad? Sí, h4. Vale. Y con esto ya tendríamos nuestra cabecera. Se me ha ido, esto es un h4. Perdón, es que lo había metido en mi CSS que esto era un h3, que es en el que le he dicho que sea blanco la línea a la derecha. Vale, guardar, actualizar. Vale, con esto ya tendríamos nuestro– se carga nuestro giro. Vale, ve, todos los elementos le meten los 35 píxeles. Ahora, si quise ajustarlo, tendría que quitarle el margen este inferior. Vamos a seguir con la siguiente fila y vamos a meter otro bloque. Vamos con el de– Vale, aquí también he dado forma de hacerlo, lo mismo que en Elementor. Yo podría crear una sección o directamente voy a crear una la fila, le vamos a decir que es una fila como antes, perdón, en la fila le vamos a decir que es una fila que queremos extenderla, en opciones de diseño vamos a decirle que de fondo me parece que esto es un E5, esto es un E5, E5, E5, E5, con eso ya tendríamos el fondo y aquí vamos a meterle un un bloque de texto que este tenemos el de sólo recuerda donde estás que no te veo ahí este creo que no lo tengo copiado bueno lo picamos sólo recuerda las tres normas básicas vale este sí que la vamos a centrar bueno tenía que haberle metido los estilos del sitio que estuvieran todos los h2 centrado porque esto le voy a decir que es un h2 lo que sí me va a coger de los estilos del sitio. Lo que me ha cogido es el color, la fuente. Lo bueno que tiene esto es que estoy metiendo muy poquito CSS en línea. Que realmente todo lo está heredando del tema. Si yo ahora cambiara los ajustes del tema, me lo heredaría. Y si yo duplico este sitio para hacer un sitio nuevo, puedo aprovechar todo el contenido. Vamos a meter otra fila. Pero como le estoy creando una fila dentro de otra, lo que me crea es una fila interior. En esta fila anterior le vamos a decir que sea de 3 columnas. Aquí tienes los estilos básicos de cómo se reparten las columnas, si las has personalizado, te deja hacer esto. Internamente, Visual Composer lo que utiliza todavía es Boostrap, es decir, utiliza un esquema de 12 columnas. Aquí aunque está diciendo 1/3, 1/3, 1/3, realmente son 4 módulos, 4 módulos, 4 módulos. De hecho, si nos venimos dentro de una columna y nos venimos a las opciones responsive, aquí las opciones son las de Bustrap. Es decir, la que tiene en el MD, en el LG, en el XS, y además aquí se te lo está diciendo en 1, 2, 4, 5, 6, 8, hasta 12 columnas. Vale. No nos vamos a meter con eso. Vamos a meterle aquí directamente un bloque de imagen. Esta imagen la tenemos ya por aquí preparadita, era la del solecito. Establecer imagen. Vamos a decirle aquí que es full porque si no lo que hace es generar otra miniatura. Y vamos a decir que está alineada al centro. Vamos a meter aquí otro bloque de texto. Lo que decía antes que al final, esto al final lo que trabaja solamente es bloques de texto, imágenes, columnas y alguna cosita muy rara vez, en plan un acordeón, alguna cosa así rara. Este vamos a decirle lo mismo. Este sí que es un h4. Vamos a centrarlo. Vale. Y ahora vamos a ver cómo vamos con esto. Tiramos una vista previa. Vale, aquí ya estaríamos. Ahora aquí llegamos a una de las limitaciones que tiene esto, y es que no deja duplicar columnas. Y de hecho, si te pones a duplicar columnas, si se pone a duplicar elementos, la interfaz es maravillosa porque cuesta la misma. Esto es un clásico del Visocomposer, ¿vale? Entonces, si estás medio cómodo con– Se pone en modo arcade. En modo arcade, que es un videojuego, ¿no? Tienes que– Está el modo hardcore. El modo hardcore es que te puedes venir al classic mode y entonces te hace, ostia, me está metiendo un montón de Sorkoth por detrás. Pero es que si nos venimos aquí, vemos que tenemos aquí la Column Inner. Aquí está. Esta es la columna de un tercio hasta aquí. Esta es la primera columna en la que tengo la imagen y el bloque de texto de debajo. La voy a copiar. Voy a borrar por toda la cara las dos siguientes. Column Inner hasta aquí. Me parece que me voy a cargar algo. Esta no debería estar aquí. 2. 2. Y si nos venimos al editor de backend y no explota, pues parece que sí explota. Vale. Y un deshacer muy bonito. Bueno, pillamos el concepto. Me parece que es que he borrado un elemento de más. Vamos al clásico. Vamos a ver un intento que no se diga. Efecto directo. vamos a ver venga column inner un tercio y column inner se van fuera column inner un tercio y column inner se van fuera y ahora column inner column inner wii Tía, que tiene una dentro de otra. ¿Qué me estás contando, Mari Carmen? Creo que va a petar. Me parece que hecho lo mismo. Creo que el color unidas no lo tendrías que borrar. Me parece que sí, que tiene que tener uno de más porque hace una anidao y raro. Ahora lo dejá todavía peor. Bueno, pues entonces vamos a intentar arrastrando. ¡Eeeeh! ha funcionado. Ha funcionado. ¡Yuuu! Venga, que sí, que no, que sí, que no, que sí, que no, que sí. Que no… Que sí… Vale, me he pasado cuatro años haciendo esto. ¡Ay! Entró. Vale, y luego me pregunta la gente que por qué le tengo tanto escostavicho. Bueno, pues con esto ya lo tenderíamos. Ahora lo que tenemos que hacer es editar el elemento de imagen, cambiar el texto. Vale, vamos a saltarlo. Bueno, con toda la caña que le he metido a este pobre hombre. Bueno, vamos a meter también la fila. Vamos a decirle aquí que un tercio, dos tercios, le damos la vuelta. Aquí metemos a nuestro bichito, imagen única. Vamos a meter una imagen con el gizmo. Vamos a decirle aquí también a full porque ya está su tamaño. Vamos a decirle que está alineada al centro, venga, para que se centre cuando luego en responsive. Y aquí vamos a meter un bloque de texto. Un Fistroom. Y aquí sí que podríamos hacer, aunque aquí parece que no tiene la misma altura, sí que tiene la misma opción parecida a la de Elementor, porque al final por detrás también está utilizando ya Flexbox, además, entonces se le puede decir que las filas son de la misma altura y que la posición del contenido es al medio. Con eso ya, aunque aquí no se vea bien, yo tiro la vista previa. O milagro, ha funcionado. Vámonos al siguiente. Vámonos a duplicarnos directamente la fila. Ahora me la he cogido. Como vemos, el rendimiento va un poco justito porque solamente tengo un Ryzen 7 con 32 gigas de RAM. A mí me cuesta moverse, al pobrecito mío. Vale, con esto ya tendríamos aquí el blog, que sería el blog de Mr. Wings. Que esto es Mr. Wings blog. Vale. Vale, y aquí hay una cosa que sí que me gustaría pararme, porque esto es una de las pocas cosas que tiene bien hechas y muy bien hechas. Esto hay dos formas de hacerlo. Una es con el elemento este, el blog más sonreangrid, que es un elemento de tipo blog normal que te deja coger los elementos por categorías, filtrar, paginar y demás. Lo utilizaremos ahora. Pero antes quería parar un momentito con este. Es de las cosas más bestias que tiene el Visual Composer, que es el elemento post grid. Funciona exactamente igual. La única diferencia es que si te vas al diseño del elemento, te deja elegir un montón de diseños distintos ya predefinidos y tiene por aquí un editor de diseños que es el constructor de cuadrícula que lo que te deja es crearte una plantilla de cómo quieres que se cree esa cuadrícula. Aquí creo el título, aquí la imagen, aquí quiero tal. Esto hay bloques de Gutenberg que lo hacen, pero lo más bestia que tiene esto, Y esto es una cosa que sí que debería ir a Gutenberg, es que aquí ahora mismo me está diciendo origen de los datos post. O sea, se me está cogiendo las entradas. Pero tiene todo esto. Primero que me coge de todos los post types, que eso ya es una barbaridad, que es lo que sí que le van a meter a Gutenberg. Pero es que además tiene esta aquí también lista de IDEs, que es que me deja buscar cualquier ID de cualquier post type. Aquí me está cogiendo que tengo una página que se me inicio. Es decir, puedo hacer un post grid con lo que me dé la gana, por ejemplo, con productos de Google Commerce. Pero tiene otra cosa todavía más bestia, que es así que de verdad mataría a alguien porque se lo metieran a Gutenberg, que es esto, que es la consulta personalizada. Que lo que te deja meter aquí es una consulta de WPKery. Es decir, que yo puedo hacer una burrada como esto. Te puedo decir, sácame del post type página todas las páginas que tenga como padre la página 76 o en este caso la 167, que estén publicadas, ordenadas por menú orden, ascendente. Con esto le puedo decir, hazme una plantilla del post grid de cómo quiero que salgan los servicios de una página. Las páginas las creo directamente como páginas hijas de la página servicios. Y con eso le digo, sácame todas las páginas hijas de la página servicios. Vamos a ir terminando el RAN, vamos a terminar la página, blog más onreangrid. Vamos a decir que queremos sacar todas las entradas. En el paginador le vamos a decir desactivado el paginador y queremos que solamente saque 3, porque si no, si tenemos 3000 entradas nos va a mostrar las 3000. Vamos a decir que queremos de tipo cuadrícula, que tenga la misma altura, sin efecto de carga, estilo classic, sin fondo. Padding vamos a quitarle el padding de los lados. Vamos a decirle que las imágenes las fuerza a 3 medios, escalando las imágenes a lo que le dé la gana. Sin animación. modo adaptable le vamos a decir que es a tres columnas, tres columnas, tres columnas y a partir de aquí ya se ponga a una columna. Espacio entre columnas, ese me vale. Y ahora de la publicación, el contenido lo que tenemos aquí es alineado a la izquierda. El resto me vale. Vamos a decirle que es sin fecha, sin categoría, sin autor, sin comentarios. Y vamos a decirle que queremos sacar el extracto. y que el botón del final es un «ler más». Vale. Ahora creo que en algún lado me he saltado. Bueno, sí, le he dicho, ya por inercia le he dicho que saque la imagen, se podría quitar que no saque la imagen. Vamos a decirle que no saque tal. Y con el pasar por encima tampoco, pues ya estaríamos. guardamos nos vamos a ver nuestra página y tenemos una página hecha qué bueno qué bueno lo hemos conseguido Sí, sí. No, muy interesante sobre todo la parte del loop que es muy versátil como has mostrado, que realmente puedes hacer queries a todos los custom post types. Eso es lo que yo creo que queremos, que salga en la parte de avanzado en el Gutenberg del rollo, oye, dame, no me pongas barreras, déjame hacer lo que yo quiera. Eso es lo que yo le he hecho realmente un poco en cara a Gutenberg, es que el que haya empezado absolutamente de cero. Porque, a fin de cuentas, maquetadores hay desde hace un montón de años y todos han pegado sus hostias y todos han tenido millones de usuarios. Entonces, vale, sí, código sea de cero, pero, coño, aprovecha lo que han aprendido ya otros. – Sí, no, a lo mejor la filosofía tal vez está de lo hago con React y lo guardo todo en base de datos como se va a mostrar, ¿sabes? Sin tener que renderizarlo a posteriori. Eso a lo mejor sí que es lo nuevo que aporta el haberle añadido React, pero el resto. Si os parece, voy a añadir a los que hemos quedado aquí en el directo. Hola, Santi. Hola, David. Hola. Qué guay. Bueno, pues ha estado muy bien. Yo creo que más que sacar conclusiones, nosotros hemos enseñado las cosas, que la gente saque las conclusiones que quieran. Yo simplemente he ido apuntando y de div y han salido 100 divs, de Elementor han salido 107 divs, de Gutenberg 49 divs, y ni los que acaba de acabar y no me lo sabía decir. Pero yo creo que estará más por los 100 que por los 49. 127. 127. No, agándale, m*erda. Me está sacando también la barra del bicho este de… Sí, que igual te está sumando alguna de más. Bueno, al final la idea un poco, que creo que se ha conseguido muy bien con los cuatro ejemplos que habéis hecho, es que conocieras cuatro opciones distintas de hacerlo. Cada herramienta es mejor en distintas áreas. Claramente Gutenberg gana en rendimiento, pero es verdad que Elementor a nivel de interfaz está bastante pulida y resulta bastante intuitiva a mucha gente. El VP va a querer este medio troleo demo que nos ha hecho Mnilo, pues cada uno que juzgue. Y, bueno, Divi, que lleva ahí años, pues también añadiendo módulos y granular sí que es. Entonces, bueno, ha habido mucho movimiento en el chat, que eso mola siempre un montón. Cada herramienta es más adecuada para un perfil que otro, obviamente, David ha dejado claro que no solo utiliza Gutenberg, sino que ha dado clases y ha añadido CSS, porque tiene un perfil más técnico. Pero que, bueno, la idea es un poco, yo creo que os habéis podido hacer una idea de cómo funcionan estas herramientas. la idea es un poco que cada uno elija y si no le habíais dado un tiento a Gutenberg por miedo a que no se pueden hacer tantas cosas que es verdad que todavía no se pueden hacer tantas pero realmente con lo nativo ya veis que se puede hacer un diseño bastante majo y nada yo creo que vamos a aprovechar disculpad que se haya alargado un poco más pero es verdad que hemos traído aquí cuatro cracks que han explicado super bien su herramienta y pues que ha alargado vamos a aprovechar que tenemos a Nilo Vélez que es el Lead Organizer de la WorkCamp Sevilla para que nos venda un poquito porque debemos de estar comiendo polvorones delante del ordenador y mientras contribuimos a WordPress. Así que Nilo aprovecha. Venga, muy rápido. Os vendo la WorkCamp Sevilla muy rápido, muy rápido, muy rápido. Va a ser una WorkCamp de cuatro días. Van a ser cuatro días, tres horas por la tarde y no va a haber charlas. Va a ser un contributor de cuatro días. Eso que quiere decir que realmente lo que vamos a hacer va a ser una work camp en la que lo que vamos a hacer va a ser que nos vamos a reunir toda la comunidad o todos los que podamos de la comunidad, ya haya apuntado 300 y pico. El límite lo tenemos en 500 y tiene su explicación en que sean 500 porque vamos a meter a todo el mundo en la misma sala de zoom. Esto puede parecer una locura, pero está pensado, ¿vale? Nos hemos tragado todos las work camp online y lo bueno que viene es que vamos aprendiendo de unas work-camp para otras. Y una de las cosas, voy a decir, más feas que han estado pasando en otras work-camp es que al final, cuando haces muchas salas, pues llega un momento en que los últimos días que ya hay menos gente, pues terminas con 5 usuarios en una, 4 en otra, los sponsors están solos. Entonces, lo que vamos a intentar es todo lo contrario. Tenemos una sala principal en la que está metido todo el mundo y, si hace falta, sacamos una sala secundaria si alguien tiene que explicar algo, si alguien tiene que hacer una reunión privada, si un sponsor quiere hablar con algún participante, tenemos la opción de crearse a las privadas. Pero en principio es todo el mundo juntos. Primer día, desarrollo y marketing. Segundo día es core, plugins, temas y hosting. Y el tercero era– No me acuerdo, la verdad. Tendría que mirar el programa. Era documentación, comunidad y WordPress TV, me parece. Perdón, WordPress TV. No lo sé. WordPress TV, foros y comunidad. Y el último día, accesibilidad, traducciones y documentación. Una cosa muy interesante es que de cada uno de los equipos, de cada uno de los días, aunque van a estar la gente junta, hemos buscado que más o menos sea una temática parecida, por buscar que la conversación vaya orientada un poco a temas parecidos. Y, sobre todo, más que ser un contributor al uso de currar, va a ser un contributor de divulgar, de explicar lo que hace cada equipo, de repartir trabajo, de abrir el año que viene, de buscar gente nueva, y sobre todo que la gente entienda lo que puede hacer en cada equipo. Porque como decíamos antes, decías antes que lo decías tú en Afay, que no hace falta ser un desarrollador, no hace falta ser un traductor. Simplemente con que sepáis cómo funciona web por dentro, cómo reportar un error, cómo funcionan los foros, ya de verdad vais a ganar muchísimo y va a ganar la comunidad muchísimo. No sé por qué, más o menos tiempo. Para dar un toque ya navideño finalizando todo ponemos aquí la banda sonora de los gremlins. Hemos compartido tiempo sin aparecer una musiquita. Está frito ya por ponerla. Bueno estamos en un mid que nos vamos a encontrar en el mid este nada los que podáis pasaros un ratillo pues un ratillo, no es intención de hacerlo muy largo, si tenéis alguna duda concreta para alguno, para David, para Anilo, para Santi, pues podéis el hacer y si más no pues echarnos una copichuela de cava para celebrar este año de de de Terraza y de y de granoyer. No, hombre, Terrassa, también empezasteis el año pasado. Sí, sí, sí, es verdad, en abril del año pasado. Exacto, exacto, entonces pues a ver si le ponemos un punto final a este fatídico año y nada, yo muchas gracias a todos los que habéis venido, muchísimas gracias que quiero que quede con que conste en el vídeo a Nilo, a Pablo, a David y a Santi, ¿vale? porque sin vosotros esto no hubiera sido posible. Un lujazo. Quiero disculparme por meteros prisa a hacerlos como moderador, me tocaba un poco el papel de polimalo. Con todo el tiempo del mundo lo puedes hacer con lo que te de la gana. El caso es verlo en un caso real de aquí tienes el brief, aquí tienes el contenido. Eso es. Y la entrega para mañana. Es así, más o menos así. Pues nada, pues ponemos final al vídeo, una hora 45. Así que nos vemos en el 2021. Es ganarse de hacer preguntas y tal. Chau, chau. Chau. Chau. Buen día! --- ## Páginas Web en Multidioma con WordPress URL: https://davidperezgar.com/blog/charlas/multidioma-wordpress/ El pasado miércoles 2 de Diciembre, nos invitaron a Sabandijers.club la casa del valor, para realizar una charla con Javier Casares acerca de cómo convertir tu página web en multidioma y cómo elegir las diferentes opciones. Recomendamos la mejor opción en todos los aspectos: rendimiento, mejor posicionamiento y cambio de estructura según idioma. Esto es WordPress Multisite con Multilingual Press y nuestro plugin WPAutoTranslate que ayuda a las traducciones automáticas. Fue una charla privada, pero te animo a conocer este directo y el club, en el que se aprende mucho de Marketing digital. La solución a un WordPress multi idioma, con David Pérez y Javier Casares 🦎¿Tienes que hacer un #WordPress multi idioma y no sabes que hacer? con @davidperezmk y @JavierCasares , guruses del mundo #Wordpressero podrás decidir que es lo mejor👉https://t.co/54tR1mIGjM pic.twitter.com/tLro6bxEm6 — Sabandijers 🦎 Negocios Online (@sabandijersclub) December 25, 2020 --- ## Desarrollar usando WordPress Coding Standards URL: https://davidperezgar.com/blog/desarrollo-web/desarrollar-wordpress-coding-standards/ La programación hoy en día, se hace fundamental con **Coding Standards**. El objetivo es mantener un mismo estilo, de manera que al observarlo puedas interpretarlo fácilmente. Tabla de contenidos Toggle - ¿Qué es Coding Standards? ¿Porqué el estilo del código es importante? - Proceso de configuración en Mac Instalar Composer en MacOs Composer con BREW - Composer (getcomposer.org) manualmente - Configurando Code Sniffer y WordPress Standards - Adaptaciones en VisualCode para WordPress Coding Standards - Actualizar a la versión 3.0 - Conclusión ## ¿Qué es Coding Standards? Los **Coding Standards** son unas reglas de estilo a la hora de desarrollar, que nos permite una mejor lectura y entendimiento de las funciones. Trata de establecer las mejores formas de trabajar en WordPress y además no sólo se basa en el estilo sino también en **mejores prácticas.** ### ¿Porqué el estilo del código es importante? Incluso si estás trabajando en un proyecto privado, el formato de tu código dice mucho. Y si estás en un entorno de múltiples desarrolladores, dice mucho más. El código con un buen estilo y bien pensado muestra calidad (aunque no sea buena), mientras que el caos engendra una programación descuidada (aunque sea genial). He aquí algunas razones para **prestar atención al estilo de tu código**: - El **código con estilo es más fácil de mantener**. Puede que sepas lo que está pasando hoy, pero ¿qué pasará dentro de un año? Tomarse el tiempo para estructurar el trabajo te ahorrará horas más adelante. - Otros **desarrolladores no te leen la mente**, así que no entenderán tu código caótico, o necesitarán mucho tiempo para desenredarlo. Asegurar la menor fricción posible en la comunicación es lo mejor para el proyecto, y esto puede ser facilitado por un formato que cumpla con los estándares. - Un poco menos importante, alguien que está aprendiendo a programar debería poder visitar un sitio web y **aprender algo mirando el código fuente**. Los estándares suelen tener una lógica inherente, por lo que un espectador sería capaz de averiguar lo que está pasando. Adherirse a los estándares podría ayudar a muchos desarrolladores que empiezan a aprender a programar de la manera correcta desde el primer día. - En muchos casos, **un buen formato ayuda a la mantenibilidad.** Muchos estándares requieren que se espacien las declaraciones y otros bloques de código. No amontonar el código hará que un mensaje de «Error en la línea 267» sea mucho más fácil de arreglar. ## Proceso de configuración en Mac Este es mi proceso que mantengo actualizado para configurar Coding Standards en Mac. Hay varias formas de instalarlo, la que más me gusta y es la que expongo, es con composer. Quien no lo conozca es un software para librerías basadas en php para integrar en tus proyectos de forma muy fácil. También permite una instalación global que es la que realizaremos. Luego mantener actualizadas todas las librerías es muy fácil con este comando: **Copycomposer global update ### Instalar Composer en MacOs #### Composer con BREW Si tienes brew, el instalador de paquetes para MacOS. Copybrew install composer ¡Y ya estaría! Mucho más fácil. #### Composer (getcomposer.org) manualmente Seguimos los siguientes pasos que realmente me han funcionado. Abrimos el terminal y ejecutamos los siguientes comandos: Copycurl -sS https://getcomposer.org/installer | php Y movemos dicho archivo composer.phar al directorio de binarios /usr/local/bin. Revisa que esté dicha carpeta antes. Copysudo mv composer.phar /usr/local/bin/ Y cambiamos sus permisos: Copysudo chmod 755 /usr/local/bin/composer.phar Añadirmos .profile Copynano ~/.profile Y añadimos un alias para utilizarlo fácilmente: Copyalias composer="php /usr/local/bin/composer.phar" Seguimos en el terminal: Copysource ~/.profile Y finalmente comprobamos que Composer se ha instalado correctamente: Copycomposer -v * ### Configurando Code Sniffer y WordPress Standards** Mis instrucciones de instalación se basan en trabajar con Composer, el famoso gestor de librerías en PHP, ya que después para actualizar todas nuestras librerías se hace con un sólo comando: **Copycomposer global update En cambio, si lo has instalado en otras carpetas como por ejemplo, recomienda Ahmad Awais, después mantenerlas actualizadas se complica sobremanera. Instalamos en nuestro ordenador, la versión de CodeSniffer. PHP_CodeSniffer es un conjunto de dos scripts PHP; el principal phpcs* script que registra archivos PHP, JavaScript y CSS para detectar violaciones de un estándar de codificación definido, y un segundo script *phpcbf* para corregir automáticamente las violaciones del estándar de codificación. PHP_CodeSniffer es una herramienta de desarrollo esencial que asegura que su código se mantenga limpio y consistente. Copycomposer global require PHPCSStandards/PHP_CodeSniffer Permitimos a composer que permite la configuración de forma global. Copycomposer global config bin-dir --absolute Dentro de Composer, creamos un proyecto de Coding Standards para WordPress. Es una librería creada para gestionar las reglas recomendadas dentro de WordPress. Copycomposer global require "wp-coding-standards/wpcs" Una vez bajado dicho proyecto, le decimos a PHPCS que gestione las reglas de Coding Standards, en nuestra ubicación. Recuerda personalizar *.composer/vendor/wp-coding-standards/wpcs* con la ubicación del proyecto de WordPress Copyphpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs Si no te funciona este comando, en definitiva el archivo *.composer/vedor/squizlabs/php_code_snifer/CodeSniffer.conf* debería contener esta información: Copy<?php $phpCodeSnifferConfig = array ( 'installed_paths' => '/Users/USER/.composer/vendor/wp-coding-standards/wpcs', 'default_standard' => 'WordPress', ) ?> Donde *installed_paths* contiene el directorio donde tienes instalado los Coding standards. Finalmente, definimos la regla que utilizaremos. Tenemos: - *WordPress* – juego completo con todas las reglas del proyecto *WordPress-Core* – reglas principales para las normas de codificación del núcleo de WordPress. - *WordPress-Docs* – reglas adicionales para las normas de documentación en línea de WordPress. - *WordPress-Extra* – conjunto de reglas ampliadas para las mejores prácticas recomendadas, que no están suficientemente cubiertas en las normas básicas de codificación de WordPress, incluye WordPress-Core. Y configuramos el set completo de WordPress. Copyphpcs --config-set default_standard WordPress Y ya podemos disfrutar de las recomendaciones de Coding Standard en nuestro editor favorito. ## Adaptaciones en VisualCode para WordPress Coding Standards Finalmente si utilizamos Visualcode, deberemos configurarle donde está el ejecutable de phpcs, que vendrá de nuestra carpeta de binarios de composer. Añade estas lineas en tu settings JSON (revisa el ejecutable): Copy "phpcs.executablePath": "/Users/USUARIO/.composer/vendor/bin/phpcs", // PHPCBF. "phpcbf.onsave": false, "phpcbf.standard": "WordPress", "phpcbf.executablePath": "/Users/USUARIO/.composer/vendor/bin/phpcbf", "phpcs.ignorePatterns": ["*/vendor/*", "*/vendors/*"], "files.autoSave": "onFocusChange", Para permitir la integración con nuestro editor de Coding Standards, que al final es lo que nos hace ponerlo en práctica, instalaremos la extensión de VisualCode phpcs. * Es un preprocesador Lint, que nos va señalando en todo momento los errores y mejoras que al situarse encima, nos enseña el error a subsanar. ## Actualizar a la versión 3.0 Copycomposer global update wp-coding-standards/wpcs --with-dependencies ## Conclusión Tener integrado los WordPress Coding Standards*** en nuestro editor es fundamental para escribir un código más seguro, limpio y fácil lectura. Y la integración es imprescindible para ponerlo en marcha. Fuentes: - Repositorio oficial de WordPress Coding Standards. - TomMcFarlin PHP Coding Sniffer - Guide To WordPress Coding Standards — Smashing Magazine - Configuración de Nuno en Gist Revisiones: - Octubre 2025: Actualizado repositorio de codesniffer. - Septiembre 2023: Añadido instalación Composer con brew. - Noviembre 2021: Añadido el archivo CodeSniffer.conf. --- ## Crea Bloques de Gutenberg con PHP y CSS y mesa redonda desarrollo URL: https://davidperezgar.com/blog/charlas/crea-bloques-de-gutenberg-con-php-y-css-y-mesa-redonda-desarrollo/ Esta semana he tenido el honor de participar en la SemanaWordPress con mi charla sobre desarrollo de bloques Gutenberg en WordPress. En el siguiente video podrás observar cómo hago **bloques de gutenberg** con MetaBlocks, el framework Metabox.io para campos personalizados que facilita mucho trabajando con código solamente. Y después por la tarde, estuvimos en la mesa redonda con Jesús Amieiro. --- ## Eliminar todos los productos WooCommerce de SQL URL: https://davidperezgar.com/blog/desarrollo-web/delete-all-products-woocommerce-sql/ Si necesitas eliminar todos los productos de tu tienda WooCommerce, ya sea porque estás desarrollando, has hecho una importación y quieres eliminarlo o quieres empezar de nuevo, puedes usar el siguiente fragmento que he encontrado y probado y que va mucho más rápido cuando se ejecuta directamente en la base de datos. CopyDELETE relations.*, taxes.*, terms.* FROM wp_term_relationships AS relations INNER JOIN wp_term_taxonomy AS taxes ON relations.term_taxonomy_id=taxes.term_taxonomy_id INNER JOIN wp_terms AS terms ON taxes.term_id=terms.term_id WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type='product'); DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'product'); DELETE FROM wp_posts WHERE post_type = 'product'; DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'product_variation'); DELETE FROM wp_posts WHERE post_type = 'product_variation'; Recuerde siempre hacer una copia de la base de datos antes de trabajar con consultas también. He añadido que también se eliminan las variaciones del código original. Vía WPFluent --- ## +150 Snippets para desarrollar con VisualCode en WordPress URL: https://davidperezgar.com/blog/charlas/150-snippets-desarrollar-visualcode-wordpress/ Charla realizada en la comunidad de WordPress Málaga acerca del Desarrollo Web en WordPress. Presento la extensión para Visual Code con más de 150 snippets, en concreto 161 snippets actualmente para desarrollar en WordPress. ## Extensión de Snippets WordPress para VisualCode Me llama la atención el uso que está teniendo esta extensión que cuenta a día de hoy con 4.291 instalaciones y más de 11.000 descargas. Para la realización del taller, puse en marcha varios ejemplos. El primero fue la creación de un sitio corporativo con diferentes **custom post types** como Servicios. **Copy// Creamos el archivo functions.php en /wp-content/mu-plugins/ wpapuh wpaprq // Creamos un archivo y su cabecera y CPT wpadhc wpacptpag ## Comentarios de la charla Yo flipe mucho con la extensión. Ya está instalada y funcionando 😉😁 — David Viña (@soivigol) June 25, 2020 pasote de ponencia… menudo trabajazo… — Luis Ruiz (@lruizcode) June 25, 2020 Uuuuuy, qué buena pinta!!Se queda grabado, ¿verdad? Me pilla en el fisio a esa hora 😅😅😅 — Santiago Alonso (@salonsoweb) June 25, 2020 Hoy andamos por @wpmalaga con @davidperezmk en acción "+150 snippets de #WordPress a un clic con #VisualCode ¿Te vienes? 👇https://t.co/fBxcatb19Q@WPGranada #WPMálaga #WCGranada pic.twitter.com/EKGVWZqSIx — Sacra Jáimez (@SacJaiRom) June 25, 2020 Muy buena tu charla @davidperezmk , gracias por esa maravillosa extensión para Visual Studio Code https://t.co/4MQDpXlT55. — José Ignacio Velázquez (@jivelazquez) June 25, 2020 #WordPress que gusto ver a @fgrwebes colaborando en el desarrollo del plug-in que está presentando @davidperezmk en @wpmalaga https://t.co/PfgcaLa3Zm — Fran Calderón Jurado (@fcjurado) June 25, 2020 Yo me quiero pasar a VSC y estoy esperando tu charla para instalarlo y empezar directamente like a pro 😃 — Ana Cirujano 🏳️‍🌈 #WCTorre (@acirujano) June 25, 2020 En 10 minutos en pieza la MeetUp Online #WordPress Impartida por @davidperezmk https://t.co/6KzmT0Lmlh pic.twitter.com/qB2gJeLTfW — WordPress Málaga (@wpmalaga) June 25, 2020 Durante la charla se preguntó cuál era mi flujo de trabajo para subir archivos a producción. Yo utilizo Control de versiones Git** y cada vez que hago un cambio en el repositorio en la rama principal, lo sube directamente. Este flujo una vez configurado es muy rápido. En mi charla en la WordCamp Madrid, explico cómo configurarlo. --- ## Digitalización de servicios Pymes en tiempos de crisis URL: https://davidperezgar.com/blog/charlas/digitalizaciones-pymes-servicios-gestion/ **Digitaliza tu Pyme a través de tus servicios y gestión digital,** que hace más eficiente tu negocio y más en tiempos de crisis como la que vivimos actualmente con el Covid-19. Esta entrada es el contenido de la charla que tuve el **4 de Junio de 2020** dentro de, para el Club de Marketing de Granada y la Asociación de Empresarios de Granada. Se escucha mucho sobre la digitalización y muchos motivos por los que debemos hacerlo, … **¿pero realmente estamos digitalizando las pequeñas empresas?** Tabla de contenidos Toggle - ¿Qué nos espera?  - Situación actual de Digitalización Pymes - ¿Porqué digitalizar nuestra empresa es tan beneficioso? 1. Mejora de la Productividad - 2. Posibilidad de trabajar en remoto - 3. Mejora la experiencia del cliente - 5. Resultados inmediatos - Ideas para poner en marcha la digitalización de tu Pyme 1. Información de tus productos y servicios en tu página web - 2. Gestión digital de tus servicios - 3. Automatización - Ejemplos Genéricos - Digitalización en una Academia de formación - Digitalización en un Restaurante - Digitalización en un Comercio Minorista: Tiendas ## ¿Qué nos espera?  Un 32% más de facturacion  Un 27% más de beneficios Para aquellas empresas que generan un 50% facturación en digital ## Situación actual de Digitalización Pymes La Unión Europea realiza un indicador agregado llamado **Indicador de la Economía y la Sociedad Digital (DESI por sus siglas en inglés)**, y a través de sus diferentes publicaciones, nos ofrece sus datos a través de **cinco dimensiones**: - **Conectividad. **Basado en cómo los ciudadanos nos conectamos a internet. La tecnología que hay detrás de ella como la fibra o 5G. - **Capital humano.** Competencias digitales o conocimiento de herramientas. - **Uso de internet**.** **Uso básico y avanzado de Internet, como compras, consumo de noticias, etc. Aquí destaca como España estaba en un 49% en el uso de videollamadas, y debido a la crisis, se ha disparado estos valorres. - **Integración de tecnología digital**. Intercambio electrónico de información, y el uso de los negocios del comercio electrónico. - **Servicios públicos digitales.** Usuarios de la administración electrónica, uso de formularios, servicios de sanidad electrónica e intercambio de datos médicos. Desde el **enfoque nacional**, podemos ver que estamos progresando en la digitalización, pero que quizás no demasiado, siendo los número 11 dentro de la Unión Europea. Y parece que los servicios públicos si se han puesto «las pilas» y en cambio los usuarios y empresas no tanto. Y es que si **entramos en la perspectiva de las Pymes,** según el estudio de El reto de la transformación digital de la economía, el panorama es desolador. Herramientas hoy día fundamentales para la gestión avanzada como una **ERP** (Sistema de gestión mejorada), sólo lo tienen en un 35% de los casos. Este estudio es un poco antiguo, pero los datos no cambian mucho. Y aunque vemos que un **75% de las empresas** tienen **página web**, sólo un 7% de los ingresos viene de forma online. Estos datos se han incrementado un poco según el estudio del Instituto Nacional de Estadística ofreciendo un 77,7%, del año 2017. ** Sí la transformación digital hubiera llegado antes, estaríamos más preparados para la crisis del Covid-19 ## ¿Porqué digitalizar nuestra empresa es tan beneficioso? ### 1. Mejora de la Productividad Aquellas tareas improductivas como el uso del papel y mecanizar dichos datos, deberían estar descartadas hoy día. ### 2. Posibilidad de trabajar en remoto La crisis nos ha confinado en nuestras casas y aquellas empresas que tenían procesos digitalizados, se han podido adaptar mejor a esta crisis sanitaria. ### 3. Mejora la experiencia del cliente Teniendo más tiempo, puedes emplear más procesos para mantener mejor informado al cliente. También te costará menos si automatizas dicha información. ### 5. Resultados inmediatos Desde el primer momento, encontrarás que puedes hacer más tareas en menos tiempo, y que el día a día te comerá menos. También afectará a tus ventas de manera positiva. ## Ideas para poner en marcha la digitalización de tu Pyme ### 1. Información de tus productos y servicios en tu página web La página web de una empresa es el punto central de la digitalización de todos nuestros servicios. Y por tanto, no sólo debe quedarse en una web presencial, sino que debe ofrecer información detallada de sus servicios** en una sección. **¿Cuántas veces nos hemos encontrado webs de empresas que no sabíamos a qué se dedicaban?** Para cumplir este cometido, sigue los siguientes consejos: - Detalla todos tus servicios aportando una información detallada y dando respuesta a las siguientes preguntas: ¿Qué servicio ofreces?, ¿a quién está dirigido? - Explica dentro de los servicios, los subservicios que se engloban dentro de dicho servicio, también ofreciendo información detallada. - Explica a quien va dirigido dichos servicios. - Ofrece casos de éxito, donde tus posibles clientes puedan ver la capacidad de tu empresa. ### 2. Gestión digital de tus servicios Conoce tus procesos y trata de digitalizar cada uno de ellos. - **Gestión de empresa.** - **Comunicación entre empleados.** - **Comunicación a clientes.** - **Gestión de tareas del equipo.** Revisa tu proceso de venta y hazte las siguientes preguntas: ¿Se podría hacer de forma digital? El cliente podría rellenar la ficha en un formulario y que estuviera conectado con tu programa de gestión. ### 3. Automatización Interconecta tu web y diferentes herramientas de gestión para ser mucho más productivo. Olvida tener que pasar a mano y realizar trabajo administrativo innecesario. Es **una lacra para las empresas.** Claves para automatizar: - Gestión digital basada en la Nube. - API: Conexión entre sistemas. - Herramientas de gestión que tengan API. - Conecta tu web a estos sistemas de gestión. ## Ejemplos ### Genéricos - **Formulario de alta de cliente.** Con GravityForms. - **Formulario de Alta de cliente con SEPA. **Con GravityForms y GravityPDF. - Comunicación Boletín vía newsletter. Con MailerLite. ### Digitalización en una Academia de formación - **Matriculación en la página web.** Con GravityForms y GravityPDF. - Área privacidad de alumnos. Con diferentes plugins de membresía. - **Formación online.** Tienes Learndash o Sensei. ### Digitalización en un Restaurante - Formulario de reservas de mesa - Carta en Formato web con QR - Tienda Online y entrada de pedidos en la cocina. ### Digitalización en un Comercio Minorista: Tiendas - Catálogo de Ofertas adaptadas a WhatsApp - Tienda Online: Recogida en tienda, reparto a domicilio. Y esta sería mi propuesta desde el punto de vista de pequeñas empresas para digitalizar sus servicios. Teniendo más tiempo, puedes emplear más procesos para mantener mejor informado al cliente. También te costará menos si automatizas dicha información. Incluso puedes adaptarte a distintos tipos de clientes. **¿Qué mas ejemplos se te ocurren?** --- ## Notas charla Álvaro Sánchez: Optimiza Google My Business como un SEO aunque no sepas ni qué es el SEO URL: https://davidperezgar.com/blog/eventos/notas-charla-alvaro-sanchez-optimiza-google-my-business/ El pasado Jueves estuvimos en la meetup con Álvaro Sánchez hablando de posicionamiento local SEO. Estas fueron mis anotaciones. Factores de relevancia para el posicionamiento: - **Proximidad. **Pero dependerá del sector. Hay algunos que sí como Gasolineras. Podemos utilizar GS Location Changer. - **Popularidad.** Reseñas: cantidad, calidad, velocidad. - Enlaces a la web. - Citaciones. - Reseñas en otras páginas. - **Relevancia.** Categorías Google My Business. - Palabras clave en descripciones, reseñas, productos y servicios. - Palabras clave en la página web. - Engagement del usuario. Para optimizar Google My Business. Listado: - Crear y verificar ficha - NAP horarios y descripcioón - Asignar categorías: Ver código fuente en la ficha desde Google Maps para ver categorías de la competencia Cómo trabajar - Contenido y arquitectura de la web - Optimizaciones básicas Google My Business - Enlaces a la web - Citaciones básicas - On page a fondo - Tareas recurrentes Más reseñas - Más texto - Post - Citaciones Crea el enlace en tu cuenta de Google Maps: https://dominio.com/?utm_source=google&utm_medium=maps&umt_campaign=Google%20Maps Aquí tienes el video completo de la charla: Puedes conocer más de Álvaro Sánchez en Paraíso SEO. --- ## Configurar Multisite con HTTPS URL: https://davidperezgar.com/blog/desarrollo-web/configurar-multisite-con-https/ Si has optado por crear un multisitio con WordPress, el segundo de los problemas que te encontrarás es conseguir que tus web sean seguras por HTTPS en el formato de subdominios. Si te presentas ante este problema, aquí tienes una guía donde paso a paso, podrás solucionarlo. Tabla de contenidos Toggle - Configuración con panel Plesk 1. Añade un subdominio tipo wildcard - 2. Configura el certificado base con wildcard - 3. Añade el certificado en el subdominio * ## Configuración con panel Plesk ### 1. Añade un subdominio tipo wildcard Dentro de la suscripción de un dominio, en nuestro ejemplo botcamp.es, añade un nuevo subdominio con el nombre * (asterisco). Esto facilitará que sea la opción por defecto cuando creemos un nuevo subdominio en nuestra instalación de WordPress. ### 2. Configura el certificado base con wildcard En este caso estamos utilizando Let’s Encrypt como certificado en nuestro multisitio de WordPress. En este caso, en la opción de Let’s Encrypt del dominio base, activaremos la opción wildcard. Esto nos permitirá que todos nuestros subdominios tengan el certificado seguro SSL. ### 3. Añade el certificado en el subdominio * Y esta es la última opción que deberemos activar para terminar nuestro trabajo. Esta es la más sencilla, pero que me ha costado encontrar en la documentación de Plesk. Deberás ir a la opción de Configuración de Hosting del subdominio *.dominio.com y en la parte de certificado, activar la opción que hemos creado anteriormente, tal y como puedes ver a continuación: --- ## CSS para WordPress URL: https://davidperezgar.com/blog/charlas/css-wordpress/ El pasado 27 de Marzo, realicé un webinar sobre CSS en WordPress. La idea era ofrecer los fundamentos de **CSS para WordPress**, y que un usuario básico sepa cómo realizar cambios de estilos en nuestra página web. --- ## Mis Notas de la WordCamp Málaga 2020 URL: https://davidperezgar.com/blog/eventos/mis-notas-wordcamp-malaga-2020/ El Sábado 7 de Marzo se celebró la WordCamp Málaga. Para la presentación, el líder @frankenperez nos introdujo lo que nos íbamos a encontrar en la WordCamp. foto de Santiago Alonso Tabla de contenidos Toggle - Playful CSS CSS Grid - Propiedades lógicas CSS - Gutenberg en grandes medios Plugins y Sidebars - Los platos fuertes - ¿El futuro? - RGPD en WordPress - Pablo Moratinos: Zanshin, el estado de alerta del WebSensei - Juan Serrano: Atomic Design ¿Empezamos? Cómo empezar a aplicar Atomic Design en el diseño - Átomos - Moléculas - Organismos - Templates - Páginas - Gisela Bravo: Crea tu estrategia de Automatización de Marketing con WordPress Herramientas - Algunos de los Tweets que más me han llamado la atención ## Playful CSS Primera ponencia en inglés, por Camila Waz @camila_waz. Perfil Codepen. Hablando de las nuevas propiedades CSS que están por venir, y que nos ayudan a mejorar nuestra creatividad. El Proceso actual para crear una web: - Diseño - Código - Lanzamiento Ella trabaja en un proceso diferente con su cliente - Diseño. - Código. - Lanzamiento + Test - Colaboración. Propiedades personalizadas CSS: - También conocido como Variables CSS. - Permite el uso de variables/valores dinámicas directamente en CSS. - Pueden ser modificadas en tiempo real por clases padres, media queries y más. Forma de declarar una variable: **Copy--my-color: purple; Y la forma de utilizarlo: Copy<style> p { color: var(--my-color); } </style> Ejemplo de como lo utiliza: Copy:root { --txt-color: black; --highlight: yellow; } ### CSS Grid Nuevo concepto de maquetación en CSS, que introduce 2 nuevas dimensiones. Alguna de las propiedades más importantes que puedes usar son: - grid-template-columns - grid-column - grid-gap - fr unit Referencias: ColorDrops.LIVE cssgridgarden.com ### Propiedades lógicas CSS - Todavía muy experimental. - Nos hace repensar del modelo de cajas actual. - Modos de escritura. - Físico vs Lógico. Viene de la necesidad de ahorrar tiempo con soluciones más flexibles. Ejemplo en codepen.io Nos recomienda utilizar Firefox para CSS, ya que llegan antes y su inspector es muy bueno. El ejemplo sólo funciona en Firefox. Things aren’t always #000 and #FFF CAmila WAZ Diapositivas ## Gutenberg en grandes medios Ignacio Cruz, trabaja para Human Made, que realizó la adaptación a Gutenberg del medio The Sun. Utilizan los Meta bloques, porque el sidebar se les queda cortos. No se utilizan para renderizar pero guardan información como metadatos. ### Plugins y Sidebars - Media Sidebar**: Ya que gutenberg no deja ver las imágenes subidas en el post actual. Una vez que ponías dicha entrada, podías arrastrar la imagen al contenido. - **Thumbnails.** Barra para miniaturas que contenía los diferentes imágenes que se utilizan. Y podían trabajar con los recortes. - **Bloque de imagen y CHP.** Permite integrar el banco de imágenes para la entrada del blog. Y también permitían cambiarlo. ### Los platos fuertes - **Lista de comprobación de elementos antes de publicar. **Funcionalidad que según las políticas editoriales del medio, - **Integración con el departamento legal.** Para interactuar rápidamente con el departamento legal. Hasta ahora tablas excel, emails, etc. Salta un aviso cuando hay un término que requiere revisión legal. Tienen un botón para mandar a revisión legal, y los abogados, pueden entrar en dicha entrada, para que pudieran poner incidencias. Me parece una pasada la integración con el departamento legal. Todo está gestionado por el plugin Newspress, que está orquestado por Composer. Tienen varios módulos liberados como Publication Checklist en **GitHub**. ### ¿El futuro? Tener un sólo NewsPress para todas las publicaciones, y que sea como un origen para otros medios. Pregunta: Metabloques > búsqueda en query ## RGPD en WordPress Tienes que tener 4 puntos clave de tu web: - **Textos legales**. Deben estar siempre visibles en la web. Al final del pie de página. - **Formularios.** 1ª Capa de privacidad. Enlace a la segunda, con Casillas de privacidad. Aparte de las casillas, un texto que especifique el destino de la privacidad. - **Cookies** **Herramientas.** Cookieserve, para identificar cookies. GPDR Cookie Compliance que cumple con la RGPD. - **Ejercicio de derechos**. La Legalidad de tu web, no es una opción: diferénciate, genera confianza… **Y no rompas tu hucha pagando sanciones Marina Brocca ## Pablo Moratinos: Zanshin, el estado de alerta del WebSensei Por Pablo Moratinos Zanshin**, es un término japonés y significa un estado de vigilancia activa, relajada y permanente. Nos ofrece diferentes herramientas en diferentes campos para ser unos samurais del Marketing Online. Según diferentes campos tendríamos: - **Noticias**. **Google Alerts**:** **Por ejemplo podcast + Chattanoga, podrá ver noticias en tiempo real que hablen de ello. - **PHP.** Activar el modo debug de nuestra página web. Podemos hacer que se guarden en un archivo debug.log. Recomienda el plugin Debug de WordPress. - **CRO.** Para optimizar nuestras conversiones. La mejor herramienta es utilizar Analytics con el seguimiento de objetivos con sistemas de alertas. - **Redes Sociales.** Facebook Creator Studio. Permite programar contenidos en Facebook e Instagram.**Hootsuite Hootlet.** que nos permite hacer curación de contenidos y publicar con horas que más resultado tengan. También permite alimentarse de feeds. También programar publicaciones a través de un CSV. - **Experiencia de usuario.** Recomienda los Test A/B y Mapas de clics, calor y confetti. Nelio A/B Testing. - **SEO.** Uso del Google Search Console, y el informe de resultados de búsqueda. Importante ver la evolución impresiones en los resultados de búsqueda, y actualizar el contenido. Ejemplo: Su entrada del blog.**Comprobador de enlaces.** Utilizar el comprobador enlaces. - **WPO.** Rendimiento de tu página web. Page Speed o GTMetrix de WordPress. Y podemos poner una serie de alertas si hay alguna página muy lenta. **Hombre que atrapa mosca con palillos puede hacer cualquier cosa Sr. miyagui ## Juan Serrano: Atomic Design ¿Empezamos? ### Cómo empezar a aplicar Atomic Design en el diseño ### Átomos Definimos los Átomos de la Web: - Set de tipografía + mobile. Dejar anotadas las tipografías y los estilos - Colores corporativos y degradados. - Botones. - Imágenes de todos los tamaños (intentar unificar). - Set de Iconos. - Containers y Grid. ¿Cómo aplicarlo al desarrollo? - Font family - Estilos de texto y mixins ht-one - Variables de colores y degradados - Botones e inputs de texto, text areas - Formatos de imágenes - Helpers. Recomienda Primitive, para iniciar el proyecto son SASS. ### Moléculas Y de los átomos, creamos las moléculas en diseño: - Combinamos los átomos. - Convertimos en componentes. - Asignamos variables. - Asignamos estilos Y en desarrollo: - Metodología BEM. Metodología para estructurar y nombrar clases CSS con el objetivo de mantener el código limpio. - Especificaciones comportamiento átomos. - Especificaciones estilos de átomos. - Cada molécula debe tener una clase. - Creamos un archov scss/sass por cada molécula. ### Organismos El conjunto de moléculas, como por ejemplo, un widget de blog, CTAs, etc. Aplicados al diseño: - Preparar un set de organismos. - Preparar posibilidades en BYN. - Preparar posibilidades de alineación. - En Diseño, repetir cuadrícula. Y lo aplicamos al desarrollo. ### Templates - Organizamos los organismos por páginas. - Paddings por secciones. - Tener en cuenta el diseño para mobile. ### Páginas Tienen el diseño final según las plantillas. ## Gisela Bravo: Crea tu estrategia de Automatización de Marketing con WordPress Un usuario necesita entre 20 y 500 interacciones con tu marca, para que pueda comprarte un producto o servicio. Automatización de marketing: proceso y metodología para acompañar al usuario de manera automática y escalable hasta convertirlo en potencial cliente. Gisela Bravo Más del 70% de las empresas B2B están utilizando plataformas de marketing automático. Sobre usuarios interesados, realizamos un WorkFlow para conseguir a los clientes. Las herramientas a utilizar para poner en marcha la Automatización, deberán tener las siguientes características: - Email Marketing. - Lead scoring. - Formularios progresivos - Llamadas a la acción inteligentes. - Listas dinámicas. - Contenidos inteligentes. ### Herramientas ¿Cual nos recomienda? - Groundhogg. - AutomateWoo. - Drip. - Active Campaign. - Zoho Marketing Hub. - Keap. - HubSpot. Las empresas que implementan una estrategia de automatización de marketing, generan un +50% de potenciales clientes.** ## Algunos de los Tweets que más me han llamado la atención Menudo eventazo han organizado el equipo de @wcmalaga! Sitio buenísimo, excelentes ponencias y talleres, churros para desayunar y profesionales de toda España! #WordPress #WordCamp #wcmalaga cc/ @wcmalaga pic.twitter.com/n06bQI0DVr — Rocío Valdivia (@rociovaldi) March 7, 2020 Cuando la comunicación te lleva al mensaje, te lo acuna, te lo cuenta, te lo mima, te lo acaricia,… @pablomoratinos nos mete de lleno en la presentación y se coge de la mano con el #storytelling en la #WCMálaga pic.twitter.com/AknSfGd67c — Señor Muñoz (@senormunoz) March 7, 2020 @davidperezmk ha ganado el premio de @SiteGround_ES en el concurso que ha llevado con mucho arte @juanmacivico87 pic.twitter.com/ZETQlspJrv — Jesús Yesares García (@jesusyesares) March 7, 2020 ¿Te encuentras? Foto Grupo 🥰 #WCMálaga pic.twitter.com/NuqNNqHpaP — WordCamp Málaga (@wcmalaga) March 7, 2020 “Poyaque estás con eso, hazme esto otro”. Hay que huir del efecto “poyaque” 😂😂😂 #WCMálaga pic.twitter.com/NqS9eS0sGg — Delia Carballo (@deliacarballo) March 7, 2020 --- ## Mesa redonda en las Jornadas de Orientación sobre Formación Profesional URL: https://davidperezgar.com/blog/charlas/mesa-redonda-en-las-jornadas-de-orientacion-sobre-formacion-profesional/ --- ## Charla WordCamp Chiclana: Crea Schemas sin plugins en WordPress URL: https://davidperezgar.com/blog/charlas/wordcamp-chiclana-2020-crea-schemas-sin-plugins/ Este es un resumen de mi charla que he realizado en WordCamp Chiclana 2020, que desde aquí agradezco su confianza para contar conmigo como ponente. ** WordCamp Chiclana 2020 Crea schemas sin plugins ** from **Closemarketing** Tabla de contenidos Toggle - ¿Qué son los Schemas? - Tipos de Schemas - Ejemplo Schema para Recetas - Ejemplo Esquema Organización - Ejemplo Esquema Cursos ## ¿Qué son los Schemas? - Conjunto de etiquetas para describir nuestro contenido. - Ofrece semántica enriquecida para los buscadores. - Ayuda a entender y clasificar la información. - Podrá aparecer destacado en el buscador. ## Tipos de Schemas En la página de Schema.org, ofrece la jerarquía total de todos los esquemas creados, siendo los de primer nivel los siguientes: - **Action.** Acción realizada por un agente directo o indirecto sobre un objeto directo. - **CreativeWork.** El tipo más genérico para especificar un trabajo creativo, que incluye libros, películas, fotografías, programas de software, etc. - **Event.** Un evento que ocurre en un determinado tiempo y localización, tal como un concierto, clase o festival. La información de las entradas se puede realizar utilizando la propiedad ofertas. Los eventos repetitivos deberán estructurarse como objetos de eventos separados. - **Intangible.** Una clase útil que sirve de paraguas para cosas intangibles como cantidades, valores estructurados, etc. - **MedicalEntity.** El tipo genérico de la entidad relacionada con la salud y la práctica de la medicina. - **Organization.** Una organización como un colegio, ONG, corporación, club, etc. - **Person.** Una persona (viva, muerta, «no muerta», o ficticia). - **Place.** Entidades que están de alguna manera fijas, con un sitio fijo. - **Product.** Un producto o servicio ofertado. Por ejemplo: un par de zapatos, una entrada de concierto, alquiler de coches, un corte de pelo, o un episodio de una serie en streaming online. Nos ofrece un total de **1022** esquemas diferentes, por lo que podemos darnos cuenta de la versatilidad para utilizar dichos esquemas. ## Ejemplo Schema para Recetas Copyadd_action( 'wp_head', 'cmk_add_schema_pages', 20 ); /** * Shows Schema depeding of post type in header with LD JSON * * @return void */ function cmk_add_schema_pages() { $post_id = get_the_ID(); $cook_time = get_post_meta( $post_id, 'rec_tiempo', true ); $prep_time = get_post_meta( $post_id, 'rec_tiempo', true ); $ingredients = get_post_meta( $post_id, 'rec_ingredient', false ); $recipe_inst = wp_strip_all_tags( get_post_meta( $post_id, 'rec_preparacion', true ) ); $recipe_yield = get_post_meta( $post_id, 'rec_personas', true ); if ( is_singular( 'receta' ) ) { $sch = ' <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Recipe", "author": "David Perez", "cookTime": "PT' . $cook_time . 'M", "datePublished": "2009-05-08", "description": " ' . get_the_excerpt() . '", "image": "' . get_the_post_thumbnail_url() . '", "recipeIngredient": ['; if ( is_array( $ingredients ) ) { foreach ( $ingredients[0] as $ingredient ) { $sch .= '" ' . $ingredient . '",'; } } $sch .= '], "prepTime": "' . $prep_time . '", "recipeInstructions": "' . $recipe_inst . '", "recipeYield": "' . $recipe_yield . ' persons", "suitableForDiet": "http://schema.org/LowFatDiet" } </script>'; echo $sch; } // Recipe schema } Copy ## Ejemplo Esquema Organización add_action( 'wp_head', 'cmk_add_schema_home_page', 20 ); /** * Shows Schema depeding of post type home_page in header with LD JSON * * @return void */ function cmk_add_schema_home_page() { if ( is_front_page() || is_home() ) { $sch = ' <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "address": { "@type": "PostalAddress", "addressLocality": "Granada, España", "postalCode": "18006", "streetAddress": "Calle Jose Luis Pérez Pujadas, 6 Edificio Forum Oficina B29" }, "email": "info@closemarketing.es", "url": "https://www.closemarketing.es/", "description": "Agencia de Marketing Online, Diseñamos Web en WordPress para Granada y Málaga.", "taxID": "ESB19618909", "employee": [ { "@type": "Person", "name": "David Pérez" }, { "@type": "Person", "name": "Sacra Jáimez" } ], "member": [ { "@type": "Organization", "name": "AJE Granada" }, { "@type": "Organization", "name": "WordPress Granada" } ], "name": "Closemarketing", "telephone": "+34858958383" } </script>'; echo $sch; } // home_page schema } ## Ejemplo Esquema Cursos Copyadd_action( 'wp_head', 'cmk_add_schema_courses', 20 ); /** * Shows Schema depeding of post type in header with LD JSON * * @return void */ function cmk_add_schema_courses() { if ( is_singular( 'formacion' ) ) { $post_id = get_the_ID(); $price_raw = get_post_meta( $post_id, '_listing_price', true ); $time_raw = get_post_meta( $post_id, 'for_dura', true ); $time = substr_replace( $time_raw, '', -1 ); if ( date( m ) > 6 ) { $year_start = date( 'Y' ); $year_end = date( 'Y' ) + 1; } else { $year_start = date( 'Y' ) - 1; $year_end = date( 'Y' ); } $start_date = $year_start . '-09-01'; $end_date = $year_end . '-06-20'; $sch = '<script type="application/ld+json"> { "@context": "http://schema.org/", "@id": "./", "@type": "Course", "name": "' . get_the_title( $post_id ) . '", "description": "' . get_the_excerpt( $post_id ) . '", "hasCourseInstance": [ { "@type": "CourseInstance", "name": "' . get_the_title( $post_id ) . '", "location": { "@type": "Place", "address": { "@type": "PostalAddress", "addressLocality": "Granada", "addressRegion": "ESP" } }, "description": "' . get_the_excerpt( $post_id ) . '", "startDate": "' . $start_date . '", "startDate": "' . $end_date . '", "timeRequired": "' . $time . '", "about": "' . get_post_meta( $post_id, 'for_ncursos', true ) . '" } ] } </script>'; echo $sch; } // Course schema } --- ## Códigos de Provincia para utilizar en WooCommerce URL: https://davidperezgar.com/blog/desarrollo-web/codigos-provincia-woocommerce/ Cuando toca configurar impuestos o zonas de envío en WooCommerce, es muy util contar con los códigos de Provincia que utiliza WooCommerce en WordPress. Aquí están a continuación: CLa CoruñaVIÁlavaABAlbaceteAAlicanteALAlmeríaOAsturiasAVÁvilaBABadajozBBarcelonaBUBurgosCCCáceresCACádizSCantabriaCSCastellónCECeutaCRCiudad RealCOCórdobaCUCuencaFOFormenteraGIGironaGRGranadaGUGuadalajaraSSGipuzkoaHHuelvaHUHuescaIBIbizaJJaénLOLa RiojaGCLas PalmasLELeónLLleidaLULugoMMadridMAMálagaPMMallorcaMLMelillaMEMenorcaMUMurciaNANavarraOROurensePPalenciaPOPontevedraSASalamancaTFSanta Cruz de TenerifeSGSegoviaSESevillaSOSoriaTTarragonaTETeruelTOToledoVValenciaVAValladolidBIBizkaiaZAZamoraZZaragoza --- ## Liderando la WordCamp Granada 2019 URL: https://davidperezgar.com/blog/comunidad-wordpress/liderando-wordcamp-granada-2019/ Después de las buenas sensaciones de la primera WordCamp Granada, y viniéndome un poco arriba, recordé que se hacía una WordCamp Europea, y entre pasillos hablando con Rocío le pregunté, **¿qué se puede hacer para organizar la WordCamp Europe?**, me contestó que se hacía una candidatura en la web de WordCamp Europe, donde las diferentes ciudades realizaban propuestas… y así nos pusimos a crear Equipo. Competimos contra Oporto, Atenas, Milán, Manchester, pero finalmente se la dieron a Oporto que es la sede de este año 2020. En dicha candidatura **creamos una web informativa** de Granada y un video promocional que fue lo más reseñable, ya que conseguimos que el **Alcalde de Granada**, Paco Cuenca en ese momento, nos apoyara la candidatura. Y antes de que el equipo pensara en descansar, realicé la solicitud para **ser líder de **la **WordCamp Granada 2019**. Esta figura la denomina así la Fundación WordPress a la persona que coordina a un equipo propuesto por él y además, vela para que se respete el presupuesto acordado con ellos. El **21 de marzo de este año, **y habiendo tanteado antes el posible equipo, me decidí a rellenar el formulario que se facilita en WordCamp Central. Después hacen firmar un contrato para velar de que harás bien tu trabajo y serás honesto con la gestión del dinero. Para **formar el equipo**, conté con la base del grupo compuesto por Sacra que estaba muy animada para llevar Voluntarios, Jesús Yesares para comunicación, Lolo Marchal para patrocinios, Fran Torres en Programa y Antonio Martínez para Catering. De esta base fuimos completando compañeros que han llevado perfectamente su cometido como Antonio Cantero en Web, Jesús Nuño en Atención al asistente, Lorena y Cecilia en Diseño, y completaron Roberto Gallego, Miguel Ángel, y Anabel Sánchez en Comunicación. Una de las dificultades de ser coordinador de un equipo voluntario, **está en la que tienes que convencer y recordar al equipo de todas las tareas que hay pendientes**. Mi propósito era hacerlas cuanta más antelación mejor, pero al final, muchas cosas se fueron terminando cuando eran necesarias, ya que todos andamos ocupados con nuestros diferentes trabajos. La programación que seguí y que era parecida en estructura al año pasado fue la siguiente, pero me gustaría hacer una reseña del podcast que realizamos con dicho motivo. Tabla de contenidos Toggle - Programa Podcast Caminando a la WordCamp Granada - Mes -7 Mayo. Identidad Corporativa y Web - Mes -6 Junio. Puesta en marcha Web y venta de entradas y Llamada a Patrocinadores - Preparativos últimos meses - Día 1. Día del Contribuidor - Día 1. Cena de Ponentes y voluntarios - Día 2. Charlas - 350 asistentes!!!! - Día 3. Turismo en comunidad - Intervención en otros Podcasts WPRadio con Joan Boluda y Joan Artés - Freelandev – Camino a la WordCamp Granada - ClubWPress – Parte última del Podcast - PotenciaPRO – Materrón - Un billete a Chattanooga – Episodio 28: De CuñadoCamp Granada con David Pérez y Jesús Yesares - Quédate con el Cambio Sabandija Asquerosa – Lo que Gary Illyes no quiso contar de la WordCamp Granada - WordPress en Femenino – con Sacra Jáimez y Anabel Sánchez - Algunas de los comentarios que más me han gustado - GRACIAS A TODOS - ¿WordCamp Granada 2021? ## Programa Podcast Caminando a la WordCamp Granada Como **Jesús Yesares y yo**, teníamos ganas de podcast, vimos una iniciativa que realizó la **WordCamp Madrid **con **Caminando a la WordCamp Madrid**, con Jaime Garmar y Dani Serrano, nos gustó mucho y pensamos en realizar un programa parecido e invitar a personas de la comunidad interesantes, y creo que además de pasarnoslo bien, creo que fue es es útil para los asistentes vean lo que lleva organizar una **WordCamp.** Estos fueron todos los capítulos que grabamos: ** ## Mes -7 Mayo. Identidad Corporativa** **y Web** Identidad corporativa realizada por Cecilia Pastorino. Con Cecilia y Lorena estuvimos viendo cómo darle un toque nuevo pero manteniendo su estructura original del año pasado. Para ello decidieron mantener la forma pero cambiando la tonalidad de colores y usando monumentos identificativos de la ciudad. Colores WordCamp 2019 Al equipo nos encantó, que sirvió de base para los diferentes formatos como Taza regalo a ponentes y voluntarios, rollups, diapositivas de apertura y cierre, e imagen en redes sociales. También realizamos el Diseño de la Web, que fue realizado por Lorena. Nos gustó bastante al equipo. **Antonio Cantero **se encargó de realizar la maquetación web. ## Mes -6 Junio. **Puesta en marcha Web y venta de entradas y Llamada a Patrocinadores** Una vez que tuvimos la web diseñada y maquetada, por lo menos, las partes principales, pusimos en marcha la web. La dirección sigue la misma sintaxis que las demás: año.ciudad.wordcamp.org. Se quedaba tal que así: **2019.granada.wordcamp.org.** Si bien, te aconsejo y nosotros es la que hemos utilizado publicar en los medios **granada.wordcamp.org**. Ya que esta dirección redirige a la web en curso actual. ## Preparativos últimos meses - **Mes -4 Agosto hasta el evento** **Llamada a Ponentes**.** **Se realiza la llamada a ponentes para que hagan sus propuestas de charlas. Nos vimos con muchas más propuestas que el año pasado, y nuestro trabajo nos llevó dos tardes de trabajo para la selección y después el encaje en el programa. Ahí la experiencia de **Fran Torres**, fue una garantía. - **Mes -3 Septiembre.** Llamada a Voluntarios y **Publicación** Programa. Contando con que había ponentes que también se presentarían a voluntarios, vimos que era mejor presentar programa y después llamada a voluntarios. Pero Sacra, lo explica mejor aquí. - **Mes -2 Octubre**. Más preparativos y reuniones. - **Mes -1 Noviembre.** Empiezo la ejecución presupuesto para contratar todos los servicios de la WordCamp. ## Día 1. Día del Contribuidor El día del contribuidor es un día especial, ya que nos coordinamos diferentes equipos para contribuir a WordPress. Para este día, conté con Javier Casares, organizador en la sombra, ya que nos ha hecho varias visitas durante el año, y nos ha ido ayudando a diferentes aspectos de la WordCamp. Preparó una **presentación**, y después presentamos las diferentes mesas. Yo contacté con ellos semanas antes, para que pudieran estar preparados y se prepararan objetivos para ese día. Presentando las diferentes mesas del día. Aquí la mesa de Marketing liderada por Sacra y Jesús. Foto David Fernández Se montaron las siguientes mesas y responsables: - **Marketing** – Jesús y Sacra - **Diseño** – Ana Cirujano - **Traducción** – Fernando Tellado - **Core** – Rafa Poveda - **Hosting** – Javier Casares - **Soporte** – Pablo Moratinos - **Comunidad** – Rocío Valdivia - **Temas** – Juanka Díaz - **Plugins** – Juanma - **WordPress.TV** – Mauricio Gelves - **Accesibilidad** – Vicent Sanchís Creo que se hizo un buen trabajo y se cumplieron muchos objetivos. ## Día 1. Cena de Ponentes y voluntarios Optamos para la cena de ponentes con el Carmen de los Chapiteles. Por la reacción de varios de los ponentes, parece que fue todo un acierto. **la prefoto de la preparty #WCGranada pic.twitter.com/tQP0dXerxB — Nilo Vélez – @nilo@wptoots.social 🐘 (@NiloVelez) November 29, 2019 Cuando te dejan casi sin palabras nada más llegar a #WCGranada pic.twitter.com/vFxu9yH9rr — Fernando Tellado Ⓦ 🇪🇸 (@fernandot) November 30, 2019 Las vistas desde el lugar de la cena pre-wordcamp #WCGranada pic.twitter.com/IK6YvkYemO — Lolo Marchal (@LoloMarchal) November 29, 2019 Foto realizada por Ángel de Miguel ## Día 2. Charlas Y empieza el día grande de la WordCamp. El año pasado Fran Torres** preparó una actuación karaoke especial de sorpresa, y este año ideamos dentro de mi estilo, un video simpático y original para presentar a los organizadores. La composición es parte de la realización de grabaciones que fui haciendo simulando llamadas en diferentes lugares de Granada. La idea era también presentar sitios emblemáticos de Granada. Ángel Moreno y Javier Casares prepararon al personal, que fue la mejor introducción, mientras nosotros **esperábamos escondidos**. El resto de ponencias las puedes ver en nuestro canal de Youtube, y también en WordPress.TV. Creo que el resultado fue bastante bueno, y la valoración de los asistentes ha sido muy positiva. La foto de grupo no pudo ser mejor, Ángel de Miguel nos propuso hacer la W de WordPress, y previa preparación en el suelo con diferentes marcas, pudo conseguir el mejor resultado: Asistentes a la WordCamp Granda 2019**Foto realizada por Ángel de Miguel (AndererWinkel) y David Fernández ## 350 asistentes!!!! Mejoramos la marca del año pasado con más de 50 asistentes más. Todavía estoy impresionado con la acogida que ha tenido. Resumen en imágenes de la jornada: Equipo Closemarketing en la WordCamp Granada Finalmente, dí el cierre con una serie de datos interesantes, y por supuesto dar las gracias a los Patrocinadores** que hiciero posible este evento. ## Día 3. Turismo en comunidad Y finalmente, el tercer día realizamos una ruta organizada por Ángel Moreno y Jesús Yesares, para conocer mejor la Alhambra y sus alrededores, con una ginkana. Grupo Gutenberg con Nilo, Materrón, Pablo Moratinos, Ana Cirujano y nuestro Almeriense. ## Intervención en otros Podcasts Gracias a los grandes amigos de la comunidad de WordPress, tuvimos la oportunidad de aparecer en diferentes Podcasts relacionados, y de los que estamos muy agradecidos para que esto fuera posible. ### WPRadio con Joan Boluda y Joan Artés ### Freelandev – Camino a la WordCamp Granada ### ClubWPress – Parte última del Podcast ### PotenciaPRO – Materrón ### Un billete a Chattanooga – Episodio 28: De CuñadoCamp Granada con David Pérez y Jesús Yesares ### Quédate con el Cambio Sabandija Asquerosa – Lo que Gary Illyes no quiso contar de la WordCamp Granada ### WordPress en Femenino – con Sacra Jáimez y Anabel Sánchez ## Algunas de los comentarios que más me han gustado **Enhorabuena @SacJaiRom, @davidperezmk @jesusyesares y a todos los organizadores, por el resumen, el trabajazo y el amor que le habéis puesto a la #WCGranada ❤️🙌🏻👏🏻🎈🎉 cc/ @WPGranada https://t.co/rUb1z6KHgs — Rocío Valdivia (@rociovaldi) December 6, 2019 📢 La #WCGranada llega a su fin 😌Ha sido mi primera WordCamp y ha sido una experiencia increíble que repetiré sin lugar a dudas.Me llevo nuevos conocimientos, experiencias, gente nueva muy top, desvirtualizar a conocidos del mundillo online…En definitiva #MuchoValor pic.twitter.com/Vfd7wiBh7n — Ángel Rodríguez 😎 (@AngelGuruez) December 2, 2019 Muchas gracias de parte del equipo de @dinahosting a todos, organizadores y voluntarios, por lo que ha sido una segunda y genial #WCGranada 🙂 pic.twitter.com/Hu50s8gwhW — Iván Expósito (@exp_ivan) November 30, 2019 Muchas, muchas gracias a quienes habéis asistido a mi charla hoy en #WCGranada, por vuestro cariño, vuestras preguntas y vuestro agradecimiento.Gracias a @frantorres, a @davidperez y la comunidad de @WPGranada por esta oportunidad.¡Y a todos los amigos que habéis venido 😍! pic.twitter.com/CbiBQkS8bK — María Fornieles 🏳️‍🌈 #Twitch Miércoles a las 11h (@mariavidela) November 30, 2019 ¡Muchísimas gracias al equipazo de organizadores y voluntarios de #WCGranada 2019 por toda vuestra dedicación! De nuevo una WordCamp con un ambiente excelente y que nos deja con muchas ganas de la próxima. ¡Enhorabuena chic@s! 👏👏 pic.twitter.com/oqX8ckRTye — SiteGround España (@SiteGround_ES) November 30, 2019 Mi primera #Wordcamp y además en casa. Espectacular en todos los sentidos. Enhorabuena a la organizacion de #WCGranada pic.twitter.com/p5gMcXoc01 — Francisco Camacho (@soyfjcamacho) December 1, 2019 Tremendamente cansado, abrumado pero muy feliz por todo lo ocurrido en #WCGranada 2019. Creo que tiene que pasar algo de tiempo para que sea capaz de asimilar lo vivido.👇👇👇 — Jesús Yesares García (@jesusyesares) December 1, 2019 https://twitter.com/anabelmktc/status/1201502472554131457?s=20 Impagable el trabajo de @davidperezmk y el equipazo de organización y voluntarios de esta #WCGranada, cierre de oro de las WordCamp españolas de 2019. He aprendido, he compartido y sobre todo me llevo un montón de cariño. ¡¡Muchas gracias y hasta pronto!! — Roberto Miralles (@blogalizate) November 30, 2019 Enhorabuena David, y a todo el equipo involucrado, por esta grandísima #WCGranada que tanto hemos disfrutado y de vuestra hospitalidad y cariño, que es mutuo. Un fuerte abrazo. — Fernando Puente (@fpuenteonline) December 11, 2019 Muchísimas gracias a @WPGranada por la maravillosa #WCGranada que han organizado. Me voy cansado pero tremendamente feliz de coincidir en un evento con tan buena gente. ¡Gracias por todo! — Fernando García Rebolledo (@fgrwebes) December 2, 2019 Ya estoy en el aeropuerto dando por cerrada esta fantástica visita a #WCGranada. Una experiencia maravillosa con gente a la que quiero mucho, nuevos amigos, nuevos proyectos y muchas ideas. Gracias a todo el equipazo de @WPGranada que lo ha hecho posible, siempre con una sonrisa. pic.twitter.com/9ehiRuCfq7 — Pablo Moratinos (@pablomoratinos) December 1, 2019 Ha sido una experiencia absolutamente increíble.Muchos nervios, mucha ilusión, mucho respeto al tema.Gracias organización de #WCGranada, gracias a @NiloVelez por el empujón que me hacía falta y gracias a toda la comunidad, organización, voluntariado y asistentes. pic.twitter.com/OSeotYRCxc — Vicent Sanchis (@visanju) November 30, 2019 GRACIAS a todos y cada uno de los que habéis participado en la organización de esta #WCGranada 2019. 👏👏👏¡Nos vemos en la próxima!#Granada ❤️ #WordPress pic.twitter.com/syjNu039dE — Pepe Márquez (@CyberPepe) November 30, 2019 Excelente #WCGranada, la última de 2019 en España. Enhorabuena al equipo organizador, sponsors y voluntarios. Un ejemplo más de lo especial que es esta comunidad. pic.twitter.com/F4azk5ptU9 — José Ramón Padrón García (Mon) (@monchomad) December 1, 2019 Estoy hecho polvo, pero me alegro mucho del fin de semana que he compartido con todos en la #WCGranada. Como siempre, habéis dejado el listón muy alto y es un auténtico placer compartir tiempo y espacio con vosotros, una comunidad modélica. ¡Gracias! — Guillermo García (@FlewPs) December 1, 2019 Y seguimos persona tras persona, creciendo tanto como individuos como comunidad!!!🤘🤘🤘 Gran WordCamp!! #WCGranada¡¡Gracias Nilo!! — Dani Serrano ✌️🤓 (@DaniSerrano_) December 2, 2019 https://twitter.com/bizarroana73/status/1200691096122281984?s=20 ## GRACIAS A TODOS Gracias a los que habéis hecho posible esta WordCamp. ** A **Sacra** que ha sido mi mano derecha organizando a todo el equipo de voluntarios del que «no me he tenido que preocupar» y también por recordarme las cosas (soy un despistado, lo sé), y **Jesús** la izquierda, que con sus ideas y su creatividad, hemos ido avanzando en la comunicación de la WordCamp. Todavía siguen mencionando de la presentación como «el video del hoyo» ?. Sin vuestra ayuda, habría sido imposible. A **Antonio Martínez**, porque su asesoramiento en el Catering ha sido fundamental, y **Lolo Marchal** por ayudarme a conseguir patrocinadores. Al resto de **organizadores**, por haber cedido su tiempo y su buen hacer para que saliera todo excepcional. A los **ponentes** de los que admiro mucho y que han querido compartir su conocimiento. Me quiero acordar de los que más conozco, a **Pablo Moratinos**, **Fernando Tellado, Nahuai Badiola, Vicent Sanchís, Ana Cirujano, Fernando Puente**, **Juanma Cívico, Jotaele, …** A **Materrón**, por ser el mejor embajador de la WordCamp Granada. Cada vez que lo escuchabas en un podcast de WordPress, hablaba de ella… A **Nilo Vélez, **por realizar la ponencia de cierre con una «frikada» muy elaborada de los inicios de WordPress. Todos nos quedamos sorprendidos con la torre corriendo en Windows 2000. A **Javier Casares** por siempre estar dispuesto a ayudarnos y aconsejarme en muchos aspectos de la organización de la WordCamp. A **Rocío Valdivia**, por ser una fuente de inspiración y animar/confiar en nosotros para la organización de esta WordCamp. ## ¿WordCamp Granada 2021? Pues haremos todo lo posible para que así sea, y **¡con Lideresa!** . **Sacra Jáimez **parece que cogerá la batuta y ya tiene por supuesto con mi ayuda, además del resto de la comunidad de Granada. --- ## Bienvenida y Cierre de la WordCamp Granada 2019 URL: https://davidperezgar.com/blog/charlas/bienvenida-cierre-wordcamp-granada-2019/ Gracias a ser Líder de la WordCamp Granada, tuve la oportunidad de realizar la apertura y cierre de este congreso en torno a WordPress. Ha sido toda una experiencia, tanto en organización como en lo personal, por la buena gente que hay en este mundillo de WordPress. --- ## Presentando la WordCamp Granada 2019 URL: https://davidperezgar.com/blog/comunidad-wordpress/presentacion-wordcamp-2019/ La semana pasada estuve junto con el equipo de organizadores, la **presentación WordCamp 2019** en Granada en el Ayuntamiento de Granada con el Concejal de Informática **Jose Antonio Huertas**. En esta WordCamp participo con **Coordinador General** o como ellos dicen *«Leader & Budget wrangler at WordCamp Granada 2019»*, cuyo trabajo es coordinar el equipazo con el que he podido contar. Los motivos por los que me involucro en la Comunidad de WordPress y en esta WordCamp son varios: - Dar a conocer mejor nuestra profesión. - Compartir conocimiento. - Poner a Granada en el Mapa de eventos tecnológicos. - Aprender a coordinar un equipo de 13 personas + voluntarios. - Pasármelo bien con lo que me gusta hacer. La rueda de prensa se retransmitió en directo por Twitter para fuera que visible a todos los interesados en este evento. **Rueda de prensa WordCamp Granada 2019 https://t.co/pwS64LeX2V — WordPress Granada – Organizing #WCGR24 (@WPGranada) October 22, 2019 Para dar a conocer mejor la WordCamp Granada, Jesús Yesares y yo, creamos un podcast llamado Caminando a la WordCamp Granada**, que principalmente hemos divido en los puntos para crear una WordCamp: Organización, Ponentes, Voluntarios, Programa, y pronto haremos de Comunicación. Sin duda una experiencia muy buena y que seguro repetiremos haciendo **algún podcast**. ## Repercusión en Medios Presentación WordCamp 2019 Gracias a la realización de la rueda de prensa en la que nos acompañó el **Concejal de Informática Jose Antonio Huertas**, los medios se hicieron eco de la **Rueda de Prensa, celebrada en el Ayuntamiento de Granada.** **Granada acoge la segunda edición del congreso más grande de España de WordPress, el célebre gestor mundial de contenidos web Web Ayuntamiento Granada TG7 en sus noticias diarias de las 21.30h: Granada acogerá el congreso de WordPress con 500 expertos en tecnología y web La Vanguardia Granada acogerá la segunda edición del congreso más grande de España de WordPress EuropaPress Granada será centro del mayor congreso de WordPress de España GranadaHoy Granada acogerá la segunda edición del congreso más grande de España de WordPress GranadaDigital La red social que utilizamos para la comunicación de WordCamp es Twitter. Una red social especialmente indicada para eventos**. Si no has podido verlo aún, aquí tienes todo lo que se ha vivido esta mañana en la presentación de #WCGranada 2019 en @aytogr👇🏼👇🏼👇🏼👇🏼👇🏼👇🏼👇🏼👇🏼👇🏼👇🏼👇🏼👇🏼https://t.co/3jfzleXqyR pic.twitter.com/kFzt4iOboP — WordPress Granada – Organizing #WCGR24 (@WPGranada) October 22, 2019 ¡Estamos que no paramos! Esta mañana presentación de #WCGranada en el @AytoGranada junto al concejal de informática @huertas73 👉🏽 Y aquí la noticia 🙂 https://t.co/rVYbbn8K3s — Sacra Jáimez (@SacJaiRom) October 22, 2019 Presentada en rueda de presenta el WordCamp Granada 2019.¡Próximos seminarios los días 29, 30 de noviembre y 1 de diciembre!Palacio de congresos https://t.co/less5JOgRr — Granada Social (@granada_social) October 22, 2019 Y un día más tarde, presentamos a la comunidad y con más detalle junto con todo el equipo, cómo se ha preparado la WordCamp y qué novedades tendrá. Estamos en @pcongresosgrx presentando #WCGranada 2019#meetup #Granada pic.twitter.com/7wS1eV7H4Z — WordPress Granada – Organizing #WCGR24 (@WPGranada) October 23, 2019 Estamos de #Meetup Presentando #WCGranada a la comunidad de @WPGranada Recordando momenticos del año pasado y contando cositas de lo que pasará este año ☺️ pic.twitter.com/pC1iQWgp1M — Sacra Jáimez (@SacJaiRom) October 23, 2019 Por todo lo que te he contado, ya estás tardando en comprarte la entrada. Más información en el blog de Closemarketing --- ## Nueva versión 1.17 Plugin Visual Code WP Development ToolBox URL: https://davidperezgar.com/blog/desarrollo-web/nueva-version-1-17-plugin-visual-code-wp-development-toolbox/ Acabo de desarrollar una nueva versión para el plugin para Visual Code que te ayuda con más de 150 snippets a desarrollar en WordPress. La principal novedad ha sido incorporar Snippets para desarrollar **bloques de Gutenberg** con **MetaBox Blocks**, un plugin muy bueno que facilita mucho el desarrollo de variables personalizadas para una entrada, página o entrada personalizada. Estos han sido todos los snippets añadidos: gutrfontElimina la tipografía Noto que se cargue en parte públicagutaimUtilizas los nombres de imágenes registrados en Gutenberg.wmfupFiltra los tipos Myme permitidos en multisitegutasaAñade los estilos Ancho amplio y completo en Gutenberg.sttimDefine los tamaños de imagen para el tema StorefrontmebabRegistra un nuevo bloque (recomendado en mu-plugins)mebatCrea el PHP de la plantilla del bloquemebasCrea el estilo del bloque Con casi 3.000 instalaciones activas, estoy muy orgulloso del resultado que está teniendo esta extensión y de cuantos desarrolladores está ayudando. Descárgatelo en VSCODE --- ## Hablamos de la WordCamp Granada en el podcast desarrollo web Freelandev URL: https://davidperezgar.com/blog/comunidad-wordpress/hablamos-wordcamp-granada-enpodcast-desarrollo-web-freelandev/ Nos invitaron a su podcast Esther Solá y Nahuai Badiola, y nos dieron la oportunidad de hablar de la WordCamp Granada. Darles las gracias por la oportunidad. --- ## Nos colamos con la WordCamp Granada en el podcast premium de Sabandijers URL: https://davidperezgar.com/blog/comunidad-wordpress/nos-colamos-wordcamp-granada-podcast-sabandijers/ El pasado lunes, nos entrevistó a Jesús y a mí, los amigos Alvaro Sánchez y David Moral, en su podcast Quédate con el cambio, sabandija asquerosa, acerca de la WordCamp Granada. Acerca del programa, ponentes, días (29-30 Noviembre y 1 de Diciembre). El podcast os lo recomiendo, yo lo sigo bastante, y aprenderás sobre todo, sobre SEO, pero también sobre marketing online. Aquí tenéis el audio, pero os animo a seguir su podcast por cualquier canal favorito Web del podcast --- ## Comandos SSH que utilizo para administrar Servidores Web URL: https://davidperezgar.com/blog/desarrollo-web/comandos-ssh-servidores-web/ Yo no soy administrador de sistemas, pero en estos años siempre he gestionado servidores y lo que más he hecho ha sido **migraciones manuales**, que básicamente ha sido mover archivos, base de datos y emails entre diferentes servidores. Por eso, me he ido aglutinando de comandos SSH que utilizo al gestionar un servidor, que es la manera más rápida porque al utilizar comandos puedes comprimir y descargar una web en muy poco tiempo. Esta **guía no será estática**, sino que la mantendré actualizada según vaya necesitando. Configuración Servidor **Copyuname -a lsb_release -s -d Comprimir directorio ZIP Copyzip -r filename.zip foldername/ mv www.tar.gz www/ Descomprimir con ZIP Copyunzip filename.zip Copiar directorio Copycp -r public_html/ /public_html/beta/ scp -r wp-content beta/ Borrar directorio Copyrm -rfv directorio/ Descargar Copywget http://www.dominio.com/archivo.tar.gz Descomprimir archivo TAR Copytar -xvf file.tar.gz Cambiar el propietario de la carpeta/archivo de manera recursiva Copychown -R username:usergroup * Arreglar errores de permisos en la carpeta de la web Copyfind . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \; Importar BBDD gigante mediante ssh Copymysql -p -u user_db database < dump.sql Descargar WordPress e instalarlo Copywget --no-check-certificate http://wordpress.org/latest.zip tar -zvxf wordpress-latest.tar.gz mv ./wordpress/* ./ rm wordpress-latest.tar.gz rm -rfv wordpress chown -R ##:## * cd wp-content/ mkdir uploads/ chown -R apache:apache uploads/ Detección malware Copymaldet -a /home/domain/domains/ Tabla de contenidos Toggle - Ordenes de Mantenimiento - Gestión de usuarios - Gestión Archivos - Versiones ## Ordenes de Mantenimiento Reiniciar servidor Copyreboot Procesos abiertos Copytop ## Gestión de usuarios Copysudo passwd username ## Gestión Archivos Tamaño carpetas: Copydu -sh * Ver últimos archivos modificados (útil para detectar hack) Copyfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' ' Borrar archivos empezando por una cadena Copyfind . -type f -name foo\* -exec rm {} \; Encontrar PHP con la función mail Copy find . -name "*.php" -exec grep -l "mail(" {} \; Encontrar archivos php en uploads Copyfind . -name *.php ## Versiones 9 Octubre** – Actualizado el comando cp según indicaciones de Nilo Vélez. --- ## WordCamp Sevilla para Desarrolladores – Día 2 URL: https://davidperezgar.com/blog/comunidad-wordpress/2019-sevilla-desarrolladores-dia-2/ Siempre me gusta realizar unas notas de la WordCamp, para acordarme de los principales puntos de las charlas, y sobre todo de lo que he aprendido. La diferencia es que a partir de ahora, **las compartiré en mi blog personal**. Hoy ha sido el día principal de la WordCamp Sevilla. Las charlas que se realizaron en el - - - - - Tabla de contenidos Toggle - XDebug, el bastón blanco para los desarrolladores de WordPress ¿Qué es XDebug? - I can’t believe it’s CSS - WordPress en Alta Disponibilidad de AWS - Caso de estudio: implementación del rediseño de Newtral.es con versión AMP Retos - Análisis y Organización - Comunicación - Desarrollo - Getting more done in less time – introducing WordPress automation using Ansible - Querying posts by custom fields vs. taxonomy’s terms – is there a difference in performance? Petición sobre parámetros de valores meta - Petición sobre parámetros en taxonomía - Conviértete en Woo 3rd Party Developer y vende en WooCommerce.com - HTaccess es el mal - Git como estilo de vida - Zona Crítica: WordPress, el desarrollo y las buenas prácticas Precariedad – ¿Crees que de todos los sectores, el diseño gráfico es actualmente el más infravalorado? - Proceso de Diseño – ¿Proceso de diseño web en WordPress? ¿Hola? What the fuck bruh? - Pregunta Seria. Ya he comprado UN tema comercial, ¿ya puedo despedir a mi diseñador/a? - El desarrollo web con WordPress – ¿Qué más da div que span? -> Nilo Velez - Framework. Una de las ventajas de usar WordPress como Framework es la estandarización y documentación. ¿Te encuentras normalmente con esa realidad? ¿Y en los proyectos heredados qué? - Pregunta Seria. Los desarrolladores especializados en WordPress tiene menos nivel. - ¿WordPress es lentorro? Lo más optimizado es no tener una WordPress. - Pablo, tenemos que hablar. ¿Mejor una grande o muchas pequeñas? - Límites en WordPress. ¿Es imposible optimizar WordPress? - Pregunta seria. La eterna guerra, la eterna duda. ¿Cómo de cierto es que un pagebuilder o plantilla multipropósito se puede llegar a optimizar tanto como un desarrollo medida? - ¿Es necesaria una WordCamp para desarrolladores? - Mesa redonda: State of the Dev ¿Hace falta una WordCamp para desarrolladores? - ¿Qué comando olvidas normalmente? - Cómo ves WordPress como Headless - ¿Qué opinas de los Builders, Lockin y desarrollo de medida? - Gutenberg o Classic. ¿Porqué? - ¿Cómo veis WordPress 5 o 6 años? - Javier Casares: ¿qué opináis de las actualizaciones automáticas sin pedir permiso? - Luis Molina. ¿Porqué pensaban que dentro de 5 años todo va a estar en Javascript? - Mariano. Hay mucho egoismo en el desarrollo. Todo el mundo piensa que hace lo mejor. - ¿Qué tecnología aprenderías ahora? - Mauricio Gelves. No creen que react afectará a los desarrolladores PHP - Cierre – David Navia ## XDebug, el bastón blanco para los desarrolladores de WordPress Mauricio Gelves Formas de depurar código basada en impresiones. **var_dump,** no permite depurar bien los códigos. ### **¿Qué es XDebug?** - Es una extensión para PHP - Mejora la estática de info/error de PHP - Depurador paso a paso para IDE’s - Profiler: detector de <Bottlenecks> - Code coverage: qué se usa y qué no **.@maugelves nos explica qué es XDebug y como usarlo en nuestros proyectos #WCDevSevilla19 pic.twitter.com/yqIcZ9I7c3 — Joan Artés (@Joan_Artes) October 5, 2019 Nos demuestra en PHPStorm con XDebug Nos muestra que mejora la visibilidad de las variables, pero la interfaz XDebug es realmente el indicador para poder ir depurando el código, ya que permite parar en el código y saber qué variables se están mostrando. ## I can’t believe it’s CSS Marta Rey Barroso Nos ofrece ejemplos que podemos hacer con CSS y dejar de utilizar Javascript: - Desplegables animados con Iconos. - Menú hamburguesa, no es necesario Javascript. - Etiquetas flotantes - Pestañas - Slider o carousel - Slider o carousel interactivo - Círculos de progreso Todos los ejemplos en GitHub ## WordPress en Alta Disponibilidad de AWS Beltran Rueda Posibles opciones: - Máquina Virtual. Poco tráficoSitios estáticosAconsejable Varnish - Máquina Virtual + RDS. Copias seguridad automátidas - No mantenimiento de la BBDD - Diferentes zonas de disponibilidad - Alta Disponibilidad. Replicación Balanceo de carga Caché de BBDD Nos ofrece el esquema de un WordPress de Alta Disponibilidad** y que se puede montar en un Amazon AWS. La clave está para los componentes actualizados, está en tener separado lo que es el contenido persistente (datos) respecto a lo que se puede reemplazar como puede ser el resto de datos. Así el **mantenimiento mucho más fácil**, ya que reemplazas directamente el servidor y ya no importa tanto. ## Caso de estudio: implementación del rediseño de Newtral.es con versión AMP Núria Ramoneda Javier López del Río ### Retos - Entender bien los nuevos conceptos - Aplicar el diseño visualmente - preparar el contenido exitente - Crear un back-end cómodo y fácil - Versión AMP compleja ### Análisis y Organización Requisitos y análisis de toda la documentación con un diseño visual final. Se basaron en la funcionalidad especificada por el cliente y luego el diseño visual. Organización con 3 personas, una **específica de AMP.** ### Comunicación Fluidez y agilidad mediante canal Slack con Diseño, Cliente y Desarrollo, email y teléfono y reuniones semanales. Proceso migración: Copia base de datos, plugins innecesarios, regeneración de imágines. Ejecución de scripts para realizar cambios automáticos según necesidades. Pero final ### Desarrollo Herramientas: - BitBucket - Local Flywheel. - ITCSS + UIKIT - Visual Studio Code. Paquetes GitLens. Backend - Módulos con ACF - Campos con filtros en categorías y taxonomías - Creación de bloques de Gutenberg - Plantillas de archivos - Admin Columns PRO Plugins Backend - Admin columns pro - Admin menu editor - ACF Pro - Crop Thumbnails - Regenrate thumbnails - AMP for WP - Contact Form 7 - Flamingo - reSmush.it - Imsanity Frontend - Búsqueda de una estructura en dinámica. Fullpage.js - Animate-css-grid Github - Material de videos desde diferentes sitos Plyr. Arquitectura: - Performance - Google Chrome Dev Tools – Lighthouse - AMP - No sólo es instalar - El desarrollo AMP nos ha hecho que tengamos que crear una versión de la web. Resumen - Empezar con AMP y móvil - Comunicación fluida con el cliente - Control de versiones - Desarrollo de proceso de testing ## Getting more done in less time – introducing WordPress automation using Ansible Ivan Yordanov Ivanov ## Querying posts by custom fields vs. taxonomy’s terms – is there a difference in performance? Magdalena Paciorek Trata de demostrar las peticiones sobre valores meta o sobre taxonomías. ### Petición sobre parámetros de valores meta Si realizamos sólo con meta_value, la petición será mucho más lenta que si lo hacemos añadiendo el argumento meta_key. Debido a que meta_key realiza una indexación, y permite que mejore mucho la carga y eficiencia. ### Petición sobre parámetros en taxonomía ## Conviértete en Woo 3rd Party Developer y vende en WooCommerce.com ## HTaccess es el mal ## Git como estilo de vida Juan J. Merelo Guervós Git es un sistema de versiones encima. Sistema de eventos -> Gestor de flujos de trabajo configurable Imprescindible con GitHub, Bitbucket o Plantillas FTW: que permite crear plantillas de repositorio exactamente como la quieres. GitHub tiene una API > Eventos que causan acciones. Está programado en YAML. WP-git-hooks Vive tu Git ## Zona Crítica: WordPress, el desarrollo y las buenas prácticas JuanKa Díaz Dario BF Realización de Podcast en Directo en la propia WordCamp Sevilla. Diseño Gráfico ### Precariedad – ¿Crees que de todos los sectores, el diseño gráfico es actualmente el más infravalorado? Nora Ferreiros – Los Frontend están más infravalorados que el Diseño Gráfico Web. ### Proceso de Diseño – ¿Proceso de diseño web en WordPress? ¿Hola? What the fuck bruh? Cuando llega a la parte visual, no hace falta llegar a utilizar un ordenador, porque se deciden donde van los elementos. El proceso de diseño es ver donde van los elementos, y documentar todo el proceso en la web. JD- Tardar más en hacer una web, pero que esté bien pensada, es más seguro. ### Pregunta Seria. Ya he comprado UN tema comercial, ¿ya puedo despedir a mi diseñador/a? El diseño va más orientado a encontrar una solución a problemas sobre lo que queremos que haga el usuario en la web. El proceso de diseño no sólo se basa en la parte visual, sino también en ofrecer soluciones. ### El desarrollo web con WordPress – ¿Qué más da div que span? -> Nilo Velez Plugins – Con tantos plugins que existen, ¿tiene sentido el desarrollo a medida? Nilo Vélez: Depende. JD. Un plugin te crea una dependencia que habrá que terminar de valorar. «Cuando tomas decisiones, asumes responsabilidades». ### Framework. Una de las ventajas de usar WordPress como Framework es la estandarización y documentación. ¿Te encuentras normalmente con esa realidad? ¿Y en los proyectos heredados qué? NV. Hay que conocer más la plataforma y usar las funciones de WordPress para realizar una buena programación. JD. Si para hacer tu trabajo, tienes que hacer un Frankestein, mal vamos. ### Pregunta Seria. Los desarrolladores especializados en WordPress tiene menos nivel. NV. Para el 90% de los proyectos no hace falta inventar la rueda. Se hacen páginas web Laravel o codeignited que no son necesarias. WordPress es una solución sencilla y económica. WPO – Pablo López ### ¿WordPress es lentorro? Lo más optimizado es no tener una WordPress. ### Pablo, tenemos que hablar. ¿Mejor una grande o muchas pequeñas? PL. Mejor pequeñas que una grande. Tenemos un proyecto así ahora, cómo lo harías? Limitar todo al límite con muchos archivos y que se carguen de manera condicional. ### Límites en WordPress. ¿Es imposible optimizar WordPress? PL. Hay que saber cómo hacerlo para poder optimizar. JD. Recomendaciones básicas PL. Pensar por tí mismo. No sólo instalar un plugin. Afecta a muchas capas. ### Pregunta seria. La eterna guerra, la eterna duda. ¿Cómo de cierto es que un pagebuilder o plantilla multipropósito se puede llegar a optimizar tanto como un desarrollo medida? PL. Ciertamente no. Nunca podrás competir con un desarrollo a medida. Es una pena que no estén hoy día las personas que puedan debatir este tema. Si comparamos mismas condiciones, se podría optimizar. Pero no es lo mismo. Una ventaja es que podemos tener un desarrollo a medida es que controlamos todo. Hacer una web en tan poco tiempo, no sale un buen trabajo. ### ¿Es necesaria una WordCamp para desarrolladores? JD. Hemos estado en un evento de más de 200 personas, y el nivel de los detalles ha sido muy alto. Lo triste es dividir comunidades por un absurdo. DB. Los dos perfiles que se quieren construir, unos son necesarios respecto a otros. Trabajemos Juntos. ## Mesa redonda: State of the Dev Moderada Joan Artés. Cómo PHP y Javascript ha hecho que cambien mucho WordPress. 1/3 de los WordPress están corriendo en 5.x. Y no está soportado en seguridad. Gutenberg. Podremos pintar un WordPress. Tiene sentido los temas como los conocemos hoy día. Headless CMS. Componentes de la mesa: **David Perálvarez.** Desarrollador WordPress. Academia Online Silicon Valley. **Fran Torres.** Desarrollador WordPress. **Sonia Ruiz**. Desarrolladora Frontend. **Marta Torres**. Desarrolladora WordPress. **Joan Artés.** Frontend developer en Eurofirms. Mentor de WordCamps. ### ¿Hace falta una WordCamp para desarrolladores? DP. Hemos visto cosas de nivel muy alto que no hubieramos visto en una WordCamp habitual. FT. Una WordCamp es un evento de difusión de WordPress. SR. No entiendo este debate. Es interesante las WordCamps de nicho. MT. Sí. Los nichos son buenos para especializarte. Si a la gente le molesta, que se vaya a su casa. ### ¿Qué comando olvidas normalmente? DP. No hay que aprender nada de memoria. Tienes que entender las cosas y saber donde buscar. FT. Tengo una asociación de gente que olvida del WP_Query. SR. Me lío con el media-queries. MT. El width siempre me da que no sé. ### Cómo ves WordPress como Headless DP. Parece un buen futuro. FT. Lo veo fenomenal como WordPress sea un estándar de mercado. SR. Realmente es tirar un front con una API. Que sea independiente back de front. MT. Le veo futuro. ### ¿Qué opinas de los Builders, Lockin y desarrollo de medida? DP. Pues depende del presupuesto y del presupuesto. Pero también el desarrollo es un grado de lock-in o dependencia. FT. A mi me gusta trabajar con estándares. Dentro de las posibilidades, reducir el lock-in que genera. Gutenberg ha hecho mucho bien. Intentar avanzar a un mundo con menos Lockin SR. No veo el debate. Que sea libre y accesible para todos. MT. Niveles de Lockin. WordPress también es Lockin. Los builders están bien para usuarios que no son profesionales. ### Gutenberg o Classic. ¿Porqué? DP. Yo más Gutenberg. Estábamos con miedo, pero no ha roto páginas. Ahora da miedo el editor clásico. FT. Los Peces son como la comunidad de WordPress. SR. Gutenberg Sí porque tiene react y punto. MT. No soy fan de Gutenberg, porque está muy verde. Lo he usado muy poco. ### ¿Cómo veis WordPress 5 o 6 años? DP. No creo que va a cambiar tanto. Va a ir a Javascript. FT. La evolución ha sido a un editor mejor. No cree que vaya a cambiar mucho la estructura, pero sí mucho la forma. SR. No cambiará todo pero mejorará la forma. MT. No cree que cambie muchos las cosas. Nos tocará aprender mucho Javascript. ### Javier Casares: ¿qué opináis de las actualizaciones automáticas sin pedir permiso? FT. Sin avisar está feo, pero también tener WordPress 3.5 está feo. MT. Es complicado. ### Luis Molina. ¿Porqué pensaban que dentro de 5 años todo va a estar en Javascript? DR. Javascript está siendo puntero en todos los estilos. No lo ve tan dependiente del lenguaje. Las tecnologías Headless, hacen que aparezcan proyectos interesantes como Frontity, Gatsby, … ### Mariano. Hay mucho egoismo en el desarrollo. Todo el mundo piensa que hace lo mejor. FT. Al final es la zona de confort. Hay que tratar de reducir el ego. MT. Va en la persona. Todos los desarrolladores tenemos un ego muy grande. No hay que forzar una tecnología porque fuerces. JA. Cada proyecto tiene un CMS. Es divertido para un MeetUp. ### ¿Qué tecnología aprenderías ahora? DP. Javascript y React. FT. Como respuesta rápida React. Rewrite API, ¿Alguien sabe usarlo? SR. Cómo hacer bloques para gutenberg y profundizar en la API. MT. React también. ### Mauricio Gelves. No creen que react afectará a los desarrolladores PHP DP. Requiere un esfuerzo para todos, y dejará de lado a todos. FT. Hace muchos años PHP era muy importante, pero el mundo es cambiante. SR. Reflexión James Simmons sobre materiales y herramientas. Hay que aprender los fundamentos de un lenguaje (materia), y luego aprender herramientas porque es más probable que cambien. MT. Saber sobre tecnología y los fundamentos de programación. ## Cierre – David Navia Los números - 6 meses + 30 reuniones - 2 Tableros + 300 tarjetas creads - +30k visitas en Web - +400k impresiones en Twitter - 2381 por lo menos emails gestionados por Mariano - 28 propuestas de talleres y 58 de charlas - 9 talleres y 9 charlas, 1 zona crítica y 1 mesa redonda - 29 patrocinadores - Patrocinadores: WooCommerce, Dinahosting, go:hub, Jetpack y OpenWebinars - Sorteo Dinahosting, Sorteo Siteground - 4 servicios de café - 1 servicio de picnic - WordPress for Kids: 5 mini-wordpressers - 8 fila cero, 256 asistentes, 16 voluntarios, 9 organizadores - After party: en cuanto queramos -> Iguana - 1 contributor day -> Espacio Magma - Una WordCamp no se acaba hasta que escribes sobre ella. --- ## WordCamp Sevilla para desarrolladores – Día 1 Talleres URL: https://davidperezgar.com/blog/comunidad-wordpress/2019-sevilla-desarrolladores-dia-1/ El pasado viernes 4 de Octubre fue el primer día de la WordCamp de Sevilla dedicada a los desarrolladores. Una cita imprescindible para todo desarrollador. Y esta **entrada me sirve de recordatorio / resumen** de todo lo que pude ver. - * - Hubo tres salas y tres talleres de cada sala. A continuación son las anotaciones de las charlas que estuve Tabla de contenidos Toggle - Entiende y crea bloques de Gutenberg - Del caos a la excelencia: Refactorizando un plugin Paso a paso - Building an AMP compatible WordPress site (English) Introducción a AMP Framework - Democratización del rendimiento - Componentes Web - Utilizando AMP en WordPress - Taller - Encontrar complementos compatibles con AMP ## Entiende y crea bloques de Gutenberg **Nadia Prida** Nos explicó cómo está estructurado los bloques de Gutenberg, el nuevo editor de WordPress. Me llamó la atención que sin tener experiencia en WordPress se haya iniciado directamente a realizar bloques. ## Del caos a la excelencia:**Refactorizando un plugin Gorka Urrutia** Experimentado desarrollador, realiza su trabajo en Solvent. **Utilizar buenas prácticas:** - Conocer tu framework y sus buenas prácticas. - PHP Composer. - Pruebas automatizadas: Cypress, PHPUnit, etc. - Herramientas: Git, Docker, Jira / Trello / Asana. **Buenas prácticas, ¿para qué?** - Cuesta lo mismo hacerlo bien que mal - Un código limpio y claro se entiende mejor - Tu yo del futuro te lo agradecerá. - Hacer modificaciones es más fácil. ### Paso a paso - Entender el problema - Analizar código - No rompas más - Añadir test - Comenzar a refactorizar **Conocemos Cypress como herramienta de Test, que simula la acción de usuario para realizar tests atomatizados.*** **Revisamos errores más comunes:** - Nombres de variables y funciones confusos. - Notaciones diferentes. - Comentarios que no corresponden al código. - Usar constantes en vez de números. - Tener un único return en los métodos. **Principios SOLID** - Responsabilidad única. Que debe una función o clase tiene un sólo cometido. - Open / Closed - Sustitución de Liskov - Interface Segregation - Dependency Inversion Recomendaciones: - Instalar Cypress para los tests de usuario. - Instalar WP-Cli. - Instalar PHPUnit. ## Building an AMP compatible WordPress site (English) Felix Arntz ### Introducción a AMP Framework Se piensa que es para una versión muy sencillas páginas, pero no es así. Es la web creada directamente AMP. No tiene sentido ahora tener dos versiones de una web. AMP es un framework de componentes web fácil de crear Originalmente el nombre de AMP era webs aceleradas, y ahora no tiene sentido dicho nombre, pero se sigue nombrando AMP. ### Democratización del rendimiento - AMP es un proyecto abierto. - AMP tiene un modelo propio de gobernancia - AMP está hecho para web abiertas. ### Componentes Web Permite definir tus propias APIs para el navegador y utilizar tus propias etiquetas HTML, reutilizar y guardarlas. Hay muchos tipos. Porqué AMP es potente? Porque Javascript es tiene un gran coste en móviles. AMP no está basado en Javascript, está basado en HTML. Ejemplos: - **amp-analytics**: permite añadir la etiqueta de Google Analytics. - **amp-carousel**: Un carousel directamente sin necesidad de javascript. - **amp-image-lightbox**: al hacer clic en una imagen, se vuelve más grande. **AMP Validator** – https://validator.ampproject.org/ Permite validar tu código AMP y comprobar si es correcto. AMP se compone de: - Componentes Web - Validator - CDN & Caché Principios básicos de la Compatiblidad AMP: - Utiliza componentes AMP y declara atributos en vez de Javascript. - No puedes utilizar más de 50Kb de CSS por página. - Utiliza siempre componentes AMP para archivos media (Ej. amp-img en vez de img). - Tener formularios que envíen los datos con AJAX. - Siempre desarrolla teniendo en cuenta el móvil primero. ### Utilizando AMP en WordPress AMP plugin se preocupa de todas las piezas de tu web que necesitan interacción con AMP. **Todavía el ecosistema de plugins**, no está adaptado a AMP. Principales funcionalidaes - **Automatizar las partes más grandes del proceso** - **Proveer al desarrollador herramientas y guías** - **Monitorizar el desempeño de AMP.** Si aceptas los errores AMP, será válido, pero perderás la funcionalidad del plugin. Modos de plantilla: - Standard – La mejor plantilla, pero necesitarás conocimientos de desarrollo. - Transicional. - Lector. ### Taller Cogemos una versión de WordPress para ver las posibilidades de AMP. ### Encontrar complementos compatibles con AMP Es importante conocer componentes web compatibles con AMP para construir la funcionalidad que necesitas para tu web. Consejos - Usa un tema que sea compatible con AMP - En AMP Ecosystem puedes conocer qué plugins y temas están adaptados a AMP. Más información en amp.dev amp-wp.org Próximas versiones y qué será del futuro de AMP, lo encuentras en su roadmap. --- ## Mejora tu productividad instalando un gestor de portapapeles en Mac URL: https://davidperezgar.com/blog/herramientas/productividad-gestor-de-portapapeles-en-mac/ Con el tiempo voy seleccionando mis herramientas del día a día, y una de las fundamentales está la **gestión de portapapeles.** Hasta ahora había utilizado una App que sólo se dedica a este cometido Clipboard History, pero desde hace tiempo no se actualizaba y se había dado de baja de la tienda de aplicaciones Mac. **Ayuda a la productividad**, porque quita mucho tiempo de tener que estar buscando algo que ya habías visto, y si encima necesitas copiar y pegar varias veces en un documento o formulario, puedes copiar todos los campos que necesitas e ir pegando ya en el documento definitivo. Ahora he conocido la Aplicación open source Maccy App, que como ellos mismo dicen, se dedica sólo a una cosa: Gestión del portapapeles. Si tienes Mac, ¿a qué estas esperando?. Es fácil de instalar, tan sólo tienes que bajarte el archivo y moverlo a la carpeta de Aplicaciones. **Te recomiendo mi configuración**, que te hace más sencillo manejarlo. Ahora mismo no tiene menú de preferencias, por lo que tienes que hacerlo por el terminal Entra en el terminal, y escribe la siguiente linea: Copydefaults write org.p0deje.Maccy pasteByDefault true Que hace que cuando salga el menú contextual, y que cuando pulses en la opción se pegue directamente, ya que te quita un paso. Y la siguiente opción, te cambiará el atajo para que aparezca el menú contextual Comando + Mayúsculas + C, que yo lo utilizo para el inspector de Chrome, a uno más parecido al de pegar: Comando + Opción + V. Copydefaults write org.p0deje.Maccy hotKey command+option+v Luego necesitarás reiniciar la App, y listo! Maccy App disponible para descargar. --- ## Material Certificado Fundamentos Google Ads URL: https://davidperezgar.com/blog/publicidad-online/material-certificacion-fundamentos-google-ads/ Si quieres sacarte el **Certificado de Profesional Google Ads**, este es el paso obligatorio ya que necesitarás aprobar este examen y uno específico como video, móviles, display, o el específico de búsqueda. El material se compone de dos videos de aproximadamente 1h 16m y otro de 49 minutos, más una guía de estudio. https://www.youtube.com/watch?v=kqYmr04MgXs https://www.youtube.com/watch?v=JUDFyRz2i1U ## Guía de Estudio La guía de estudio oficial la tienes en el siguiente enlace, y se compone de sólo un módulo: Módulo 1: entender el valor de la publicidad online Pero por tanto, deberás realizar los **videos para poder aprobar el examen.** Con este material será suficiente para realizar el examen, que lo encontrarás en tu portal Google Academy. ¡Suerte! --- ## Material preparación Certificación Publicidad Búsquedas Google Ads URL: https://davidperezgar.com/blog/publicidad-online/material-preparacion-certificacion-publicidad-busquedas-google-ads/ Sí después de sacarte el examen de Fundamentos de Google Ads, quieres conseguir el certificado personal, necesitarás un examen específico, y en este caso el de búsquedas. El material de estudio comprende los siguientes temas: Guía de estudio de la evaluación de Publicidad en Búsquedas**Información sobre la evaluación de Publicidad en BúsquedasMódulo 1: Visión general de la Publicidad en BúsquedasMódulo 2: Configurar una campaña de la Red de BúsquedaMódulo 2.1: Mostrar anunciosMódulo 2.2: Determinar la puja y el presupuestoMódulo 2.3: Administrar una campaña de la Red de BúsquedaMódulo 3: Medir la campaña de la Red de BúsquedaMódulo 3.1: Supervisar la campaña de la Red de BúsquedaMódulo 3.2: Optimizar una campaña de la Red de Búsqueda Para prepararte, el material oficial que facilita Google, **lo puedes encontrar aquí. Por un lado son los videos del canal oficial de **Google para tu negocio.** https://www.youtube.com/watch?v=JprMiyXucuY https://www.youtube.com/watch?v=QTfcm_9GIDM Y además la guía de estudio, que encontrarás en la siguiente página. Yo he realizado un libro electrónico para poder estudiar tranquilamente que podrás encontrar a continuación. Libro electrónico Y ya estarías preparado para realizar el examen de !Certificación específica de Búsquedas! --- ## Material Preparación Certificación Google Ads Video URL: https://davidperezgar.com/blog/publicidad-online/material-preparacion-certificacion-google-ads-video/ Si ya has aprobado el examen de **Fundamentos de Google Ads**, y quieres conseguir la certificación de profesional de Google Ads, tendrás que realizar un examen específico, y de aquí el material para conseguir la **Certificación de Google Ads Video**. El material se compone de dos videos de aproximadamente 30 minutos y una guía de estudio. https://www.youtube.com/watch?v=tCUfiYUtHEE&t=58s https://www.youtube.com/watch?v=0ulKxG7g6Ko&t=396s ## Guía de Estudio La guía de estudio oficial la tienes en el siguiente enlace, y se compone de tres módulos: Módulo 1: Visión general sobre la publicidad en vídeoMódulo 2: Creación y administración de campañasMódulo 3: Medición del rendimiento y optimización Para poder estudiarla, yo la he compilado en un libro electrónico en formato epub y mobi, y lo puedes descargar a continuación: Libro electrónico guía estudio google ads video Con este material será suficiente para realizar el examen, que lo encontrarás en tu portal Google Academy. ¡Suerte! --- ## Material de Preparación Examen Google Shopping URL: https://davidperezgar.com/blog/publicidad-online/material-preparacion-examen-google-shopping/ Si estás preparando o renovando el examen de Google Ads Shopping, te recomiendo que lo hagas con el material que facilita oficialmente Google. Para facilitarte un poco las cosas, y porque me ha tocado a mí, te comparto todo el material tanto de video como de texto, que también he creado en libro descargable. **Módulo 1: Visión general del funcionamiento de los Anuncios de ficha de producto** **Módulo 2: Creación de una cuenta de Google Merchant Center** **Módulo 3: Creación de un feed de datos de producto** **Módulo 4: Creación de campañas de Shopping en AdWords** ## Videos para preparar el examen Google Shopping https://www.youtube.com/watch?v=TG-VhRzx_SA https://www.youtube.com/watch?v=2fEtjDCK5tA ## Material en Libro electrónico Pero además, tendrás que estudiarte el material de la **Guía de Estudio de Google**, que he descargado y creado un libro electrónico para poder bajártelo. DESCARGA LIBRO ELECTRÓNICO EPUB O KINDLE --- ## Coordinando la próxima WordCamp Granada 2019 URL: https://davidperezgar.com/blog/eventos/coordinando-wordcamp-granada/ Para aquellos que no conozcáis lo que es una WordCamp, comentaros que es un encuentro de **profesionales de Internet** en torno a una plataforma común WordPress, **donde se componen de dos días**: 1 día dedicado a Charlas con ponentes de gran relevancia nacional e internacional, y otro día para contribuir a WordPress de diferentes formas: traducciones, diseño, marketing, plugins, temas, soporte, etc. Este evento, se consigue gracias a la **Fundación WordPress**, que vela por la organización, presupuesto y supervisión según estipulado por sus miembros. **Desde mi punto de vista**, tener la oportunidad de traer este evento tan importante a Granada, **nos pone en el mapa**, y nos hace mas visibles a las empresas y profesionales en **España**. Después de la anterior WordCamp Granada, liderada por Fran Torres, en la que fuí responsable de la gestión del sitio y patrocinios, nos quedamos con las ganas de **organizar la siguiente**, y junto con el equipo que hubo más nuevas incorporaciones, hace posible que este año también repitamos. Gracias a la experiencia de la anterior, **me he planteado junto con el equipo, hacer varias cosas diferentes**: - **Intentar que los dos días fueran en el mismo sitio**, siempre que el presupuesto lo permitiera. Creo que ayudará a situar mejor a los asistentes. - **Equipo más nutrido** y con tareas más planificadas, de manera que no estresáramos al equipo (aunque el último mes, será todo complicado). Porque no debemos olvidar que **este trabajo es voluntario.** - Que la **página de inicio presentara lo que es una WordCamp**, ahí Lorena, está haciendo un excepcional trabajo. - Hacer** una WordCamp más grande**. El año pasado se vendieron 297 entradas y se acabaron un mes antes, con peticiones para ampliarla más. ¿Porqué no hacerla más grande? - **Conseguir un sitio de cena de Ponentes**, cerca de la Alhambra. El año pasado, se quedaron atónitos con el **Carmen de la Victoria.** Tabla de contenidos Toggle - Hacer una WordCamp más grande - Un gran equipo Jesús Yesares - Sacra Jáimez - Antonio Martínez - Lolo Marchal - Fran Torres - Antonio Cantero - Lorena - Miguel Ángel Pérez - Cecilia Pastorino - Jesús Nuño - Anabel Sánchez - Roberto Gallego - Podcast De Camino a la WordCamp ## Hacer una WordCamp más grande En la anterior WordCamp, se alcanzó la **cantidad de 290 personas que asistieron**, de ellos, 30 ponentes y 34 voluntarios. Y se vendieron todas las entradas 1 mes antes, por lo que **animé a involucrar al equipo para llegar a 400 personas**. Es una gran cifra, pero posiblemente seremos capaces de ello. Para este año también hemos contado con el **Palacio de Congresos de Granada,** y la sala **Manuel de Falla**. ## Un gran equipo Y a continuación os presento el gran equipo que hemos podido formar. Son 13 personas para que todo esto sea posible y podamos llevar de una manera más o menos regular. Porque no **olvidemos, este evento está organizado por voluntarios.** ### Jesús Yesares Coordinador del Equipo de contenido Twitter ### Sacra Jáimez Coordinadora de Voluntarios y Equipo de contenido Twitter ### Antonio Martínez Coordinador de Catering Twitter ### Lolo Marchal Responsable de Patrocinadores Twitter ### Fran Torres Coordinación de Programa y Ponentes Twitter ### Antonio Cantero Desarrollo Web y Frontend Twitter ### Lorena Diseño Gráfico Web Twitter ### Miguel Ángel Pérez Coordinador Catering y Equipo de Contenido Twitter ### Cecilia Pastorino Diseño Gráfico ### Jesús Nuño Equipo de contenido Twitter ### Anabel Sánchez Community Manager Twitter ### Roberto Gallego Content team Twitter Estoy contento **con el gran equipo que hemos formado**. Creo que vamos a hacer un gran trabajo y una excepcional WordCamp. ## Podcast De Camino a la WordCamp Y finalmente hemos tenido la iniciativa Jesús y yo ir contando cómo vamos organizando esta WordCamp a través de un podcast. Os animo a que escuchéis el último capítulo, que entrevistamos a Pablo Moratinos y Juan Hernando. --- ## Redireccionar dominio completo manteniendo url de las páginas URL: https://davidperezgar.com/blog/redireccionar-dominio-completo/ Hay veces que te interesa cambiar el dominio de una página web, por diferentes motivos, y **te interesa además que el mismo contenido en el nuevo dominio**, necesitas hacer una redirección con reglas dinámicas. Si es así, hay que utilizar el siguiente código, guardándolo en la raíz de tu página web antigua con el nombre **.htaccess**. **Copy<IfModule mod_rewrite.c> RewriteEngine On redirectMatch 301 ^(.*)$ https://www.domain.com$1 </IfModule> Por supuesto tendrás que cambiar https://www.domain.com por tu web nueva, teniendo especial atención si la has puesto https y con o sin www**. Finalmente, realiza la comprobación tu mismo y también utiliza la herramienta http://www.redirect-checker.org/ para terminar de comprobar todo. Este código es sólo compatible para servidores Linux, que son la mayoría de ellos. --- ## Novedades Asana, Abril 2019 URL: https://davidperezgar.com/blog/gestion-proyectos/novedades-asana-abril-2019/ Asana, el conocido gestor de proyectos, ahora se actualiza a la última versión pasada de Abril, con las siguientes novedades. Tabla de contenidos Toggle - Cronograma por secciones - Miembros en Portafolio - Logros en la Búsqueda Avanzada - Nueva tecla de acceso directo para añadir secciones - Indicador de privacidad durante la creación de tareas en el móvil ## Cronograma por secciones Las secciones aparecen ahora en el cronograma, y además ahora también para tus proyectos resumen. Muy cómodo para poder clasificar bien las tareas de tu proyecto. ## Miembros en Portafolio **Portafolio**, la funcionalidad que recientemente ha añadido Asana para poder gestionar la evolución de los proyectos, ahora permite que puedas compartirlo con diferentes compañeros para que puedan ver el progreso ellos mismo. ## Logros en la Búsqueda Avanzada Los **logros** es una funcionalidad para darle más visibilidad a una tarea importante. Se creó hace poco y ahora con esta actualización, puedes filtrar los hitos de su búsqueda avanzada. Lo mejor de las búsquedas avanzadas es que puedes guardarlas, y puedes reutilizarlas como informe. Con lo que podrías tener un menú de búsqueda de Logros para tenerlos más directamente. ## Nueva tecla de acceso directo para añadir secciones Las secciones ahora en Asana, ya no Para crear rápidamente una sección en la vista Lista, utilice el acceso directo Tab+N para crear una nueva sección en la siguiente línea de tarea. ## Indicador de privacidad durante la creación de tareas en el móvil Al crear una tarea en la aplicación móvil, Asana te indicará la privacidad de dicha tarea, para saber si estás creando una tarea privada en **Mis tareas** o una tarea pública en un proyecto. Comunicado Oficial: Foro Asana --- ## Asana ahora permite notificaciones en el Navegador URL: https://davidperezgar.com/blog/gestion-proyectos/notificaciones-asana/ Sí utilizas Asana como gestión de tus proyectos, como lo hago yo, ahora acaba de incorporar una novedad interesante, y es que permite las notificaciones en el navegador. Ahora veremos los **ajustes de notificación** que te recomiendo en tu perfil. Estos ajustes los tienes en el botón de tu foto arriba a la derecha > Mis ajustes de perfil.. ## Desactivar ajustes por correo electrónico Si trabajas normalmente con Asana, te recomiendo totalmente que desactives las notificaciones por correo electrónico, ya que te llenarán tu bandeja de entrada cada vez que haya un movimiento con una tarea en el proyecto que estés presente. Está en la pestaña **Notificaciones por email** y que puedes ver que yo la tengo desactivada para todos mis espacios en los que trabajo: Así, no te llegarán a la bandeja, y que podrás en la pestaña: **Bandeja de Entrada.** ## Activar notificaciones Pero si veo útil que te aparezcan notificaciones de los elementos de la bandeja de entrada. que lo puedes ver a continuación. En estas notificaciones he detectado que **sólo se dan aquellas en las que hay una respuesta a un comentario o te añaden como seguidor en la tarea**. Sin embargo, la notificación de tareas finalizadas no las realiza. **Importante,** deberás tener una pestaña siempre activa de Asana para que aparezcan dichas notificaciones. --- ## Soy nuevo Embajador de Asana URL: https://davidperezgar.com/blog/formacion/soy-nuevo-embajador-asana/ El que me conoce profesionalmente, sabe que estoy entusiasmado **con la herramienta Asana como gestión de Proyectos.** He pasado por varias, y sin duda es la que más me gusta. ## Programa de cualificación para Embajadores Asana Han creado un nuevo programa como **Embajadores de Asana**, llamado **Asana Together**, en el que me inscribí hace varias semanas y ahora he terminado. Está basado en promover a profesionales que utilicen Asana y que quieran promoverlo. Sus ventajas como comentan son: - Establecerse como un experto de Asana. - Ser el primero en conocer los avances y novedades. - Conocer más gente que utilice Asana tanto online como en persona. Al final, nos dan un certificado cuando apruebas el examen, que **así acredita que puedes ser Asana Ambassador.** Certificado oficial en Skilljar En definitiva, creo que era útil y por eso lo he realizado. A ver qué tal se da. --- ## Rutina para actualizar los pesos de la tienda WooCommerce URL: https://davidperezgar.com/blog/desarrollo-web/rutina-woocommerce-actualizar-pesos/ Esta rutina detecta los productos que tengan como peso 0, y les añade un valor por defecto. Crea un archivo php en el raíz de tu instalación WordPress, con la información a continuación, y personaliza el valor del peso **$weight_final** para los productos, en la linea 9. **Copy<?php ini_set( 'memory_limit', '1024M' ); ini_set( 'max_execution_time', 600 ); define( 'WP_USE_THEMES', false ); require_once 'wp-load.php'; echo 'iniciado proceso.' . date( 'H:i:s', time() ) . '<br />'; $weight_final = '1000'; $posts_product = get_posts( 'posts_per_page=-1&post_type=product&fields=ids' ); if ( ! empty( $posts_product ) ) { foreach ( $posts_product as $productID ) { $product = wc_get_product( $productID ); $weight = get_post_meta( $productID, '_weight', true ); echo '---<br />'; echo 'PostID: ' . $productID . '<br/>'; echo 'Weight: ' . $weight . ' final:' . $weight_final . ' </br>'; if ( 0 == $weight ) { update_post_meta( $productID, '_weight', $weight_final ); } } } echo 'process finished.' . date( 'H:i:s', time() ) . '<br />'; Recuerda siempre hacer una copia de seguridad de tu instalación WordPress, antes de hacer cualquier cambio.** --- ## Ponencia WordCamp Madrid Olvídate del FTP: Mejora tu flujo de trabajo con Control de versiones y Git Push URL: https://davidperezgar.com/blog/charlas/olvidate-ftp/ Este artículo es el detalle de mi ponencia en la WordCamp Madrid 2019. A continuación os compartiré una guía sencilla para realizar despliegue de tus archivos de WordPress en un servidor directamente, sin necesidad de FTP. Tabla de contenidos Toggle - Vídeo de la ponencia en WordPress.TV - Diapositivas - Despliegue con Plesk Onyx y BitBucket 1. Crear repositorio - 2. Clonar en Local - 3. Crear Gitignore y primer push - 4. Configuración Git - 5. Clave SSH Plesk - 6. Añadir Clave SSH a Bitbucket - 7. Desplegando repositorio - 8. Configuración Webhook del repositorio - 9. Webhook de Plesk - 10. Configuración Webhook en Bitbucket - Despliegue con GIT FTP 1. Instalar GIT FTP en tu ordenador - 2. Configurar el repositorio con los datos de acceso al FTP - Despliegue en SiteGround y Git - Algunas reacciones en la WordCamp Madrid 2019 ## Vídeo de la ponencia en WordPress.TV ## Diapositivas Presentación en Keynote ## Despliegue con Plesk Onyx y BitBucket El proceso lo describiría en 10 pasos, para poder establecer **un flujo de despliegue en servidores Plesk** con un repositorio BitBucket (es parecido en GitHub). ### 1. Crear repositorio ### 2. Clonar en Local ### 3. Crear Gitignore y primer push Si vas a crear un repositorio para tu Web, te recomiendo que utilices este **.gitignore**, que está pensado para sólo tener en el repositorio la carpeta **/wp-content/mu-plugins** y la carpeta **/wp-content/themes/tu-tema-hijo/** Lo que tratamos es ignorar programaciones de terceros y sólo incluir las que realizamos para una web en WordPress. **Copy#Wordpress htaccess.txt index.php licencia.txt license.txt readme.html robots.txt wp-activate.php wp-blog-header.php wp-comments-post.php wp-cron.php wp-links-opml.php wp-load.php wp-login.php wp-mail.php wp-settings.php wp-signup.php wp-trackback.php xmlrpc.php .htaccess cache/ wp-cache-config.php advanced-cache.php dump.sql dump.zip wp-config-sample.php wp-config.php wp-admin/ wp-includes/ wp-content/uploads/ wp-content/themesBAK/ wp-content/languages/ wp-content/themes/genesis/ # Ignore docs files _gh_pages _site .ruby-version # Numerous always-ignore extensions *.diff *.err *.log *.orig *.rej *.swo *.swp *.vi *.zip *~ # OS or Editor folders ._* .cache .DS_Store .idea .project .settings .tmproj *.esproj *.sublime-project *.sublime-workspace nbproject Thumbs.db ### 4. Configuración Git ### 5. Clave SSH Plesk ### 6. Añadir Clave SSH a Bitbucket ### 7. Desplegando repositorio ### 8. Configuración Webhook del repositorio ### 9. Webhook de Plesk ### 10. Configuración Webhook en Bitbucket ## Despliegue con GIT FTP Puedes usar el servicio de GIT FTP en tu ordenador para poder realizar el despliegue de tus archivos una vez hayas hecho el subido (Push) los cambios al repositorio. Para configurar este flujo de trabajo, tendrías que seguir los siguientes pasos: ### 1. Instalar GIT FTP en tu ordenador Para instalar GIT FTP, te recomiendo este tutorial, que está bastante bien. ### 2. Configurar el repositorio con los datos de acceso al FTP Utiliza los siguientes comandos para configurar GIT: Copygit config git-ftp.url "ftp://ftp.example.net:21/public_html" git config git-ftp.user "ftp-user" git config git-ftp.password "secr3t" Esto permitirá vincular el acceso FTP para subir los archivos Si quieres ciertos archivos no se suban, puedes poner en el raíz del repositorio Copy.ftpquota .gitignore .git-ftp-ignore** Y con la orden** git ftp init** , y después cada vez **git ftp push**, podrás subir los cambios realizados en tu repositorio de WordPress ## Despliegue en SiteGround y Git Copyssh-keyscan -t rsa itm20.siteground.biz >> ~/.ssh/known_hosts cd ~/.ssh/ nano chmod 600 ssh-add -K ~/.ssh/ # Poner la frase privada que da SG-Git git clone ssh:// ## Algunas reacciones en la WordCamp Madrid 2019 Ayer no te lo llegué a decir, pero estoy enamorado de las diapositivas de tu presentación — Nilo Vélez – @nilo@wptoots.social 🐘 (@NiloVelez) April 7, 2019 🎮 Control de versiones con GitHub #WCMAD pic.twitter.com/D036U5CPJy — ❖ Javier Salinas (@lavideoteca) April 6, 2019 En Track B comienza Indiana Jones… ah no! Que es @davidperezmk y Olvídate del FTP 😂 #WCMAD pic.twitter.com/lk2TVYP6Oz — WordCamp Madrid (@WordCampMad) April 6, 2019 ¿Por qué trabajar en local? ¿Por qué usar el Control de Versiones? @davidperezmk #versioncontrol #Git #WordPress #WCMAD pic.twitter.com/sWWQRfaIEB — WordCamp Madrid (@WordCampMad) April 6, 2019 Me lo pones muy duro Deivid!!! 😂 — Pablo Moratinos (@pablomoratinos) April 6, 2019 ⁦@davidperezmk⁩ dándolo todo con #IndianaJones !! ⁦@WPGranada⁩ #WCMAD pic.twitter.com/dxWJ5zoL9s — Miguel Ángel Pérez 🇪🇸🇺🇦 (@CEOfamiliar) April 6, 2019 De control de versiones y git con @davidperezmk #WCMAD — Darío BF ¯(ツ)/¯ (@DarioBF) April 6, 2019 @davidperezmk nos cuenta cómo trabajar con git y WordPress #WCMAD pic.twitter.com/WzbZcGV9gM — Jesús Yesares García (@jesusyesares) April 6, 2019 Olvídate del fpt @davidperezmk @WPCartagena @maausk_ #wcmad pic.twitter.com/TjpBbM59Cv — Miriam Olivares (@Miriamb_olivare) April 6, 2019 @davidperezmk nos está hablando de las ventajas de trabajar en local con git 👏👏 #WCMAD pic.twitter.com/IYRK5zMneC — Fernando García Rebolledo (@fgrwebes) April 6, 2019 Mejora tu flujo de trabajo en #WordPress usando el control de versiones con @davidperezmk en #WCMAD pic.twitter.com/sN5Qg6t4yD — Antonio MSP 🦎 (@baron_dla_birra) April 6, 2019 Indiana Jones en acción! #gitpush #versioncontrol #WCMAD @davidperezmk https://t.co/hazxUSDcN9 — Sacra Jáimez (@SacJaiRom) April 6, 2019 gracias por tu charla , muy util @davidperezmk #WCMAD — VSdesigns (@VSondesign) April 6, 2019 --- ## WorkShop Monta tu Tienda Online en 30 minutos URL: https://davidperezgar.com/blog/charlas/workshop-monta-tu-tienda-online-en-30-minutos/ Si has tenido la ocasión de venir a la South Tech Week, y has venido a mi taller para poder montar una tienda online en 30 minutos, te comparto a continuación las diapositivas y principales conclusiones. https://www.slideshare.net/closemarketing/crea-tu-tienda-online-en-30-minutos Espero que te haya gustado. Ya puedes visualizar las diapositivas del taller “Crea tu Tienda Online en 30 minutos” de la #STW19 South Tech Weekhttps://t.co/oxgZnMbSpt — David Pérez 🇪🇸 – Organizing #WCGR24 (@davidperezmk) March 19, 2019 Nos movemos de la Sala Manuel de Falla al WorkShop “Crea tu tienda online en 30 minutos” en la sala Andalucia 1 con @davidperezmk pic.twitter.com/wKvku0M1c6 — Close·marketing (@closemarketing) March 19, 2019 --- ## Ponencia WordPress para Enterprises en South Tech Week ’19 URL: https://davidperezgar.com/blog/charlas/ponencia-wordpress-para-enterprises-en-south-tech-week-19/ Si estás viendo este artículo, puede ser que me hayas visto junto con Rocío Valdivia en la South Tech Week, el Foro de Tecnología Andaluz organizado por Palacio de Congresos y Unit4. ## ¿Cual ha sido nuestro objetivo para esta ponencia? - Dar a conocer la plataforma de WordPress como potente Framework. - Las bases por lo que hoy día WordPress es un proyecto consolidado. - Conocer proyectos punteros que utilizan WordPress. https://www.slideshare.net/DavidPerezGarcia3/wordpress-para-proyectos-enterprises Esperamos que os haya gustado, **te animo que hagas tus comentarios a continuación.** Algunos de los Tweets que se compartieron: La tarde la abren @rociovaldi y @davidperezmk hablando sobre @WordPress y su uso en las empresas #STW19 #TXDay #WordPress pic.twitter.com/4ULrOt7SbS — South Tech Week (@SouthTechWeek) March 19, 2019 #STW19 #GRANADA Rocío Valdivia nos cuenta cómo se organiza la comunidad de WordPress. pic.twitter.com/4zn462BUty — Aurora ♑️♐️♋️ (@rubitagraciosa) March 19, 2019 Hoy viendo a @davidperezmk y @rociovaldi en el #STW19. #Granada con la tecnología. pic.twitter.com/YEEurh9S9i — Jesús Yesares García (@jesusyesares) March 19, 2019 Ya preparado para la charla de #WordPress en la South Tech Week #STW19 con @rociovaldi pic.twitter.com/PqA5kZhflr — David Pérez 🇪🇸 – Organizing #WCGR24 (@davidperezmk) March 19, 2019 Es el momento de #WordPress en la @SouthTechWeek con @davidperezmk y @rociovaldi #STW19 #TXDay @wp_es pic.twitter.com/CWTLaMwke5 — Close·marketing (@closemarketing) March 19, 2019 #STW19 David Pérez nos cuenta algunas las ventajas de WordPress para empresas. pic.twitter.com/U1avHhmKrJ — Aurora ♑️♐️♋️ (@rubitagraciosa) March 19, 2019 #WordPress se cuela en la #STW19 con @rociovaldi y @davidperezmk. pic.twitter.com/qOtS2svm52 — WordPress Granada – Organizing #WCGR24 (@WPGranada) March 19, 2019 Ahora a ver a @rociovaldi en #STW19 pic.twitter.com/SWMPI3IhXm — Francisco Torres (@frantorres) March 19, 2019 --- ## Circuito Esquí de Fondo Sierra Nevada D. Andrés URL: https://davidperezgar.com/blog/sobre-mi/circuito-esqui-fondo-andres/ Hoy he tenido la **oportunidad de esquiar Fondo en Pradollano**, ya que habían pisado lo que está en proyecto para nombrar el «Circuito de Esquí de Fondo Andrés Pérez Prieto». Un equipo de veteranos está en conversaciones con Cetursa para que se nombre. **El esquí de fondo necesita un Circuito,** y más justificado cuando deportistas de Granada están **destacando en el panorama Nacional como Miguel Ángel Carvajal**, reciente Campeón de España Veteranos. Este **circuito rodea el Parking de Los Peñones en Pradollano**. En breve, haremos un artículo explicando la historia de este circuito en la web de Andrés Pérez. Pero ya tenemos fotos antiguas de cuando esquiábamos en la parte superior del Parking, donde echábamos la jornada de Esquí. Equipo de Competición del Club de Esquí la General 1993 en el Circuito** Ahora podemos ver como una parte se ha pisado ahora, aunque le falta una parte importante, la parte de arriba, que le suma 1Km aproximadamente. El trayecto del circuito en total**, aproximado es de 2,7 Km y rodea el Parking, además de tener una parte superior que recorre de punta a punta. Esperemos que Cetursa **apueste por el Esquí de Fondo**, y haga realidad el Circuito de Esquí de Fondo, el trayecto completo pisado de manera frecuente e incluso con nieve artificial. Andrés Pérez Prieto esquiando fondo en la Carretera de Borreguiles --- ## 2018: Resumen del Año URL: https://davidperezgar.com/blog/sobre-mi/resumen-ano-2018/ En lo personal, este año lo recordaré **siempre con la pérdida de mi Padre el 5 de Octubre**, fue totalmente inesperada y el Cáncer de Colon se lo llevó demasiado pronto. Se lo detectaron de forma tardía, después de una operación y una quimioterapia, este verano fue cuesta abajo su salud, y lo hemos perdido. Ha sido el año de Co-**Organizar la WordCamp Granada 2018**, un encuentro de profesionales de internet en torno a la herramienta líder como es **WordPress**, siendo la **tercera en España en dimensiones (300 asistentes)** después de Madrid y Barcelona, con la comunidad WordPress Granada. Un grupo que me ha sorprendido bastante, porque partiendo unas expectativas básicas de sólo aprender, **han salido proyectos interesantes como la candidatura de WordCamp Europe**, Socios para iniciativas internas y presentación en licitaciones a la Universidad de Granada. **Con los Jóvenes Empresarios de Granada**, AJE Granada, a pocos meses de la nueva directiva, tuvimos un reto importante, **Los Premios AJE Andalucía**, el evento donde autoridades y empresarios conocen la iniciativas que más le hacen triunfar en la comunidad. Aparte de los premios, más eventos en los que he participado: - **Networking Loja.** - **Gala de Verano.** - **Encuentro Empresarios de Juncaril-Asegra.** - **Gala de Navidad.** También participo en el **AMPA del Colegio Jesuitinas**, del que soy tesorero. Como principal medida realicé una Web Membership para poder gestionar las cuotas de los asociados, Ingresar cada céntimo en la cuenta bancaria (esto ayuda a mejorar la transparencia de mi gestión), y trabajar todos las compras con transferencias y tarjeta de la Asociación. Este año hemos organizado tres fiestas: Cruces de Mayo, Fin de Curso y Fiesta de Navidad. Todas han generado beneficios que luego hemos revertido en la subvención de actividades y pago de un Auxiliar de Inglés para todas las clases. Tabla de contenidos Toggle - Lo que espero para el 2019… Propósito Principal: #YoCorroConAndres - Enfocarme a Sistemas y no a objetivos - Candidatura WordCamp Europe Granada 2020 - Participar en Charlas: WordCamps y Empresarios - Enfocarme más al Marketing ## Lo que espero para el 2019… ### Propósito Principal: #YoCorroConAndres Cómo estamos organizando una Carrera Memorial, me he propuesto ir a una o dos carreras al mes, para aprender qué elementos tiene una carrera como Patrocinadores, bolsa del corredor, trayectos, señalización, animación, .. etc, qué podríamos hacer diferente, y ya de paso recordar a mi Padre en cada carrera. He creado una página web www.andresperezprieto.es, que sirva de **Memorial** y también para dar información de la carrera, así como los hitos que podamos ir consiguiendo. Para estar al día de las carreras, he creado un calendario de carreras en el que pondré todas las pruebas de Granada. ### Enfocarme a Sistemas y no a objetivos Gracias a que estoy siguiendo el podcast Savandijers, por recomendación de Jesús Yesares, en el que recomendaban el libro «Cómo Fracasar En Casi Todo Y Aun Así Triunfar» de Scott Adams y me recuerda al libro del Mago Moore que ya leí, me está gustando mucho. Básicamente su planteamiento es **no utilizar metas, ya que nos crea un estado de insatisfacción constante,** ya que antes te sentirás desanimado si no lo consigues, y al conseguirlo querrás crear otra meta mayor, con lo que vuelves al ciclo constante. ** Para nuestro propósito diremos que una meta es un objetivo específico que usted alcanzará o no en el futuro. Un sistema es algo que hace regularmente y que aumenta sus probabilidades de ser feliz a largo plazo**. Si usted hace algo todos los días, es un sistema. Si espera conseguir algo en un momento futuro, es una meta. *Adams, Scott. Cómo fracasar en casi todo y aun así triunfar* Por tanto como sistemas que me voy a imponer este año: - **Hacer deporte 4 días a la semana.** Intentando que la mayor parte sea correr. - **Leer un libro** antes de acostarme entre semana, por poco que sea. - **Reservar los fines de semana** algo de tiempo para proyectos personales: blog, carrera o WordPress. - **Formación online** un día a la semana. Algún curso de boluda.com o de udemy. - **Apuntar la comida que como.** Esta me va a costar más, pero cuando lo he podido mantener un tiempo, he perdido peso. - **Ver Series en versión original. **Viendo mi siguiente proyecto, habrá que recordar un poco el inglés! - **Escribir y compartir regularmente en mi blog**, compartiendo actividades y conocimientos. Todavía no se me ocurre ninguno más, … iré viendo conforme los voy cumpliendo. ### Candidatura WordCamp Europe Granada 2020 En la pasada WordCamp Granada, me vine un poco arriba, y decidí involucrar a un equipo para presentar la candidatura al encuentro, esta vez en formato Europeo. Las dimensiones de este encuentro son gigantes, como que pueden participar entre 2.000 – 3.000 personas, y lo que conlleva en tres días, realizar las diferentes actividades: Día principal de Charlas, Fiesta ( para 1.200 personas), y el día del Contribuidor. Para ello ahora estamos un equipo de 7 personas que estamos preparando la candidatura para que sea elegida Granada. Esperemos que podamos conseguir este hito. ### Participar en Charlas: WordCamps y Empresarios Este año iré a la **WordCamp Europe de Berlín** como asistente, pero tengo pensado intentar **proponer charlas en diferentes WordCamps** de España de este año a ver si consigo que alguna me la acepten. ### Enfocarme más al Marketing Hasta ahora por necesidades de la empresa, mi trabajo se ha enfocado más al desarrollo, y ahora que tenemos un desarrollador web con tiempo en la empresa para acometer proyectos sólo, **me voy a enfocar más al Marketing Online**, gestionando y promoviendo también la **Publicidad Online**, gracias también a la **incorporación de Toni Vilchez** como ejecutivo de cuentas. *He seguido el ejemplo de **Juan Hernando**, y por eso he realizado mi resumen anual respecto a proyectos profesionales.* --- ## Resumen Gala de Navidad AJE 2018 URL: https://davidperezgar.com/blog/eventos/resumen-gala-navidad-aje-2018/ El **pasado miércoles 19 de Diciembre**, estuvimos en la **Gala de Navidad AJE 2018** en la que participo organizando dentro de la Junta Directiva de AJE Jóvenes Empresarios de Granada. La Gala estuvo patrocinada principalmente por Seat Vigilsa y Escuela Internacional de Gerencia, y presentada por Fran Viñuela. El mensaje utilizado fue **#letsmoveAJE**, con la idea de no quedarse quieto y moverse para mejorar todo lo que te rodea. La verdad es que para mí ese mensaje lo tengo muy adentro, nunca he parado desde que tengo uso de razón… ? Fran Viñuela – Presentador de la Gala de Navidad Creo que estuvo muy bien la presentación de Fran Viñuela, supo hacer chistes acertados y animar a la audiencia. La sensación en la Junta Directiva fue satisfactoria, por lo que creo que podríamos seguir con él para más Eventos que organicemos. Jose Antonio Martínez – Presidente Jóvenes Empresarios Granada** Jose Antonio Martínez**, nuestro Presidente hizo su presentación de la Gala. Creo que estuvo muy bien, **ya va teniendo más tablas en audiencias grandes**, e hizo énfasis en que aquel día fue uno de los más numerosos en cuanto a participación, por lo que estamos contentos con el resultado. Él se «crió» en la Escuela de Gerencia, y recordó lo que es importante para él y también para la Junta, **la formación.** También se comentó como AJE quiere ser la **unión** entre diferentes participantes de la sociedad, como puede ser la Universidad de Granada, u otras Escuelas Empresariales. **Queremos ser NEXO DE UNIÓN** entre las empresas y los jóvenes en formación con intereses empresariales. Jose Antonio Martínez – Presidente AJE Granada Y otro mensaje de lo que tenemos que ser partícipes los **Jóvenes Empresarios de Granada**, es mejorar **la imagen que se tiene del empresario**. **Queremos hacer gente de Empresa**** No todo el mundo tiene que ser empresario o empresaria, eso ya lo sabemos. Pero SI** es necesario crecer sabiendo que nuestro desarrollo como sociedad está ligado **SI O SI** al nivel de nuestras empresas, al nivel de los profesionales que las lideran o de los que trabajan en ellas. **ES URGENTE que invirtamos de una vez por todas en crear gente de empresa. **Esto tiene que estar en las aulas. Debemos ser capaces de transmitir valores como:** LA IMPLICACION EL LIDERAZGO O EL TRABAJO EN EQUIPO Jose Antonio Martínez – Presidente AJE Granada Tabla de contenidos Toggle - AJE Granada traerá las Fuckup Nights - Preguntando a Koel… - Resumen Granada Digital - Felicitación Navidad de AJE Granada ## AJE Granada traerá las Fuckup Nights Como consecuencia de no sólo hablar de los éxitos sino también de los fracasos como forma de aprendizaje de lo que no se tiene que hacer. https://fuckupnights.com/ Teresa Gil – Gerente Vigilsa Gracias al patrocinio de la Gala Navidad AJE 2018**, Seat Vigilsa tuvo un lugar, y se presentó el Seat Tarraco, además de presentar al Grupo Vigilsa y sus principales hitos: - Presentacion oficial marca Cupra - 2018 los mejores resultados de su historia - Seat Número uno en ranking de ventas de automóviles en España - Transición digital - Marca de Vehículos seminuevos: DasWeltAuto Presentación iniciativa Super Sonrisas También conocimos la iniciativa de Super sonrisas, como parte de involucrarse en la **Responsabilidad Social Corporativa.** Nos contaron como un grupo de Empresarios se ha involucrado con la Ayuda a la Asociación ALFA, niños desfavorecidos que ya para ellos **es un regalo recibir zapatillas, un neceser, o lápices…** Carlos Castilla en Gala Navidad Jóvenes Empresarios Finalmente, Carlos Castilla, Director de la Escuela Internacional de Gerencia, nos abrió las puertas de la Escuela, para conocer un poco más de su visión en la escuela y sus programas formativos. **Somos capaces de hacer hombres de empresa Carlos Castilla en Gala Navidad Jóvenes Empresarios Su lema es Why not?**, y su significado, ¿porqué no afrontar la valentía de crear una empresa? ¿Porque no afrontar un reto? De sus alumnos, **35% acaban emprendiendo**, y creando una empresa con sus propios recursos. ## Preguntando a Koel… Carlos Castilla, también nos presentó al grupo Koel, un grupo granadino Indie (por lo menos es el estilo que creo yo) que emprende su iniciativa. Koel es reflejo de emprender un modelo negocio, y dirigirse a un público objetivo. Una empresa muy actual, y con muchos atributos de las empresas de ahora. **Pregunta: quiénes son vuestros clientes y cómo os dirigís a ellos** El proyecto empezó como un Hobbie con pretensiones de ser una empresa No tienen público no definido, pero si es joven **Pregunta: Que estáis haciendo para llegar a vuestro público** Crear movimiento generará movimiento Ser activos siempre **Pregunta: Donde vais a llegar** No hay techo **Reto a ver quien invertiría en ellos** Grupo Koel estuvo tocando al final de la Gala. Aquí tenéis su Web koel.es y Spotify David y Sacra con Jose Antonio Presidente AJE y Ana Vicepresidenta Equipo de Closemarketing que estuvo en la gala: Sacra, David y Toni. ## Resumen Granada Digital Os dejo a continuación un resumen que hizo Granada Digital. ## Felicitación Navidad de AJE Granada También tuvimos ocasión de grabar la Felicitación de Navidad. Espero que os guste. ?? --- ## Próxima Gala Navidad Jóvenes Empresarios Granada URL: https://davidperezgar.com/blog/eventos/gala-navidad-jovenes-empresarios-granada/ El próximo **Miércoles 19 de Diciembre a las 20h** en la **Escuela Internacional de Gerencia**, será la **Gala Navidad AJE**, una cena de Navidad donde los empresarios de Granada podremos disfrutar de un buen rato en en la Escuela de Gerencia. La Gala, **patrocinada por Vigilsa**, sigue siendo referente en Granada, además con el motivo que le hemos llamado **Let’s Move.** Os dejo con el Video resumen de la Gala del año pasado. ## Asociación Jóvenes Empresarios Granada La Asociación sigue con un buen ritmo, aunando a todos los jóvenes empresarios de granada con ganas de emprender y salir hacia adelante. Una asociación es útil **cuando participas en sus eventos y actividades**, ya que mejora tu visibilidad y puedes encontrar apoyos de **personas con parecidas circunstancias a la tuya.** Compra tu entrada Si **quieres relacionarte con Empresarios**, de una manera informal, que siempre veo más adecuada, ya que yo soy poco partidario de los Fast networking, porque en muy poco tiempo encuentras a empresarios que te ofrecen tus servicios, más que comprarlos. ## Un encuentro abierto a todos los empresarios de Granada Apúntate --- ## San Andrés y Carrera Noctura URL: https://davidperezgar.com/blog/eventos/san-andres-y-carrera-noctura/ Hoy es **San Andrés**, y hoy ha sido un día más para acordarme de mi Padre.  **Además pensando que hace más de un año Ganó el Gran Premio de Diputación de Deportes** en la categoría de veteranos. Una prueba que le exigió ganar las mejores puntuaciones de 10 pruebas de Maratón. Una tarea que a partir de **Septiembre se le hizo muy difícil,** en plena enfermedad, y la última le costó muchísimo esfuerzo. Un esfuerzo que siempre hemos pensado, que había sido demasiado, pero siempre en su pensamiento era correr y mejorar como deportista. Y yo hablaba con él, de que no era necesario correr tantas pruebas, que podía seguir corriendo de forma más relajada. Pero **el deporte le ha dado mucho en su vida, y por ello, no lo podía dejar.**  Fue tu última gran victoria y lo recordaré mucho como mi ejemplo de **superación** ante situaciones más complicadas. Yo tengo que agradecerle que me haya transmitido esa inquietud en mejorar y siempre trataré de mantener. ## Carrera Nocturna con camiseta dedicada Seguiremos recordándote, en la **próxima carrera Nocturna de Granada,** que querías correrla aunque fueras andando.  Para ello **familiares nos hemos animado a correrla**. Y para recordarle hemos pensado en una camiseta de color azul que era el que más le gustaba y con el lema: **#Yo corro con Andrés**. Creo que puede ser emotivo y por otro lado una forma más de recordarle. También te recuerdo que **seguimos trabajando en la Carrera Memorial de Andrés Pérez Prieto**, que esperamos se haga realidad el año que viene. --- ## Reunión con la Asociación Española contra el Cáncer URL: https://davidperezgar.com/blog/reuniones/reunion-asociacion-espanola-cancer/ Ayer me reuní con la Asociación contra el Cáncer para la organización de la carrera **Memorial Andrés Pérez Prieto**, para llegar a acuerdos para ser los beneficiarios de la próxima carrera. Tabla de contenidos Toggle - Sensibilizar a la población para la prevención del Cáncer de Colon rectal Muchos diagnósticos tardíos - Día Mundial Cancer de Colón Rectal 30 Marzo - Creación o gestión a través de un Club Deportivo - Posibles fechas ## Sensibilizar a la población para la prevención del Cáncer de Colon rectal Uno de los principales mensajes que me ha llegado, ha sido uno de los retos que tienen y es el sensibilizar a la población para prevenir el Cáncer de Colon.  Parece ser que hay un proyecto para hacer una campaña, igual que lo hace el Cáncer de Mama, para realizar **prueba de sangre oculta en heces**, que podría ayudar a **la detección temprana de esta enfermedad**, y que hubiera ayudado a mi padre Andrés, seguramente a que no hubiera sido tan virulenta. ### Muchos diagnósticos tardíos Según cancer.org el riesgo de padecer cáncer colorrectal en el transcurso de la vida es de aproximadamente 1 en 22 (4.49%) para los hombres y de 1 en 24 (4.15%) para las mujeres. Y según cancer.gov, es el cuarto cáncer en nuevos casos, pero es el **segundo en casos de mortalidad**, por encima de otros más conocidos como es el Cáncer de Mama.  **Si este Memorial puede ayudar a la concienciación, **por lo menos lo intentaremos. ## Día Mundial Cancer de Colón Rectal 30 Marzo Será una fecha importante, para transmitir el mensaje de concienciación, y que tendremos en cuenta para empezar la carrera. ## Creación o gestión a través de un Club Deportivo También me comentaron que se hace necesario la gestión de la carrera a través de un Club Deportivo. **Estamos viendo la mejor forma de hacerlo si crear uno nuevo, o trabajar con uno**, para poder facilitar la gestión de la carrera. ## Posibles fechas Estamos viendo la posibilidad de celebrarlo en Septiembre, **viendo fechas que no se solapen con otras carreras.** En breve sabremos algo. --- ## Charla con Estudiantes de Marketing Universidad de Granada URL: https://davidperezgar.com/blog/charla-con-estudiantes-de-marketing-universidad-de-granada/ Ayer estuvimos en la Facultad de Económicas, dando una charla a los estudiantes de Marketing, alumnos de Javier Delgado, contando Campañas de Marketing Online y Publicidad Online de Closemarketing. Dimos ejemplos de Campañas reales, cómo las creamos, objetivos de las mismas, y su ejecución. Fué **una experiencia muy agradable **ya que nos preguntaron las principales dudas que se les da a los estudiantes cómo hacemos Campañas Reales. **También dimos recomendaciones** para el mercado laboral como: crear su propio blog, sacarse el certificado de Google y hacer prácticas de Empresa… entre otras. Una lástima no haber hecho ninguna foto. --- ## I Foro de la Empresa Familiar de CajaSur URL: https://davidperezgar.com/blog/eventos/i-foro-de-la-empresa-familiar-de-cajasur/ Hoy he estado en el I Foro Organizado por AJE Granada junto con la Confederación Granadina de empresarios y Patrocinado por CajaSur. Me ha parecido muy interesante las vivencias que nos han dado de Anfrasa (mi compañera de Junta Ana Hernández) y de Limpiezas Las Nieves. Os recomiendo como siempre **Asociaros a AJE Granada.** Aquí tienes un resumen de todo lo que hemos visto en este foro. - - - - - - - --- ## CRO Práctico URL: https://davidperezgar.com/blog/formacion/cro-practico/ Por twitter me entero de que Ricardo Tayar comparte su Guía para la mejora de conversión profesional en una tienda online.  Lo prometido es deuda. Mi presentación de hoy en #eCommercesuccess podéis verla aquí íntegra: https://t.co/r6anXqvbq7 Gracias a @PrestaShop por invitarme a hablar en hoy en este evento. Ha sido un gran rato hablando de #CRO para #ecommerce. — Ricardo Tayar (@rtayar) November 19, 2018 https://www.slideshare.net/ricardotayar/cro-prctico-guia-accesible-para-la-mejora-de-conversin-en-ecommerce-y-negocios-digitales --- ## Organizando la Carrera Memorial de Andrés Pérez Prieto URL: https://davidperezgar.com/blog/eventos/organizando-una-carrera-memorial-de-andres-perez-prieto/ Ando ocupado también últimamente organizando una carrera memorial de mi Padre, que falleció el pasado 5 de Octubre, **junto con hermanos Inma y Andrés, y mis primos «Los Carvajales»**: Antonio Luis Carvajal, Miguel Ángel Carvajal, Carlos Carvajal y Esther Carvajal. La idea nació de un sentimiento de recuerdo por parte mía y por lo que me ha transmitido mucha gente cercana a él. Se fue de de sorpresa, y la gente **nos ha transmitido mucho cariño**, y como estaba muy relacionado con el deporte, pues que mejor que recordarlo con un **Memorial**. ## Carrera Solidaria Popular La idea de la Carrera es que sea **Solidaria Popular**. Esto quiere decir que todos los beneficios de la carrera irán destinados a una Asociación. En principio, la más **interesante para la causa**, es la de la Asociación Contra el Cáncer. ## Próxima página Web Cómo no podía ser de otra forma, estoy creando la Web en mi agencia, de la que será una web con toda su biografía, galería de fotos, notas de prensa. www.andresperezprieto.es Una web para el recuerdo y para poder también dejar mensajes de cariño. ## Hablando con instituciones Estamos hablando con diferentes instituciones de Granada, y por ahora hemos tenido muy buen recibimiento. Poco a poco iremos dándole forma a la carrera. Tenemos que presentar un proyecto de Carrera, para la próxima comisión que se publicará en Enero y pueda ser aprobada. **Seguiré contando conforme vayamos evolucionando…** --- ## Fotos de la WordCamp Granada de Pablo Moratinos URL: https://davidperezgar.com/blog/comunidad-wordpress/fotos-de-la-wordcamp-granada-de-pablo-moratinos/ Estoy pendiente de realizar mi artículo sobre la **WordCamp Granada**, pero os voy compartiendo fotos de compañeros como Pablo Moratinos que realizó y nos comparte --- ## ¡Hola Mundo! URL: https://davidperezgar.com/blog/hola-mundo/ Esta es mi primera entrada. Con esta entrada creo lo que se propone como una web personal en el que compartir vivencias a lo largo de mi jornada laboral.  También me gustaría que sirviera como espacio de reflexión, donde proponer mi visión de las cosas y cómo las afronto. --- ## Charla Iniciación a WordPress URL: https://davidperezgar.com/blog/charlas/charla-iniciacion-a-wordpress/ Charla realizada en la MeetUp de la comunidad de WordPress Granada el pasado febrero del 2018, como introducción al WordPress. ## Presentación de Iniciación a WordPress perfecto pues bueno todo muy bien producido bueno esto hace una idea de siempre que queremos puesto promover wordpress granada que se conozca cada vez más y bueno os puse un poquito en la mitad lo que vamos a hablar y yo creo que con la primera parte con que queráis con la primera parte lo siguiente más o menos convienen las diapositivas después son muy sencillas y muy gráficos entonces yo creo que la primera parte desde el concepto sí que creo que es lo más importante bueno cofundador del club marketing o una agencia de marketing online hacemos todos nuestros desarrollos marc en wordpress y bueno no nos ganamos la vida gracias a wordpress por eso pues también nos hemos logramos la plataforma intentamos promover y ayudar y dar más a la comunidad los básicos vamos que wordpress bueno wordpress si vemos en wikipedia es un sistema de gestión de contenido enfocado a la creación de cualquier tipo de página web esto yo creo que es antiguo la definición porque hoy día ya no y ahora lo vamos a ver no a wordpress no es un sistema de gestor de contenidos para páginas web es una de las opciones de hecho nació como sistemas contenidos para hacer blogs y antes la gente hacía un html y después ponía barra blog y metía un wordpress ahora hoy día ya con wordpress puede hacer la página entera y ahora vamos a ver todo lo que podemos hacer con ella por lo tanto aunque no muy buena pero ésta sería muy difícil un sistema de gestión de contenidos para creación de web aplicaciones móviles intranet y todo lo que redes sociales es decir en definitiva es el centro de muchas muchas muchas aplicaciones que se conectan y que vimos wordpress las puedes hacer por ejemplo aquí he puesto unas cuantas pero puede haber muchas más un erp un erp un sistema de gestión que lleva un sistema gestión contable financiero de empleados hay una iniciativa que se llama vpr puntocom que actualmente se convierte un wordpress en un gestor de una empresa pues como veis ya wordpress no sólo para crear página web y esto solo con utilizar la parte de papel es decir la parte interna ya tenemos un sistema de gestión de contenidos gratuitos luego evidentemente hay que adaptarlo a la empresa y todo eso pero ya tenemos la base sin ningún coste podemos también utilizarlo como un crm un crm un sistema de gestión de contactos que se utiliza para los comerciales para gestionar contactos contactos y y clientes y el mismo wordpress tiene plugins que hablaremos lo que son los plugins plugin que tiene en crm y a su vez el wordpress puede conectarse con crm que es lo que hace es que cuando tú estás en una página web y tú rellenos en fórmula contacto para páginas web que tienen mucho contacto se meten directamente en el crm y ahí ya se hace la gestión también puede servir para aplicaciones móviles en el que tú tiene una aplicación móvil y se puede coger los datos de la página web y entonces ya no hace falta digamos un gestor para la app sino que el wordpress también puede gestionar te la aplicación móvil y luego tenemos también wordpress como intranet es decir que para empresas medianas que utilizan un sistema de páginas web de foros y de tipo wikipedia en el que toda la documentación de formación y tú de eso con un usuario y contraseña para entrar a la plataforma pues pueden ver documentación formación de todo como veis ya no es una página web es un sistema entrena es completo social también con vivipress que es un plugin que le añade wordpress y ya tienes una red social tipo facebook como veis ya wordpress no es un sistema que atiende contenidos para página web esa es lo más habitual pero no sólo es con lo cual es un sistema muy versátil y que os recomiendo desde el minuto cero para cualquier proyecto que queráis hacer como el sistema de galería de fotos etcétera que he representado y wordpress podéis wordpress representa el 29,7 sobre todas las páginas web que hay en el mundo esto es un estudio gente detrás web stats y actualmente él representa el 20 17 y páginas que no tiene un gestor de contiene son un 50 es decir que lleva bajando hace unos años era un 70 ya va bajando y cada vez más utiliza más gestores de contenidos para crear páginas web que es lo más habitual es más sencillo vale y si esto sería sobre todo a las páginas web pero si si si cogiéramos el porcentaje sobre los gestores de contenidos vemos que el uso es mucho mayor es el 60,1 es decir de todas las páginas web que tiene el gestor de contenidos es decir de ese 50% de páginas web en total en el 60 lo hace con wordpress y el siguiente competidor es y un lado aunque yo empecé con giuliano pues es un 6,4 por ciento es decir que esto lo que quiere decir es para poner un poco referencia que estamos apostando sobre una plataforma sólida y que es consolidada y que se utiliza muchísimo y será por algo porque será por algo porque lo utilizan más de 2 billones calculados vale 2 billones de páginas web están corriendo en nuestros números 2 billones de páginas web están corriendo con wordpress con lo cual vamos a sobre seguros vale ahora yo daré a lo largo de toda la podés preguntar recomendaciones de buenos usos vale para empezar que aprovecho a preguntaros quién tiene una página web wordpress ya empezar ya sabe gestionar ha lamentado que la gracia no iba y hacemos preguntas pues como veis vosotros si tenéis wordpress y los que no tenéis wordpress es porque no tenéis o por qué así general no habéis puesto todavía muy bien vaya aprenda es perfecto pues mi idea es que con esta ponencia intenté por lo menos que podéis crear esa página web que os recomiendo tener vuestro propio blog personal o cualquier otra cosa cuando uno de los conceptos que pasa cuando tú te das tú tú llegas wordpress dice vengan voy a darme de alta y voy a empezar a hacer mi página web hay dos sistemas vale porque como referencia nosotros digamos que nosotros trabajamos con wordpress.org que quiere decir es la fundación que lleva lo que es todo lo que es el código los eventos todo está digamos abierto y código abierto y luego wordpress.com que es la empresa que está detrás que es la que promueve todo esto que es donde gana el dinero es en wordpress.com que es lo que te da que es propiedad automática propiedad automatic que es la empresa que está detrás de todo esto automática hace tiempo cedió la propiedad de todo wordpress wordpress.org de manera que no sé a los propietarios posibles es la empresa que lo promueve y por eso tiene mucha influencia sobre wordpress de hecho tiene bastante equipo trabajando solo para un wordpress.org daros cuenta un poco lo que entonces lo que hace es que es una simbiosis word automatic crear código para cuatro puntos ejes que a su vez lo utiliza para su empresa es decir wordpress.com que es es el wordpress.org pero en modo alojamiento y modo entre comillas one and one es decir que te lo deja ya todo preparado para que tú simplemente te des de alta y tú puedas pagando una cantidad al mes ya tenga el dominio en un sistema instalado de wordpress y puedas crear tu propia página web y todo esto entonces hombre para la inicial de primera tiene también una versión gratuita está muy bien porque no saben nada de hosting alojamiento ni quiere saber nada de dominio pues mira me voy a wordpress.com quiero mi cuenta y tengo mi dominio desde 4 euros condominios si pagas cuatro euros al mes tiene un dominio si no tienes un subdominio que sería por ejemplo granada punto punto wordpress.com mala entonces cuál es mi recomendación definitiva al final veréis que es la punto rege porque nosotros aquí es todo mucho más fácil te lo da mucho más hecho pero tiene una limitación de que no puedes crecer si quieres crecer para hacer más cosas tendrás que al final irte pero bueno como inicio no estaba mal y si quieres probar podéis crear vuestra cuenta os cuento un poquito las diferencias para que sepáis qué diferencia entre la puntocom y una punto org vale la punto org cómo eres tú el que entre comillas te lo comes te lo guisas tú no tienes ninguna limitación y os voy a enseñar cómo crear una cómo crear una página web como wordpress.org en tres pasos es muy sencillo entonces evidentemente tú el tema que tiene es el tema esa es la parte de diseño que da a la página web pues no tiene ninguna limitación hay gratuitos de pago en cambio wordpress.com pues hay una da una serie de temas gratuitos pero no pueden modificarlo son los que hay si tú le das y lo instala si quieres ya modificar el plan business y así te permite modificará esos temas y puedes cambiar los los plugins los plugins son módulos que tú le añades a ese wordpress como veíamos que podía ser una red social el plugin es una funcionalidad que tú le añades a tu relación wordpress puedes ponerle una tienda online una red social puede de todo puedes enseñar es más plugin que os recomendable en definitiva si tú tienes una instalación wordpress.org no tendrán ninguna limitación para estar el plugin que a ti te parezca tanto gratuitos como de pago y luego evidentemente en el cuerpo puntocom está limitado a que no se permite esto no puede estar las plugins hasta que pagas con el business como veis toda la alimentación va con el cuarto punto com y en el punto receptor sin límite alojamiento para alojamiento pues depende 6 gran artista de unos planes y hay planes muy económicos pues se pueden comprar cuatro euros mínimos al mes con tu dominio y ya tienes tu página web guapo punto que tiene una cuenta que es gratuita que es un subdominio y podéis también un caza sí sí claro puntocom sí punto org ahí sí hay plugins hay plugins hay plugins que tú pueda instalada en wordpress.org y exportar importar esa entrada tú puedes sí sí si en puntocom se sigue que si es que no me explicaba yo entonces entendí 26 correcto es ese como se hace por ninguno tú puedes de wordpress.com hay una opción que es exportar entradas como xml la exporta en una chiquito de keymare y luego tú te vas aquí a cuando tenga instalación wordpress.org que te voy a enseñar cómo se hace puedes importar entradas con un archivo de wordpress entonces lo importa y luego tendrías que el dominio apuntarlo de la word puntocom a la apuntó o regente 10 que trasladarlo al alojamiento que te va a dar servicio de wordpress.org más preguntas sí sí en la plantilla sí si se duplica aitor pero para ese punto como está limitado tú no puedes meter nada tienes que portar entrada y luego intentar como dice jesús lo que es el tema y los plugins intentar que los batanes seguro en punto eje materno no parece punto con no puedes no puedes si si si tu quieres cambiar dos puntos hereje de distintos sitios puede hacer sin problemas coge la base de datos coge los archivos y los mueve pero el punto con como no tiene acceso a nada sino que es solo spanair tienes que exportar la entrada como xml en una prueba no es un archivo xml que tiene todo y no importa tu instalación sí sí entonces pero no puedes el punto cuando te permite conectarse a la base de datos así como hemos dicho es parte del archivo gmail así que al final es lo mismo pero es más manual sí sí sí sí correcto si no la plantilla no si la plantilla puntocom en contra en puntos de seguros sí sí sí bueno pero bueno sí que se puede portar manualmente sí sí sí tenés dominios comprados 1 tienes que comprar una redirección sí sí te viene un poco dijiste te digo un poco de su tono una vez s sí sí el proceso sería exportar entrada y página de toda configuración al punto de rege muy bien por ahí atrás si te explico está limitado entonces contó con un nuevo ere je tú no tienes ningún límite puede instalar todo y poder estar las temas plugin en todo el punto con baja la limitación a partir de 25 euros al mes que eso tiene encuestas vamos que es bastante a partir de como te decía aquí en a partir del plan business aquí está precio amistad a partir del premio que te permite meter plugin es a partir del vino a partir de el coste se actúa a partir del business puedes tener funcionalidades parecidas a punto hereje pero un alojamiento sí porque los procesos mucho más económico un punto hereje porque tuvo un alojamiento para una página web la puedes tener por cuatro o cinco euros al mes sí correcto si sigues mi recomendación y a partir de hoy más sí sí eso también lo vamos a ver sí sí sí totalmente puntocom correcto sí sí sí sí correctos y eso para mí el punto con el puntocom el punto con 6 no no no junto con si lo desea claro que sí no sabéis es que estamos hablando distintas cosas wordpress.com y lo primero de todo es que vosotros tengáis vuestro dominio propio eso es si os lo digo lo primero es comprar un dominio ya sea en punto con punto ahora en punto org por qué porque si empezamos a esa página web y si queremos hacer un camino no pasa este hombre ya lleva seis meses trabajando y ahora va a cambiar va a tener que cambiar de dominio porque el subdominio no se lo pueda llevar y además nos da la misma imagen es como un negocio gmail.com no es lo mismo a que tú tengas tu propio negocio puntocom si cualquier cosa está control efectivamente sí sí sí pero que está muy pero que está muy bien el punto cómo está para eso para hacer pruebas para fuego seis incorrectos para los dos in the sun igual sí sí correcto pero las dos se posicionan sí sí bueno están en propio de dominio correcto por eso que nosotros podemos utilizar sin ninguna limitación el punto eje y podemos estelar plugins es por ejemplo el gratuito no permite los planes de pagos de wordpress punto consiste permite hacer cosas pero no demasiada en definitiva lo que estamos viendo es que muchas limitación que word pregunto cómo es para por eso para empezar para experimentar pero no lo recomiendo porque con lo que os voy a enseñar hoy el punto hereje muy fácil funciona luego en lo que es analítica pues nosotros en analíticas podemos meter este google analytics y cualquier otro otra opción siempre mejor google analytics porque luego con gwyneth y podemos tener otro tipo de estadísticas mucho más avanzada wordpress.com por ejemplo tiene una específica internas pero no permite vale tener one y team y tener otro sistema de estadísticas mantenimiento por mantenimiento de puntos eje las únicas circunstancias que el material de estudio propio aunque sobran cargue alguien que lo haga en puntocom ahí si tendremos una ventaja de que no hace falta porque lo hacen ellos mismos claro lo tienen tan limitados pues que al final todos esos sistemas se actualiza el solo y ellos les mete en la instalación vale lo actualizan y todo eso es la única ventaja que yo quería el puntocom luego tienda online no podemos por ejemplo te enseño que quieren montar una tienda online no puede hacerlo con puntocom tiene que hacerlo fuera es decir qué a puestos ha dicho hoy que no puedo meter un plugin de tienda online pues con reyes y no tienen ninguna habitación puedes meter a infinidad de plugin para tienda online el más recomendable cuco me vale por ejemplo members y 6 que son membresías cuando quieres cobrar al mes por estar en un grupo o por ejemplo tampoco puntocom te permite y con mes con punto de hereje pues tienes cualquier tipo de gu comer contempló google book o membership total tienen una serie de plugins que te dan esa funcionalidad que en punto con una tiene en definitiva punto con es para como de juguete es decir para aprender pasas cositas y ya está pero si queréis hacer como este señor un proyecto serio o medianamente queréis empezar el punto rege sí o sí y comprar el dominio de día a uno eso sí os lo recomiendo siempre tener una idea de algo comprar el primero de dominio porque cuanto más antiguas como el vino sea el mejor entonces pues desde hoy ya vaya a utilizar punto hereje bueno una cosa que pasa que hay mucha confusión al principio con wordpress es los tipos de contenidos dice esto bueno qué tipo de contenidos hay en wordpress pues hay página entrada y taxonomía que quiere decir las páginas son las vamos a dar ejemplo las páginas son páginas estáticas de información que no cambian que si siempre son las mismas por ejemplo lo más típico la página de contacto la página de contacto no va a volverse más antigua la página de servicios la página de aviso legal de mi estado de cuenta son páginas que no se mantiene siempre fijas siempre tienen la misma url y que la vamos a mantener estática podemos cambiar siempre el mismo el contenido podemos cambiar en todos pero en páginas siempre se establece la misma estructura luego están las entradas que son las entradas a entradas son las entradas del blog cuando por ejemplo tenemos un blog es una entrada es y ahora vamos a ir viendo se van caducando van por fechas se pueden clasificar por diferentes formas en definitivas son más movibles y lo más habituales en la entrada de blog y luego las taxonomías que esto es un concepto que la gente tampoco lo desconoce y estos son formas de agrupar entradas o páginas las personas son agrupaciones más agrupaciones formas de clasificar por ejemplo las gastronomías que vienen de base en wordpress con tu lo instalas por primera vez son las categorías y las etiquetas si os dais cuenta cuando hay una entrada nueva de los podéis mantener una categoría o una etiqueta mal pues este término se llama taxonomía es decir forma de organizar el tipo de contenido y ahora voy a dar otro ejemplo para que veáis el concepto más respecto son los tres conceptos que es y luego dentro del mismo wordpress podemos hacer entradas personalizadas y taxonomías personalizados y os voy a dar ejemplos para que veáis un poquito entonces en definitiva tenemos tres tipos de contenido en wordpress entrada página está astronomía yo voy a enseñar un poquito las características para que veáis y ya entendéis y con este concepto voy a ver muy claro porque cuando queráis una página web por primera vez no sabes dónde crear el contacto dónde va en la entrada o en la página entonces con esto vaya a saber perfectamente la página lo que decía son sus características son que son estáticas que tienen jerarquía vale que quiere decir jerarquía que tú puedes hacer que una dependa de otra para una página 1 página página 2 1 1 1 2 y entonces podemos tener por ejemplo servicios y aquí tenemos servicio 1 servicio 2 y aquí tenemos contactos y podemos hacer una jerarquía que evidentemente es infinita tú puedes poner los niveles que tú quieras o sea que de esta su página podremos a otras sus páginas para hacer otros objetos pero sólo puestos dos niveles porque es lo recomendado vale y no es más de dos niveles entonces que sea un tema excepcional no tiene sentido por más que todo porque tenés que hacer clic para llegar a ella bueno y permiten plantillas que ahora veremos cómo funciona esto luego pues un sistema más aquí cogimos ejemplo que he hecho en mi compañera susana almacenes para ccoo por ejemplo que a un sitio d de fontanería pues aquí como veis servicios que sería preguntas haber alguien que conteste una página muy bien nosotros y blog pero el blog en sí esto que sería no no la tercera la astronomía una taxonomía vale aunque veáis un poco es el blog es una taxonomía que es una categoría que a su vez tiene aquí esto que son entradas son entradas y estos son taxonomía el blog porque dentro del blog podemos tener una subsección que sea construcción u otra subsección que sea vive ese arreglo domiciliado entonces tú haces entradas y las clasifica mal entonces como veis que en servicios tenemos una jerarquía tenemos dentro de jerarquía podemos tener fontanería aquí en por ejemplo hay mucho que ejemplo de tres de tres niveles pues tendríamos fontanería y dentro de fontanería tenemos productos de instalación mantenimiento y estas son páginas estáticas bueno porque vamos a empezar así tú a lo mejor puedes cambiar un servicio o puedes que ese servicio cambie algo pero tú es estático o sea depende de fontanería tú no va a cambiar más también depende como quiera organizar tu tipo de contenido porque tú según lo que tú vaya a hacer te puede venir bien una página o una entrada pero normalmente los servicios por ejemplo el típico caso de páginas de página estática mal como veis aquí hemos hecho otro ejemplo de las servicios y se puede aunque veis aquí representados que parecen son sus páginas nosotros podemos hacer que dentro de servicios muestre sus páginas vale que se dé a cada uno bueno y luego que son las las entradas y las taxonomías van muy relacionadas pues las prácticas son clasificaciones dinámicas lo más habitual es ordenar por fechas pero puedes clasificarlas como queráis para que como veis yo estoy en 18 92 esto lo ordenado por fecha vale y aquí está la entrada más más actualizada y aquí la más antigua pero esa es una clasificación que es la más habitual del blog pero podemos hacer clasificación a la que queramos vale por ejemplo podemos hacer una categoría que sea por ejemplo construcción entonces yo en la categoría de construcción pues tengo la entrada 7 la entrada 4 y la entrada 3 marc entonces cuando yo hago clic en la categoría construcción me van a salir esa entrada clasificadas y ya normalmente por fecha saldrán por fecha pero pero yo tengo esa clasificación mal entonces como veis las entradas son dinámicas y a través de unas características podemos llegar a ellas por ejemplo un ejemplo muy típico los productos de una tienda online que son páginas a la entrada entradas son entradas personalizadas entonces los productos tenemos categorías de productos tenemos etiquetas también y podemos incluso hacerles distintas clasificaciones vale entonces pues por ejemplo se puede hacer otra taxonomía que sea por tipología y por categorías tú puedes creer crear estas hormigas que tú quieras vale pero en definitiva van a clasificar una entrada vale que tiene que existir ya está de por si no existen de hecho por si existen si tú la creas pero cuando tú la edad te va a salir no hay entrada en esta categoría por defecto necesitan las categorías o las etiquetas necesitan una entrada para que aparezca mal y luego dentro de taxonomía vale que estamos que las más habituales son bueno las que vienen por defecto en wordpress son la categoría en la etiqueta pero podemos hacer un montón de categorías por ejemplo los productos tienen categoría de productos es una taxonomía diferente entonces qué diferencia hay entre categorías y etiquetas por la jerarquía categoría te permite tener jerarquía y las etiquetas no la etiquetas son movibles mal por aquí más o menos queda entendido una cosa importante y qué pasa siempre al principio errores básicos es criticar a mansalva cuando creáis una entrada empezar es muy importante que con google es que darnos cuenta que cada cosa que hacemos crea una página en sí una url y es súper importante que sea url tenga contenido entonces si yo por ejemplo por ejemplo vamos hacer ejemplo de granada la mitad de aquí si ahora pongo como etiqueta big pts no sé qué no sé cuánto pues creo día etiqueta y esa etiqueta ha creado 10 páginas y esas 10 páginas sólo tienen una entrada a decir qué si 7 penaliza la penalización no es que te mando un mensaje hoy está despenalizado no no es que no aparece entonces tener muchísimo cuidado que este es el típico error es creer en ti caerá más abajo y muchas veces las instalaciones que cogemos veo que tiene 200 etiquetas me las cargo enteras vale porque no sé no sé es que tú le des contenido a esas etiquetas si tú le damos contenido por ejemplo si en la web de granada la mitad vamos a hacer mucha más mitad de aquí en vic puede abrir una etiqueta que sería no sería una categoría si os dais cuenta ser una etiqueta pondría big y cuando entra la etiqueta vil yo pondría explicaría pues este es el sitio centro le daría un contenido a esa etiqueta y ya saldría en la entrada dentro de esa ya tendría sentido vale siempre damos cuenta que cualquier cosa que hace en wordpress tiene una url entonces hay que tener mucho cuidado porque eso crea una página y si creamos páginas sin contenido nos bloquean bueno no que no aparecemos los resultados de búsqueda por contenido duplicado y como veis las etiquetas son muy movibles las podemos asignar a las entradas que nosotros queramos y ofrecen una clasificación diferente a la categoría a la categoría está jerarquizada la etiqueta más en general bueno es que en wordpress por defecto aquí sale la foto aunque esto para otra cosa tenemos categorías y etiquetas definidas por defecto esto no quiere decir que no puedas crear más taxonomía estas son las que vienen definidas por wordpress por defecto pero tú puedes definir las tres o más que quieras y poner un nombre diferencia está por ejemplo aquí para el ejemplo de ugt-granada una persona que podemos hacer localización sea sitio donde hacemos las mitas y dentro de esa localización podríamos crear cada etiqueta que sería puede ser modo tipo etiqueta y poner pues byc entonces cuando kim ha habido punto aquí es puedes que puedes crear tu nuevo trata son o mía estas son definidas por defecto en wordpress sí sí sí sí a nivel global a nivel como el nombre de etiqueta en sí en confunde un poco a ver esta etiqueta es desde el blog pero yo puedo hacer muchas más etiquetas más atrás o no mía entonces no no puedo hacer otro menos que fuera en localización tipo etiqueta no se te vaya relaciones correcto sí sí sí sí y que tenga contenido entonces es correcto es ese claro efectivamente sí sí entonces cuando yo me pasa cuando creáis etiquetas que te pone etiqueta y empieza entonces como como pensamos que es como youtube o como a otro sitio que tú pan con tomate y que están mejor porque aquí lo hacemos también no aquí hacéis sólo si es estrictamente le vaya a dar contenido a esa etiqueta es muy importante como veis por ejemplo un blog el típico blog tiene es un tipo entrada vale que tenemos las distintas entradas y a su vez las noticias artículos pues tienen su categoría y tiene su etiqueta o por ejemplo aquí habíamos puesto pues la categoría de construcción y seguridad y después etiquetas para alimentos para viento con buenos aquí por ejemplo hemos puesto demás ya vale deberíamos poner una o dos más de hecho yo aconsejo os aconsejo que si queréis entradas las sin ellas una sola categoría bueno eso es un consejo porque porque si aparece la misma entrada en varios sitios pues es un poquito de contenido duplicado cuando podamos evitarlo lo más posible mejor pero puedes marcar varias eso es porque eso te lo hace porque la cuando tú pones una configuración que es la que es la que en la url de la entrada salga la categoría en yo a éste dice elige esta categoría para que salgan las negocio pero tú para elegir varias categorías es por eso por eso digo que una categoría por entrada bueno esto un avance que luego hablaremos de los constructores esto viene ya bueno se supone dentro de dos meses en abril wordpress está trabajando en un page en un constructor de páginas vale que se llama guttenberg vale que de hecho lo ahora mismo no puede instalar como plugin mal está ya activo y ya está en una versión muy estable ya se puede utilizar en las páginas porque dentro de poco va a salir ya nativo en wordpress es decir que wordpress ya tendrá este este editor por defecto que como veis cambia bastante a lo que si ya habéis metido en la página cambia bastante porque tú podrás dar de alta aquí bloques que serán tipo párrafo con una imagen galería poder organizarlas ahora van a hacer la que pueda organizarla en columna total guttenberg es un proyecto que va a salir ya nativo que lo vamos a ver nuestras instalaciones y que ya os digo que si voy a hacer una página web nueva ya le metéis guttenberg por defecto vale porque eso ya va a salir nativo y ya está una versión muy estable aquí ahora nos cuesta a nosotros todos los desarrolladores crear bloques para que nuestro contenido se parezca a lo que nosotros queremos que se aparezca pero sí pero no no no pero eso no lo recomiendo porque las plantillas no pueden venir con un paje wilder no tienen que ser los constructores porque cuando es funcionalidad debía ir como un plugin porque pasa que situar a cambiar el diseño de cambiar de plantilla pierdes todo el contenido sí sí ahora hablamos también de eso qué sí sí no no elemento en un plugin es una funcionalidad es un haber en el efecto que ha tenido los golpes hasta ahora que no tenía un constructor de página como este que pasa que había un mercado que se ha creado y se ha tirado dos o tres años que ha tenido pues visual composer elementos un señor y equipaje wilder hay un montón a lo digo yo los que os recomiendo y qué pasa que como ha tardado tanto ya va a salir entonces elementos y es otro constructor que desde lo recomendado vale es plugins y si es plugin no estaba una tema no no no debiera por eso es que me está comentando las plantillas nunca desconfiar de aquellas plantillas que tienen funcionalidades madre que tienen es como si tuvieran plug internos porque porque si cambiamos de plantilla perdemos todo y no te puedes casar con una plantilla porque hoy día los diseños cambian mucho sí sí sí se van actualizando pero ahora tú quieres cambiar algo del diseño y ya te tienen cogido pero cogido sí sí sí no cambiar diseño si pierdes todo el contenido si tienes 10 páginas vale pero si tienes 200 páginas bueno es que sara dio mi opinión sobre eso es que es que esas plantillas no la recomiendo son tan grandes y pesan tanto que son mastodónticas y de hecho son muy difíciles de posicionar es nada más por lo cargas bueno pues quería explicar un poco lo que es la instalación la parte instalación esto para que os suene un poquito y que no vamos a ver nada de código es básicamente la estructura de un directorio wordpress es muy sencilla vale tenemos los archivos que están en raíz ahora lo que siempre os enseñaré que simplemente no tienes que conocerlo simplemente están ahí vale tenemos 33 carpetas importantes que web guión anding 1p guión incluye y web y un contento la importante y la que tenéis que guardar siempre y no hayan vacas y todo eso es la web y un contexto vale porque si se rompe el wordpress por algún motivo vosotros os cargáis web y un amigo pidió en cruces y todo el archivo de raíz colocar guys lo volvería a subir y se restablece sin problema entonces la importante era web content vale porque esa es la que tiene contenido propio en la que se personaliza en toda la instalación es wordpress y estas son las que wordpress desarrolla y nos va poniendo en las nuevas versiones lo que hace es que cuando todas las actualizar que software para el manager se para la hora de actualizar cuando tú le das a actualizar lo que hace es que machaca este directorio este directorio y los archivo de raíz se ha cambiado algunos los machacas lo sube otra vez y te deja el huevo con ten intacto que pasa que actualiza el wordpress ningún problema si tuvieses algún problema de que sea borra alguna carpeta de aquí no pasa nada de vuelva a bajar el wordpress lo sube y sin problema vale siempre tener mucho cuidado que si subir el word press desde el zip y lo descomprimir el wordpress por defecto tiene también su zip tiene su web content ese quitarlo no lo para que no más ya que éste está en la carpeta más importante más no no no a otra parte sí sí la base datos también si es que me parece que sí sí sí efectivamente y se me ha pasado a comentarlo claro wordpress está compuesto por archivos y por una base de datos vale y en el raíz tenemos un archivo que se le da a la conexión ese archivo a esa base de datos entonces efectivamente lo más que se me ha pasado decirlo de esta carpeta y en la base de datos entonces la base de todo lo que guarda pues todas las entradas todas las páginas todo el contenido pero evidentemente la base a todos los más importantes porque bueno los teme la plantilla la puede recuperar o puedes bajarte la otra vez votar pero si pierdes la base de datos pierdes todo sí sí sí sí sí de hecho es la recomendada hay un plugin el bacalao para cesc concluyó con a de hosting pero es más recomendable dejó entonces dentro de golpes con tenemos language es vale que es la carpeta que guarda las traducciones de todos nuestros plugins y nuestros temas en esta carpeta los plugins y que son por eso cuando tú le das a instalar nueva nuevo plugin se guardan aquí marca luego los temas son los las plantillas de diseño vale que nosotros subimos y que se guardan aquí también son directorios y tiene sus archivos propias directamente muy plugins son es un directorio donde nosotros podemos poner desarrollo es propio que siempre se van a cargar que normalmente eso se utiliza para desarrolladores vale aquí metemos desarrollos propios y luego la carpeta upgrade que esta es de wordpress que la utiliza para cuando actualiza los es una carpeta temporal si dentro de cada plugin tienes tus language is pero esta es la de bueno es otro berenjenas eso puede ser una mitad interesante en el tema de las traducciones si estas son las que se bajan de wordpress.org y los propios pregunta mentes u porque traducción pero a través del plugin puedas traducir plugins no traducidas y las traducciones se suelen guardar aquí luego tenemos la carpeta blog que estos son todos los archivos de imágenes o archivos pdf o cualquier signo pdf imágenes cualquier contenido que nosotros subimos a la instalación de wordpress él se quedan aquí guardadas normalmente organizadas por carpetas de año en 2017 y 2018 se van guardando y después por mes eso es lo habitual si no lo cambias en guarda así entonces esta es la estructura como veis es sencilla hasta pronto entonces instalación manual cómo coger la dura vale la fácil viene después es simplemente darle al botoncito pero para eso no hace falta una mitad si nosotros tuviéramos que hacer una instalación manual vale es muy sencilla de verdad no sé lleva cinco minutos básicamente lo que hace más que nosotros nos compramos el dominio por el pro sun ground y nos compramos nuestro alojamiento nuestro alojamiento nos da un acceso de administrador vale y pues podemos gestionar los archivos vale nos dice en esta carpeta es la carpeta pública que se va a ver en internet de hecho tú ver los archivos que hay y automáticamente te lo enseñan cuando pones el dominio puntocom también se puede a través de ftp pero es más complicado yo prefiero para vosotros el tema desde el propio administrador de archivos del hosting que con clic entonces nosotros queríamos con ese con una vez que hemos entrado al hosting que no hemos pagado los cuatro euros al mes y ya tenemos el espacio y ya podemos gestionando pues nosotros lo que hacemos es si utilizamos la instalación manuales nos vamos a agua a ese punto wordpress.org y nos bajamos nos bajamos el archivo que sale aquí todos los wordpress no lo descargamos es un archivo zip y lo que hacemos que directamente lo subimos al raíz de la carpeta que es la pública luego la descomprimimos y luego tenemos que crear una base de datos mysql que es donde se guarda la información de la entrada a las páginas y todo esto mal entonces le damos a crear bases de datos nos pide un nombre y un usuario lo creamos y luego ya terminar todo son cuatro pasos la cuarta es el archivo web php donde da la conexión con la base de datos o sea los archivos y las bases una vez creados tenemos que conectar la web confíes donde los determinamos vale no sé si por aquí bien no entonces entramos a esa web tres puntos ejes descargar un archivo que aquí explicó qué wordpress.org en la plataforma que aquí están todos los temas los plugin gratuitas también hay un foro de soporte que funciona muy bien yo está también en la en el grupo que ayudamos al soporte y funciona muy bien cualquier cosa que tengáis de wordpress evidentemente que no sean del plugin de pago porque si compráis un plugin lo normal es irse al soporte del plugin pero si es de wordpress o algún problema de plantillas lo ponéis en soporte y ahí hay un grupo de gente que lo que sin coste contestar y además muy rápido en menos de un día tenéis la contestación por eso yo recomiendo que os deis de alta en luego un punto wordpress.org para register y os deis de alta y tengáis vuestro propio profile como veis aquí tengo yo que mi profile y ahí lo que hacéis que podéis que luego habrá más mitad que hablaremos como cómo colaborar a wordpress como traducir plugins etcétera más por decir algo por ejemplo el club de comer de tienda online es más importante se ha traducido por un grupo de usuarios como nosotros que nos podemos a traducir se modera y se traduce entonces al final dice bueno yo yo ayudo a la comunidad para que la comunidad también me ayude no asustéis este es el archivo web y un confit sin comentarios lo quería sacar porque digo aunque se vea demasiado podido es muy sencillo y como veis se entiende aquí defines el nombre de la base de datos el usuario y la contraseña la conexión y el resto igual aquí ponemos la url y aquí hay una serie de ajustes y el prefijo de la base de datos con estos tres datos ya ya tienen la conexión definitiva conectamos los archivos con la base de datos el que tengan alojamiento en ese momento normalmente es más si no ponemos localhost solo vale y ya está pero asustéis mucho es simplemente componer el nombre el usuario la contraseña ya se conecta a los archivos con la base de datos esta es la más difícil y es cuatro pasos ya la bueno y ya para terminar cuando ya instalamos y la base de datos ya está bien configurada y ya wordpress lo hemos instalado no cuando entramos por primera vez nos pide bienvenido a este proceso instalación porque se da cuenta que la base hato está vacía entonces por qué nos pide un título de sitio un nombre de usuario que es el administrador no utilice adm y utilizar el nombre que cree vale para que no nos va a que el agua es más fácilmente y una contraseña pues evidentemente lo más importante un correo electrónico y le damos a este las golpe y ya está y ésta está la wordpress más por aquí bien y ahora la parte fácil no es la más fácil y esta es pues en los alojamientos por ejemplo 6 ground al debut de granada tiene un botoncillo que wordpress le damos y hasta entonces nos pide una serie de datos y no instalar wordpress este es el instalador que tiene ese ground que casi siempre pide lo mismo a una cosa muy importante es hoy día las páginas web antes había que pagar un certificado https el que paga unos cincuenta euros al año luego había que poner una ip está un lío grande ahora hay al lado certificados son gratuitos bueno pues podemos seguir pagando por que queramos más seguridad historia o sea que yo os recomiendo que todas vuestras páginas cualquier negocio ya da igual porque además google lo lo recomienda le pongáis htpps vale además el propio ese gran o cualquier alojamiento es muy fácil te permite meter aquí nuestra la opción pero te pone instalar certificados la s certificado seguro gratuito edad y no tienes que hacer nada entonces eso si lo hagáis desde aquí no así a ver si tiene sus dioses efectivamente sí sí si puedes cambiar y os voy a decir un plugin para ponerlo y ponerlo y si no lo tiene es que está gratuito se llama alex sea gratuito el ex black sánscrito a vuestro servidor tenéis que pedirle que desafío ya la mayoría de los tienes pero si no lo tiene let’s encrypt one and one también tienen no tienen todos no han sido tienen si es porque se lo puesto a un cliente hace poco no no no pero gratuitamente s correcto entonces si tenéis la página web http normal ya os digo cambiar htpps antes era de recomendar para tenerla se recomienda para todos luego pues como veis aquí os pide la información como enseñaba antes de wordpress un lápiz de aquí nombre del sitio descripción cuentas administradas por el usuario y contraseña el lenguaje si quieres que sea español e instalar ya está entonces nos hemos ahorrado subir los archivos la base de datos crearlas porque con este yo tengo que crear también todas y con esto pues es evidente es mucho más sencillo pero bueno yo tiene que dar también la parte difícil que tampoco es tan difícil es más bueno pues una vez que tenemos esta las wordpress que tenemos que hacer porque no sabes cómo entrar nos pues entramos con el dominio puntocom wp guión admin vale el acceso universal te pide un usuario y contraseña que evidentemente las puesto al principio cuando lo instalas te mal y ya entras al administrador ah este por ejemplo el que nosotros tenemos granadas que tiene muy pocos plugins metidos y como veis aquí tiene unas cuatro cosillas entonces como veis este el panel de escritorio de wordpress a ver esto depende del final de los plugins que tú la metas las funcionalidades que os dais por ejemplo si tenemos una tienda online aquí vendría una caja que pondría venta este mes pedidos pendientes o sea que esto también se adapta según los plugins que tengamos como veis por nativamente pues tenemos aquí las entradas que tenemos creadas que son 10 que son lo que decía dos páginas estáticas creadas en las últimas publicaciones la mente noticias que aquí vemos que está aquí nuestro evento y este módulo que es de yo hace más el seo por provisto no tenemos muy bien hecho pero tenemos que ponernos un poquito hay que trabajar un poco más y aquí como veis por el panel es muy sencillo tenemos las entradas los medios que aquí serían la galería de imágenes las páginas como veis aquí ya va sonando entradas y páginas los comentarios que son los comentarios son en una entrada poder dejar que la gente comenten que haga comentario de hecho lo mismo que comentéis la página nuestra para que llama más comunidad y entonces aquí salen todos los comentarios y tú puedes moderar lo más que puede moderar las aprobar y contestar evidentemente puedes contestar como propio usuario etcétera luego tenemos este plugin de ideas que el que habéis visto vosotros que hemos puesto ideas aquí el plugin está crea un propio menú para los plugin pueden crear menús dentro de wordpress la apariencia aquí es para instalar los temas que si le daríamos veríamos los temas que tenemos instalado los plugins o los plugins el que están instalados que ahí podemos activar desactivar o sea cuando nosotros subimos un plugin no quiere decir que automáticamente esté funcionando tenemos canales activar y si queréis vemos un panel bueno no tenemos tiempo todavía si queréis preguntando algo mientras que método el usuario y contraseña a una duda sí tienes que tener un plugin multi idioma correcto poder meterle un plugin sí sí multi-idioma hecho ahora de eso te diré uno sí no si el haber el cual penas multi idioma entonces si queremos tener multi idioma tenemos instalar un plugin hay muchos yo recomiendo el vp ml v wpm l es más habitual y ese funciona muy bien a esto 8 pero va muy bien es el mejor por qué wp ml así sí sí la interfaz y si las páginas no sí pero bueno al final sí sí sí aquí tú en ajustes generales tú puedes cambiar el idioma correcto aquí tenemos el idioma del sitio un contenido pero no es multi idioma o sea si tú lo cambias todo a un idioma así queremos tener multi idioma tenemos que entrar un plugin mal entonces y si salen como una columna como andar y está entonces tú puedes traducir se llama yo recomiendo ese porque se permite también los como se llama los entradas diferentes porque hay uno que es gratuito que es q translate pero a mí no me gusta nada porque el propio entrada tiene las dos traducciones y en una mezcla hay muy buenos y gratuita juncos más gratuitos hay muchos plugins hay muchos productos son gratuitos para coger mucha comunidad muchos usuarios y después te venden tú como cualquier empresa evidentemente tiene sus extensiones que mejoran cosas de ese plugin gratuito con las que tuve que cambiar no son buenas sí sí sí evidentemente pero pero vamos a no pero hay gratis también ese mucho por qué dime colina pensar ah hay una sugerencia de compañeros paul y la ha dicho molina ese nuevo trabajador 4 pm l de trozos de cadena incluso que encuentra que el tema se ha escapado es muy bueno jazz yo soy yo soy dios bueno ahora si queréis vamos hablando de plugins porque nos vais a conocer lo rápido aquí tenemos las páginas cómo es por dentro de google granada como creado 3 luego tenemos la apariencia aquí podemos ver todos los temas que ha instalado nosotros hemos metido el tuenti sexting que es gratuito que viene mismo de wordpress los mismos de wordpress que están muy bien 36 tintos en ti lb twenty fortis me parece que la otra para estar muy bien o sea que para empezar nuestra máquina y dentro de esos temas pueden los poderes personalizadas tienen personas instalados que tiene unas distintas opciones luego tenemos los plugins que como decía aquí tenemos todos los listados aquí como veis que tengo cinco que trabajo que actualizar y hay algunos activados y otros no por ejemplo este de mantenimiento pues lo desactiva y cuando ya lo pusimos en marcha pues tenemos aquí los distintos plugins y podemos activarlo desactivarlo no os recomiendo tener plugin desactivado porque porque son agujeros de seguridad si no lo actualizadas aunque estén desactivados se pueden entrar a eliminar directamente si aquí en borra a ver si me sale bueno primero tengo desactivarlo y después borrar a borrar y lo borra no tengáis plugin desactiva mal hay un plugin para eso que se llama p3 profile a mí si me funciona el pro fire to win performance profile aquí la tienes p 3 plug in performance profiler que lo comprobó y ese te enseña qué plugin cuánto ocupa que es lo que se dirige si es correcto si no dice eso este plugin solar para ver lo que hay después desactivarlo no tengamos pesa mucho y es para efectos de ver qué pasa y luego desactivar sí sí no a ver si están activados funcionan con lo cual si pesan no no nos importa que estén usando se o sea los desactivados los digo por seguridad no afectan a la instalación wordpress no te va más lento de wordpress digamos no nos afectan pero si hay un agujero de seguridad porque si no los tiene actualizado te pueden entrar a tu estación wordpress entonces por seguridad si no la utiliza y por la borra y ya está más cosillas pues eso lo que enseñaba la entrada en las páginas se editan de manera igual lo único que tiene diferente yo vaya a ver es el mono esto es igual lo único que tú aquí puedes planificar la puedes planificar la publicación de esa entrada por ejemplo yo quiero hacer algo y quiero que sea para el próximo lunes yo lo puedo planificar y luego tengo categorías y etiquetas que estas son todas o no mías son para la entrada que las páginas continente astronomía vale entonces como veis aquí está lo único que cambia en la barra esta derecha pero lo que hay el título y el editor el mismo bueno y aquí tenemos otra caja que está la genera yo aseo que o lo opuesto como plugin recomendado que hablamos de los plugins y aquí editamos el sello de saldrán a la página pues como veis la parte izquierda es igual pero la parte derecha cambia tiene esto mismo también puedes planificarlo pero tiene los atributos de página vale lo atributo de página es lo que estábamos viendo antes como son jerarquizadas que tú puedes hacer sus páginas si tú no le pones superior quiere decir que una página padre si te pones superior quiere decir que esa depende de la padre y entonces es una hija y también puedes ordenar las vales esto está bien porque por ejemplo en el ejemplo del servicio si quisiéramos ordenar unos servicios de otros podríamos ponerle un orden entonces la edición es igual es muy parecida a cómo vais a un gestor de d un editor normal el que si cambia y aprovecho y lo vemos es ser guttenberg guttenberg es un poquito más más chulo estaba estás chulísimo y que todavía no están entrando terceros es decir que ahora mismo es wordpress pero cuando podamos hacer vamos hacer virguerías con esto como veis por ejemplo aquí tenemos el título y aquí una descripción pero nosotros podemos añadir cualquier tipo de bloque por ejemplo si queremos meter una imagen a través en inglés porque no la termina de liberar pero podemos coger bloques d de un audio podemos tener una imagen o una galería de imágenes como ver imágenes una imagen extendida con un fondo como fondo vamos a tener una una cita el famoso famoso poesía está por aquí este esta es un capricho del dueño de automatic y dijo yo quiero poesía y dan puesto aquí su botón para que tenga su voto viaje a mí visualmente me gusta mucho que temer porque porque está hecho para que nosotros por ejemplo yo quiero meter aquí las últimas entradas nuestra aquí en la entrada por ejemplo si a veces son constructores de páginas la ventaja de guttenberg es que tú estás viendo lo que se va a ver después que ellos han trabajado muchísimo eso entonces tú pones por ejemplo la última entrada y ya te está enseñando a la entrada y cómo van a quedar de manera que cuando tú vayas a publicar te salga igual sí sí sí se está aplicando hecho cuando tú creas bloque puedes definir los estilos de lo que te va a salir y lo que se va a guardar sí sí sí estoy directamente de hecho vamos una historia pero qué pasa que los visual composer el dib y también que otros muy conocidos son mastodónticos y estos que van a este que va a venir nativo ya en wordpress o sea no va a tener sentido tener dos composer que que estos son tienen mucha carga en el wordpress no va a tener ningún sentido vale podrá desactivar watch guttenberg pero es tontería sea cuando yo vine a algún nativo lo que sí tenemos que buscar es plugin que aumenten los bloques para poder hacer en gutenberg que eso nos va a estar muy chulo claro efectivamente los que tengan constructores digamos que no sea muy conocido al final lo que van a hacer es bloques para gustarme se van a adaptar a eso si se adapta pero yo sí yo recomiendo que un tema porque una parte que piso como dije no me gusta nada por una cosa muy sencilla es porque la parte que tiene mucha carga ocupa muchísimo tiene el efecto locking que le llaman quiere decir que si tú desactivas ‘plug-in’ el contenido lo pierdes esto si lo desactiva guttenberg el contenido sigue estando entonces si tú como decías 10 páginas el efecto locking se llama no tienes problema y te pones uno a uno que había puesto aquí venga vamos a crear la otra vez lo tenés que crear más a mano manualmente y es gratuito pero cuando tienes 200 a 300 páginas pues o más páginas con miles de páginas que imagínate manualmente las miles de páginas hay un trabajo importante esto no tiene efecto lo que quiere decir que si yo lo han hecho de manera que si tú desactivas guttenberg esto se va a seguir viendo entonces eso es muy importante y los chulos que tiene eso que tú aquí como veis pues estás viendo cómo va quedando cómo está quedando youtube directamente aquí ya he hecho ya con dos bloques he hecho una imagen destacada y un 15 entradas y de día publicaría público entonces yo recomiendo si estáis en el proceso de hacer una página no metáis en visual composer ni tal porque se vana como después lo pasamos a wordpress su materia mala voy a trabajar en la selva de los plugins yo yo lo he clasificado y alguno se me ha quedado pero ya digo si no vamos hasta aquí todo el día me ha faltado al multilenguaje que ya ha hablado con lo cual ya se ha quedado y si veis que alguna cosa podemos ir viéndola intermedio entre todo lo que va a explicar ahora si la instalación que va a aprender otro día la verdad es bastante interesante hay un plugin que se llama wp after creo que tuve dos recetas after insp art y ese plugin hace una serie de tareas que convendría que hiciéramos nosotros a mano vp estás caster instant interesante porque que te elimina la entrada por defecto de hola de este color a pajín o por defecto de página te quita la categoría sin categoría bueno esa es la que tenéis que cambiarle el nombre de ponerle valor quizá el plugin de los dos y kirchner a mí no me gusta te pone la estructura en la fecha a que aparezca la ley bueno bueno pues sí las plazas permanentes amigables que comenta pero tengo aquí yo os recomiendo que luego lo pondré en la plantilla que utilicéis esta es la que yo recomiendo que es la categoría pues no me vale porque solo pues nada me no te permite la jerarquía no teme trágica que dentro del blog estas damas han puesto muy fácil y ccoo que han puesto los botoncillo vale no utilicéis años ni meses ni días y eso no hace a quedar mucho más bonita con el categórico pues no me qué que poniendo más si esto es una pasada y muy importante la barra la barra de esta clave porque porque si no tiene barra la gente va para entrar con barra y sin barra pero si tiene barras sólo vamos a entrar a través de la barra entonces es una solo r entonces pues no tienes contenido duplicado en turín en ajustes enlace permanente y lo voy a poner perfecto cómo instalar un plugin y añadir nuevos plugins poder instalar los plugins si queréis lo vemos aquí directamente en el plugin le añadí nuevo aquí tienes los gratuitos y aquí buscáis directamente si yo quería hacer una tienda online la puedo meter ahora mismo como pongo comer le diste al activar y ya tengo una tienda online el georges muy sencillo una vez que tenemos instalado el lugar pro punto reggae ya tenemos esto si por lo contrario compráis un plugin premio que no está en el repositorio de wordpress le daríamos a subir plugin y con el zip que nos dan cuando compramos el plugin le damos a seleccionar archivos en esta lama nos buscamos nuestra carpeta y ésta eso sería instalar el plugin como veis es sencillo entonces dentro de lo que es la plugin que os recomiendo pues ahora ya antonio comentaba deseo yo recomiendo yo aseo porque porque tiene el general tiene una serie de cosas que ya las tiene todo en uno antes hay varios por ejemplo genera un email para que google lo coge puedan dejar tus páginas eso antes eran dos plugins era el deseo y el generar esa misma xml yo ya lo tiene por defecto tiene otra serie de cosas cada vez se está haciendo más grande también se critica ahora por eso porque cada vez pero no pero está muy bien funciona muy bien bueno entonces éste ya de base éste es fundamental sea nada más entrar la primera tarea es instalar yo hace mal de hecho te va a dar recomendaciones cuando creas sobre el granada la barra roja pues te dice pues cómo tenés que redactar para que se posiciona mejor está muy bien te creas claro no te hace falta ningún otro plugin montón menos plugin mejor luego para instalar la estadística de análisis pues si ponéis en el buscador que hemos puesto google analytics te van a salir un chorro ciento vale éste era de yo aseo de yo aste vale no se lo vendieron a mosterín 6 que le ha cogido y le da una huerta ese plugin la verdad que está muy bien ya que éste ya tenía recorrido de antes y funciona muy bien que te instala el google analytics si instalas web de metiste desde el hotel o vincula más y automáticamente cuando la activa y sigue su tiene un pequeño proceso para activarlo y te vincula a tu cuenta google alguna analítica wordpress que está la visita que va teniendo y luego si tú está logueado te quita esa visita que parece una tontería pero es bastante importantes más cosas de seguridad pues es fundamental hoy día tema de seguridad eso es que pasa que la instalación wordpress es como el windows o sea es una plataforma que utiliza masivamente mucha gente entonces dónde va a haber más vulnerabilidades aunque wordpress en ese sentido se actualiza muchísimo de hecho la semana pasado hubo dos actualizaciones una semana porque se detectaron unos errores y en ese sentido las actualizaciones menores se actualizan automáticamente entonces habrá que wordpress hay más noticias de vulnerabilidades pero se solucionan muy rápido y funciona muy bien ese sentido pero aún así hay que darle un plus de seguridad pues yo recomiendo estos dos el que queráis última es de striptease además su curry que funciona muy bien desactivarla las notificaciones de accesos accesos inadecuados porque daros cuenta que en nuestra página web cuando lo ponemos en internet luego utilizamos hay muchos robos que intentan buscar instalaciones wordpress e intentar entrar en ellas entonces te pueden venir me todos los días lo desactiva las notificaciones por acceso inadecuado sí porque te puede entrar a la semana 15 o 20 bueno un día cuando tu instalación cada vez más popular war frente a mí está bien pero a mí me gusta más ocurrir más de seguridad a kim es a mí me gusta aquí mes aquí meses akismet es de automatic también vale como veis no sólo automatic desarrolla el propio wordpress sino que también tiene plugin mal entonces aquí mes es para el tema de spam en los comentarios del blog como no lo active y pues también seguía de entrada de todo tiene una cuenta gratuita dará de alta en algún tableta llevo años con esto luego con la cuenta gratuita con lo cual no hay ningún problema y luego me decía el compañero que quería ponerle htpps cuando cuando le pongas el certificado te tienen que llevar por la entrada le mete este plugin really simple de ssl que lo que hace es que todas las urls te las pasas a ssl de manera que no tienes dos wireless sólo tienen una esto es muy importante porque no podemos tener dos reales iguales más cosillas formularios vale cuando tenemos formulario puede contactos o no se puede hacer de todo este plugin maravilloso de gravity form puedas lo que decíamos antes de conectar por ejemplo instalaciones wordpress com’ con crm pues se puede hacer con gravity phone hay dos que están muy bien ninja que esté gratuito vale como decíamos los plugins gratuitos tienen sus extensiones evidentemente esta empresa crea este plugin gratuito para que haga llamadas de usuarios y pueda venderle sus extensiones también está conforme pero bueno yo creo que estos son mejor este es de pago gravity phone pero está muy bien y de hecho he contactado puede conseguir un descuento para nosotros un 15% vale que se utiliza y esta url que manda manda ahora a las cinco de la tarde podéis tener un 15% de él para nosotros vale no lo sé la verdad yo lo compré yo pago tal año lo compré hace años yo pago vamos mi agencia paga anualmente tiene 59 dólares al año para un sitio es como todo si sólo vais a tener un fórmula de contacto pues no hace falta y con esto puede hacer exámenes formularios muy avanzados cosas muy avanzadas que solo no un número de la pena pero si voy a hacer más cosas pues sí aún así pues ahí tenéis descuento que es este real vamos que me acaban de contactar optimización de las páginas una vez que las tenemos puestas normalmente no están casadas que quiere decir que el caché quiere decir qué lo que hace es que la conexión con la base de datos es más lenta que la propia de archivos entonces lo que hace el caché si lo instalamos en generarte archivos estáticos automáticamente tú no debes hacer nada de tus páginas de manera que no tenga que conectarse a la base de datos entonces sirve las páginas más rápidamente entonces consigues un plus de velocidad ya ti de cara a ti y de usuarios no tienes que hacer nada así solo activarlo y ya está demás de hecho hay varios de caché como tú pones caché hay un montón éste lazio automatic de hecho y ésta es muy sencillo para activar y poco más más tiene una serie de acciones pero con el activar es suficiente y entonces lo que hace es que los lo que hace es que reducen las peticiones la base de datos con lo cual las páginas van más rápidas y esto pues hay que instalarlo vamos y luego la todo esto y me hice sí correcto tiene un tiempo a los ajustes que son cada 12 ahora mínimo no por defecto y 12 ahora me parece que da y no se actualiza atrás dentro de 12 horas pero tiene una opción que la tiene activada por defecto que cuando detecta una nueva entrada generó a través del caché entonces alguna vez puede pasar pero es raro que pases y esto es fundamental caché son cosas todo lo que estáis viendo aquí es fundamental queréis instalarlo el auto inicie que hace este lo que hace es que junta los archivos de estilos y los archivos de de javascript la junta para que se cambien más rápido pues aquí tenéis que hacer un poquito más de instalación porque cuando la activa y tienes que tenés que hacer pruebas vale pro cuando la activa puede ser que la que la página se rompa mal entonces lo hace entonces entonces lo que tenéis que hacer es activarlo ver las opciones y en modelo incógnito entrar a la página y veis que pasa funciona no funciona si funcionaba por el perfecto entonces ahí vaya haciendo pruebas y vamos tiene cuatro ajustes y tampoco es muy complicado ajustar el javascript guste css y que la junta que funciona todo perfecto con todo activado ya está tira de millas que no funciona por sistema de javascript es el típico que se suele romper la página todo esto es bueno todo esto salvo de gravity son todos gratuitos del propio y funciona muy bien de redes sociales si queréis promover las barritas de compartir en redes sociales etcétera pues podéis utilizar su momento que está bien está bastante hoy estos amigos de sumo me vale que si ponéis sumo me te lo busca y entonces te puedes instalar el papá puede instalarle compartir en redes sociales en la parte izquierda tiene una serie de acciones que están bastante bien y éste aunque no es obligatorio pero bueno está bien este por ejemplo pues miren bien y éste también si social y hay con lo que hace es que te que te ponen los iconos unos más bonitos y otros más y más victoria justo después de la entrada esto lo que hace es que intentamos que nuestra entrada del blog se promuevan a través de las redes sociales un usuario que le gusta el contenido de todos puesto en la página web pues lo compartiría vaca de backup si tenéis que estar a un backup porque lo mejor el servidor no lo hace yo recomiendo decir compañeros por servidor porque el backup es un proceso y si instalamos un plugin todos los plugins que metáis que seáis conscientes de que estáis cargando la página web y que puedes ir más lenta hay plugin que son muy livianos y van perfectas y otros que son muy potentes entonces si tenemos un buen hosting que lo coge perfecto que no pues podemos comprometer a que la página se cargue más lenta entonces esto por ejemplo no recomiendo instalarlo porque esto debería tenerlo en el servidor pero bueno por si acaso tenéis que es tener un plus de seguridad porque por el backup éste está muy bien o quitar a plus que te lo guardan las vacas pues incluso en la nube en un driver un dropbox y en distintas opciones no lo recomiendo pero bueno está ahí es un plus constructores de páginas entonces los dos que yo recomiendo que hay un montón más por ejemplo elementos que no está mal también elementos tenemos el viso composer que no lo recomiendo para nada ni el deeb y tampoco que daros cuenta que al principio os puede ser muy fácil que esté donde en todo hecho pero luego las páginas son muy lentas y tenéis que cuando ahora veamos plantilla tenéis que ver que sea rápido que por eso cuando veáis la página o la demo de la plantilla se cargue rápido vale por los constructores son uno de los de los plugins que cargan bastante la página y que cuanto más liviano sea mejor más va a cargar nos tenemos que preocupar con la página cargue rápida bueno de código me imagino que será html que quiera meter algo si no no pasa nada a ver si tú desactiva es el constructor tiene el efecto login lo vas a perder osea da igual que tenga html o tengas contenido tengas cualquier cosa lo vas a perder se te mete entre un montón de maraña de código que ahí va a ser difícil encontrar con qué contenido entonces a tu pregunta pues no hay problema tú puedes meter html y pueda actualizarlo y todo eso no hay problema pero no no lo vamos incluso para meter como widgets porque hay un widget de html del propio y del propio wordpress yo recomiendo 66 para hewitt de país 6 origin vale que es el que mejor se adapta un poquito al sistema de wordpress y es muy liviano de hecho es gratuito y que ya por eso ya tiene un motivo para utilizarlo lo que pasa que si veis aquí es como cajita y no es tan chulo como abu temer que directamente ver el contenido es que en ningún tema era una chulada entonces aquí vale pues aquí tienes una caja de texto cuando te sitúa encima editar y edita ese texto para una ventana no es como punto en el que habéis visto que directamente estoy viendo el contenido que lo podemos ver que los entonces aún así ninguno es como gusten ver todos son el visual composer es realmente todos estos son con cajastur vas viendo cajal abajo picando y la id i para editarla mueve con gusten verlos como ustedes están viendo el contenido que te va a salir y cuando le das a publicar ya lo ves la cuestión de todo esto es cómo quedan dos meses para que salga pues todavía no han salido plugin de terceros porque todavía está en desarrollo pero a partir de abril cuando ya salga esto ya nativo para todos pues se van por eso los pajes wind es que decíamos que son minoritarios se volverán cambiarán y pasarán a constructores de bloques para guttenberg entonces si queremos hacer más cosas con guttenberg pues será comprar un plugin o instalar un plugin gratuito que sean bloques los bloques irán como plugin no como plantilla yo lo estaba mirando íbamos como flores o sea simplemente quiero advertir eso porque esto está a punto de salir porque se nota que había estado aquí que sepa eso que queremos montar una tienda online para comer gratuito y luego es porque es gratuito porque han creado es de hecho esto lo hice nos gusta me queda automática comprado utm y ya lleva esto el propio automatic si se ha comprado con el talonario entonces por qué crear por qué hay por qué ha hecho eso por una estrategia que como wordpress.com que es donde yo ganan el dinero no tiene tienda online que saldrá dentro de poco wu commerce integrado en wordpress.com otras personas comprar para tener que pagar la licencia activo de utilizar los cuerpos puntocom son más de tiempo no vamos a tener terminando y ya está vale vale no si ya está terminando a otro sitio para tener el repositorio oficial y luego éste sigue está muy de canyon podéis comprar plugin premio esos mirage que tengan buenas opiniones que sean livianos que la demos la veáis que funciona muy bien hay propias desarrolladoras que también vende su propia fluye en su tienda es difícil que los premios los premium la verdad es que los que mejores funciona funciona son los que después tienen un buen soporte tienen buenas opiniones y tiene gente atrás y ya para terminar está las plantillas pues nos vamos a la acción una experiencia plantilla y nosotros podemos añadir un tema por el seven team que son de los propios nativos de wordpress y aquí como veis tenemos un montón de plantillas que son gratuitas que lo hacemos desarrolladores y que los ponemos aquí entonces aquí podéis por temática por populares recientes yo lo como mi recomendación es que primero intentéis con el propio repositorio de wordpress que hay un montón de plantillas y que funciona estupendamente bien que no esté light temas multipropósito por lo que decimos antes si queremos una página que se cargue rápida si instalamos un tema multipropósito va a ser vamos no va a ser el adecuado porque si la vida es más cómoda pero va a tener una página que va a ser muy lenta que los usuarios cuando entren se van a ir y va a tener yo me encontraba con instalaciones que tenían tres slider diferentes por una persona les gustaba un ley de por un lado y tenían el slider que en sí es un plugin que ocupaba mucho que tenía traer la idea o sea que en definitiva que busquéis mucho el tema de que sea carga rápida que lo busque qué que si hace falta un tema que probéis del repositorio gratuito y si no funciona y queréis verlo en otras repositorio que no sean multipropósitos vale porque de veras son muy lentos tienen muchos agujeros y para nadar lo más recomendable bueno lo que sea lo más limpio posible vale que no tenga constructores propios no hay plantilla yo de hecho hace poco me encontré una instalación que tenía un propio wilder el contenido se ha perdido entero que pasa que si encima el búlder que ya estamos diciendo que se van a morir todos los depende de la plantilla pues ya ya sé qué verdad que no hemos casado con ese plantilla y ya estamos muertos es decir si el primer mapping pero como te deja que es la página como he hecho me ha pasado a mí que la hoja que aún ahí y no viera nosotros para que es recuperar esa página web pues que no tengan constructores los constructores son plugins no tienen esos temas tienen que estar divididos y ese sí esa plantilla da un constructor propio no la compre bueno una opción muy muy rápida para saber si una plantilla bueno pasar el google page speed en la demo todas las plantillas tienen demos entonces pues para pasar un page speed a ver qué pone si pone el page speed es un indicadores que ha hecho google para decir si una plantilla de carga rápido cargamento una página web más bien pues si vosotros la hacemos le sale un es de 0 a 100 si le sale un 50 a un 30 pues no lo compre directamente si sale un 80 pues perfecto a partir de 70 a 80 lo recomendable si ya un 90 evidentemente ya lo han preparado para eso entonces pasar el page speed que ésta es una herramienta que buscáis internet google page speed y os sale poner la url el poner la borer demo y ya os sale el indicador y también revisar sus comentarios opiniones pero por supuesto no busquéis temas multipropósitos así que hace falta un negocio y vosotros que hace una cosa no está la y uno que sirva para todo porque de verdad que muy alabad a ese entonces el sitio donde podéis comprar tema bueno yo recomiendo génesis framework que tiene sus propias plantillas son muy livianas muy rápidas y son muy limpias y muy sencilla yo lo recomiendo pero vamos luego tenéis también si vaya a montar una tienda el propio automatic ha creado storefront esta es muy limpia carga muy rápido también y tener una página rápido que sencilla de manejar y tener una tienda online entonces un poco no he puesto más porque bueno con poco al final que busquéis en definitiva con que tengáis estos criterios en la cabeza aquí vaya a ver un vice estará una buena plantilla para la página web o si no también estamos nosotros y otros del sector antes también hacemos plantillas a medida más que eso también pues se realiza también a medida saber si compráis una plantilla no compréis por favor que no sean multipropósito además es muy fácil verlo cuando veis eso ya está bien de asusta dice el link es lo peor de una página web porque estás haciendo es para un usuario que el usuario interna es súper impaciente que en menos de cinco segundos si queréis ya y si encima le pone un cargando ya vamos la muerte entonces no hagáis si veis la demo de una plantilla veis un cargando automáticamente descarta de ese tema y ya está no hay ninguna duda en el medio para una cosa que vamos todos los 20 dicen siempre que puedas te puedes montar una tienda online siempre que vaya a vender con las funcionalidades que lleva un torrent que son limitadas y con las pasarelas de pago porque permiten ahora cada vez más pero por ejemplo si alguien tiene que poner una tienda y va a pasarlo nutrir con taxis o ya tienes que andar comprando tu club y la funcionalidad que quieran meter en el club o sea que antes de montar una tienda online que estudien bien qué funcionalidades tiene que tener esa tienda online y los presupuestos bien porque cada plugin es en cuanto a lo que hemos prometido pues yo esa ayuda he hecho marzo electrónico pero bueno como un negocio más pero sí sí pero que te habrás encontrado el mismo problema que yo que te dice de pronto ermita del proyecto para el cliente ay mira que sima olvidado que que tenga un no sé qué comensal claro pero que a diferencia de otras cosas con wordpress a una página normal lo puede solventar aquí hay un punto la cosa y efectivamente tenemos que ser un poco rigurosos con él igual es un poco rigurosos con el final de ahora pero tenemos lo que llama si queremos en la cafetería no hay servicio imagina no podemos seguir esta pregunta y yo creo que sería interesante comentar de posibles nuevas temáticas porque salen --- ## Charla Introducción a Genesis Framework URL: https://davidperezgar.com/blog/charlas/charla-introduccion-a-genesis-framework/ Charla realizada como introducción del sistema que utilizamos en Closemarketing como desarrollo de páginas Web. Un sistema muy adecuado para posicionar en Google y conseguir mejores resultados. ## Transcripción de la charla en el grupo y no es tampoco la película no es muy inclusiva seguir creciendo quería recuerda deseo vamos hablar un poquito me presento también y hasta declaró marketing estoy vinculado a wordpress de 2010 mi perfil es la víspera y twitter cita bueno cuando hablamos de genes y sobre todo en busca de la velocidad ahora mismo en el mercado de wordpress y luego pueda contar mucho sonará y si queremos corregir cualquier cosa me podéis complicó por cierto quien desarrolla quien toca código de vosotros la mayoría no ese código tocas códigos bueno somos mayoría da igual código local código código porque bueno yo veo como sois mayoría un poco el tema del código lo que haré tampoco el tema de códigos bueno tienes y sobre todo está orientado a la velocidad de hecho es que se creó un poco porque es muy liviano tiene muy ocupado muy poco se creó hace un tiempo bueno ya hemos visto casi todos son los programadores implementadores mucho y tomamos podido de alguna manera no sé quién es si lo que estaba comentando es que es un tema que se creó por parte del fundador de brian gardner que es el responsable de estudio presa este hombre lo que empezó a como a todos nos pone en cuenta su historia y tal pero bueno básicamente lo que nos interesa es que el empezó igual él empezó a tocar plantillas le hacía subcontrataba trabajos de empresas y tocaba plantilla luego fue poco a poco pues quedándose un poco descontento con lo que había en el mercado entonces porque heredó su propia plantilla él se llama divulgación un revolución o algo así entonces eso fue cogiendo cada vez más más fuerza el creo génesis que a su vez él también mano a mano tiene un montón de la empresa de hecho ya se está convirtiendo en una empresa de hosting ahora hablaremos también poquito de eso porque este proyecto la verdad que tiene un futuro tiene un presente y un futuro entonces es muy también orientado a va muy en línea wordpress de hecho tiene muy buena relación con el fundador de wordpress de manera que llevan proyectos paralelos al hablar en un poco pero que hayan creado también sites 16 que es una forma de hacer dar alojamiento a los sitios hechos con genesis es un poco como cuerpo de punto con un libro punto hereje o igual ya no existe vende la plantilla pero también ahora te ofrecen tienes y sabes que si quieres por eso tenemos alojamiento un buen alojamiento yo no lo utilizo pero bueno me imagino que se habrán preocupado de que su función y de manera que lo cobran por suscripción mensual y entonces tiene una base de plantillas para elegir y una base de de desarrollo del servidor y de todo un poco cogido entonces pues bueno este hombre fue creando génesis y entonces que tiene si es framework bueno ellos hacen una similitud y la verdad que está bastante bien hecha y es que por ejemplo cuando ellos hablan génesis es parte de un software que wordpress ya no puede existir una cosa con otra walesa yenes y siempre va a estar vinculado por ahora a wordpress entonces ellos dicen que wordpress es el motor un poco haciendo la similitud quién es y es la carcasa es decir dónde tiene digamos toda la estructura de lo que es un tema más y finalmente lo que es la plantilla hija es la pintura es decir que tú tocas pues parte de lo que es la página de inicio la página del blog toca el pie de página el encabezado todo más entonces definitiva cogiendo estos tres componentes digamos que monta una página hecha con bienes y frame one lo de framework pues eso es porque te establece un método de trabajo si es verdad que él sabe yo he tenido también mi historia con quién es y por qué yo por ejemplo yo te estudio de 2010 pues desde 2012 me parece que empezó a funcionar y que se empezó a conocer mucho más pues yo compré la plantilla génesis de hecho ahora hablaremos del modelo de precios que con alguna vez ya está y luego al tiempo volví a yenes y porque se verá que tiene una curva de aprendizaje que vamos a intentar que sea la mínima posible pero tiene una prueba aprendizaje para aprender cómo es su metodología vale entonces cuando entiende la metodología ya entienden muchas cosas y vamos a intentar un poquillo pasar ese curva de aprendizaje esa dificultad porque los que tuvisteis estuvisteis en teoría mitad quien estuvo estuvisteis casi todos acordáis que hablaba un poco frank del tema del sistema de plantilla aquí cambia todo todo vale y es que está basado en a bueno si el precio el precio son 60 dólares y te incluye lo que es el yen y si framework con ese precio está bastante mal pues son 60 dólares lo compras una vez y ya automáticamente todos los sitios que corren sobre hennessy se actualizan álava por las 253 en este último año el año pasado estaba por las 24 que ha ido cambiando y los sitios no se rompen o sea hay ahí en ese sistema de actualizaciones funcionan muy bien entonces una vez que has planteado lo que decíamos la plantilla hija lo que es el wordpress y lo que es el génesis actualiza actualiza y no hay problema sí sí no no de manera nativa y actualizada actualizas plugins utilizas temas psss jessica música porque aquí lo que que se parecen pero si vamos a hablar después y cómo así comprar las más viejas siempre lleva y pero hay una opción en la versión bulnes para todas todas las barandillas bueno ahora tenemos el black friday de loca tienen todo si ahora hablamos también de sitios donde se pueden comprar plantillas hijas de genesis sí sí efectivamente lo que dice javier los nombres si compras él tiene firmo y te da el genesis ample que es una versión vamos a reducir a carabaya vez que tiene cuatro archivos reducida de lo que es la plantilla y básicamente tiene toda la funcionalidad y todo eso por un poquillo hablando de lo que es el génesis framework las principales opciones pues primero uno que está optimizado para ser ósea de hecho la propia plantilla bueno contaros tiene si es una plantilla con una plantilla padre y una plantilla hija se acordáis de lo anterior mitad la plantilla padre digamos que no la tocas se actualiza y tú en la plantilla hija hace las modificaciones por la plantilla padre tiene a su vez un módulo deseo que se desactiva si tiene otro plugin deseo activado por ejemplo llevado al igual deseo o cualquier mal eso se desactiva para no para no tener problemas pero a su vez a través también trabaja el html5 trabaja con los esquemas punto hereje es decir que está el código está muy limpio y funciona muy bien de cara a ser la primera que a la hora de posicionar las páginas pues es más sencillo se trabaja con este sistema agregue la pregunta de una bueno esto ya es que este es necesario este género es una necesidad que ya no es que pero bueno es un momento si era importante es que es responsible por defecto es decir que se adapta al móvil actualmente vale receptor ya las todas las plantillas hombre esto ya que no estoy aún es básico o sea que no puedes comprar una plantilla si no tienes tienes adaptado al móvil pero bueno en su momento si lo era y ahora ya sigue siendo un muy fuerte lo que hemos hablado un pago único y limitado es verdad que que este sistema también tiene sus inconvenientes bueno si éstos dejan de vender tendrán que financiarse de alguna manera por agua acaba correcto por ahora sí es verdad porque yo llevo cuatro años con esto y a mí no me han cobrado nada si es verdad que han sacado lo de websites yenes y sites que tiene el pago por suscripción pero claro te ofrecen el hosting caro buscando un poco la línea de negocio que fuera mensual porque esto no puede mantener si mantiene un tema continuamente actualizándose para hacer unos desarrolladores que hay que pagarla y todo eso está bueno que en ese sentido sí no hace falta el código limpio y seguro verdad eso es código muy limpio está muy estructurado ahora vamos a ver un poquito más intentar no aceptar mucho a la hora de estructurar el código funciona muy bien con los cabeceras todo en html5 está muy bien está muy limpio permite la actualizaciones automáticas como hemos estado hablando es decir que tuvo actualice no se rompe nada es personalizable y rápido decir pero siempre con la plantilla hija de hecho cuando tú activa el genesis framework como plantilla padre te dice que no que no la utilices que salta un mensaje que hiciera utilizar una plantilla para poder modificar el comportamiento de genesis tiene muchísimas opciones de plantillas de páginas en la misma página puedes elegir si quieres el contenido y una barra lateral si quieres dos barras laterales si quieres una barra de la izquierda y otra a la derecha eso en el mismo la misma plantilla de la página tú puede elegirlo y luego dentro de eso tienes también tus widgets que dentro del código tú puedes decir a cuantos espacios quieres por ejemplo dentro del pie de página cuantas quieres en el blog cosa que está bastante bien tiene tiene hoy sí sí gracias tiene tiene una cabecera superior derecha una cabecera intermedia una cabecera antes de lo que el contenido total que tienen muchos widgets para hablar de trabajar y poder al final por mantener contenidos y desarrolladores y esto sí que es verdad y esto es una parte muy importante una parte importante y por lo que también estamos centrados y aquí es por el tema de la comunidad la comunidad muy grande tiene si yo he leído por ahí no sé hasta qué punto es veraz pero bueno si es verdad que me lo creo bastante que hay más de 350 mil páginas corriendo sobre génesis y que es la plantilla más conocida o sea más utilizada perdón a la más popular porque claro cómo va a ser padre tiene muchísimas muchísima instalaciones como solo la personalizada en saque desde la más entonces cuando tú buscas cualquier cosa tienes algunas acciones que haces en seguida te encuentras varias páginas webs bitches el clan un indio que si encuentras muchísimas páginas que te enseñan cómo hacer modificaciones y a mí por ejemplo yo yo lo utilizo bastante la verdad y entonces en eso el tener una comunidad muy grande detrás te ayuda muchísimo al desarrollo porque hay cosas que no se conocen y cómo se podría hacer esto como pues siempre existen eso como sabéis wordpress de yenes y de un ticket se iban a hacer un pequeño editor visual digamos se iban a hacer un dato visual y ya mismo contestaron que no que no lo van a hacer porque de hecho es que como está en proyecto gutenberg así que conocéis algunos proyectos de la mayoría pasa el proyecto gutenberg es muy inusual ahora mismo en el mercado hay muchísimos visual con poseer standing y estatal yo os recomiendo si trabajáis con yenes y que trabajáis pagés para wilder 676 origin que es el más liviano el que menos carga de trabajo tiene el page baje wilder 6 origin si queréis luego no lo sabes huila y luego el pan emma es así 1.6 build es de 6 origin entonces eso con lo que haces que construye por eso si quieres dos o tres columnas si quieres una columna entera etcétera porque no lo ha hecho bien es porque seguramente lo sabría hace ya tiempo que se iba a meter wordpress en temas de editor visual entonces evidentemente tienes y lo que pasa es que de aquí para que salga el nuevo va a salir para febrero del año que viene aproximadamente va a integrarse con guttenberg y tendremos los de arrastrar y todo eso es así en cuanto hace su blog estancia se llama el niño que se brindó en el 10 pero es un motivo importante ya colaboró más que yo no he visto 2 en unas instrucciones pero paso por paso tal cual como la de pero de hecho de hecho esas plantillas muchas plantillas vienen con un esquema para que los importes y automáticamente no te venga con textos generados que luego los modifica este viene ya para que puedan modificarlos en la parte y hay algunos pasamos la vida visual si también sales modifica un poquito el código sobre todo es un montón de plantillas que son este la nativa esta es la que viene digamos entre como gratuitas porque esta es la que utilizamos los desarrolladores que es la génesis amplia y esa es la que nos modifica y las modificadas gustos a cambiar todo quita quita está ahora vamos a ver cómo se quita las ideas en una página o en la página de inicio luego la pones total y luego tienes otras plantillas que tú directamente como él dice que las instala y vienen ya preparadas y con genesis a que en ese sentido hay un acabado dejar como la prestación las dejaré veréis en las últimas diapositivas 22 vamos dos sitios no se pueden comprar ahora boluda famoso boluda se está cogiendo un nombre por tiene ha hecho una tienda también de yenes y viven de temas múltiples y montarla ya viene con su email es estar ahí o sea que es muy sencillo ya que se verá que llenes y asusta del principio pero la verdad que han facilitado muchísimo y entonces digamos que tiene público para todo el mundo o sea tiene soluciones tiene soluciones para no desarrolladores como también para desarrolladores por ejemplo yo no yo no compro ninguna plantilla de trabajo la base ya está pero entiendo que lleva pero entiendo que no tenga menos desarrollo pues nos da igual se compra esta plantilla de solucionar el tema que quiere y perfecto y estamos y tenemos la misma ventaja para todos efe y pero son muy o sea a poco que se pare tres cosas me podéis ganar vamos con receta y ahora vamos a hablar bueno ahí está el paje para servirle de seis horas y que tú puedes modificarla en el mismo contenido hoy día ya casi todas las páginas van sin si deba barra lateral tener el contenido completo el ancho de yenes y es 1280 aunque realmente un pago de 40 a cada lado que se queda en 1.200 1200 sea un ancho bastante grande y vamos y que tira tira bastante ahora vamos hablar de eso es que aquí es donde cambia todo está basado en ganchos que se llama books en inglés que son acciones o filtros o sea esto cambia totalmente la forma en que nos explicaba a frank en anterior mitad ósea yo por ejemplo yo no yo no creo archivos inglés php mi plantilla hija no lo creo yo digo en el singles lo que quiero modificar a través de unos hoops es a través de gancho y le digo pues mira por ejemplo por hacer en la plantillas inglés le digo si está en la plantilla y sencilla que la de zinc la en la que cuando tuvo entrar en euros en una entrada de artículos entras a verlo por la de zinc de pop le enseña a mercy de abajo en la página de edición o en la página de quitarme ese llevar y muestra el contenido completo o sea aquí lo que hace y en esto también está basado también mucho comer o comer tú haces modificaciones hay acciones que tú puedes decir por ejemplo el típico que para ordenar que te salud sale a 1 múltiple por ejemplo cuando entré a la categoría de comen ha visto que sale encontrar los productos que hay dentro de la categoría que soy yo no sé por qué lo pones nativamente verbo pues hay un jugo que dice quitar la numeración a las tres categorías a tu digamos que lo que hace es que modifica las cosas que tú ves entonces con acciones y ganchos tú no crear archivos de plantillas sino que tú modificas cosas tú dices si estás en la página de inicio no me muestra es la barra lateral porque entera completa que quiero modificarlo el pie de página que debe de tener tres espacios tenga dos siempre como dice una receta desde a través de él fusión fusión php functions punto php ahora voy a entrar a la aplicación sí sí sí sí realmente la plantilla deja un plugin con su estilo sí sí sí lo que pasa que eso que estamos hablando que son las acciones y filtros son recetas aún en una línea tu padre cambia el comportamiento por decirlo por ejemplo vamos si queréis ahora tengo tengo captura de la pantalla sí sí vamos a si queréis hacer esto lo descubrió y esta es una perla y esto cuando lo veáis es que es una cosa estupenda que fue un comentario de la de jose contiene parece que y dijo hoy os recomiendo este plugin y es vamos a lo mejor esto es que lo que estamos hablando los hooks son ganchos son funciones que secar cosa es como lo explico es como espacios donde tú puedes meter funciones personalizadas qué pasa que por ejemplo hay muchísimo ajuste y génesis también o sea el propio wordpress tiene su gancho pero es que ya necesita pueden meter sus ganchos entonces tú digamos que tu plantilla hija tú dices en este sitio en esta modificación esos son los ganchos que tú te dan espacios donde tú puedes modificar cosas ahora vamos a verlo un poco más vale entonces con este word los bases que éste de plugins para utilizarlo en local porque te modifica la plantilla entera entonces no podéis trabajarlo sobre caliente como se dice no no lo conozco hooker si vamos que no ha visto yo otro también se acuerde y monitor pero no lo hace igual a me gusta este es mucho y aquí he hecho un pequeño vídeo de cómo funciona vamos básicamente todas las impresiones son y te enseña la plantilla entera entonces las verdes son acciones entonces te dice dentro de ese gancho todas las todas es que no se ve muy nítido pero cada uno es una de las opciones entonces te dices el gancho y te dice la función entonces tú puedes decir pues no me ejecuta esto o puedes decir ejecuta me esto antes de esto ahora vamos a ver más ejemplo entonces con este plugin tú puedes ver todo lo que se va ejecutando en las líneas verdes son ganchos entonces tú podrías decir por ejemplo enséñame antes del título pues una imagen más pues es con atractivo no vamos a un poco cómo funciona los hoops pero básicamente para sacar la idea es que tú modificas cosas que tú quieres dice por ejemplo yo quiero antes del título que se enseñe una imagen pues tú le dices a action en nombre de del gancho espacio tu función y en esa función porque dices que posee un mail por ejemplo cualquier función que cargue una imagen vale entonces digamos que tú son sitios donde tú puedes hacer cosas y existe también we come to come puedes cambiar todo sin tener archivos de plantilla en tu plantilla hija cuáles son las ventajas que tiene una de puesto pero la mentada sobre todo se actualiza y no se rompe nada porque no tienes que modificar un archivo de plantillas porque tú lo que está haciendo es modificar cosas ya hechas espacios correctos espacios pero normalmente nadie no pero a veces no deja de funcionar lo que sí cambia alguna función te dice que te percates si tiene el debut a un puesto dentro te sale que por ejemplo los php 7 los los widgets cambian su estructura sales crearlos pues no sale ningún error cuando tú ves la página pero cuando lo pones de bus truck que sale que el constructor no estás de bien hecho o cualquier cosa no tiene ese problema de sentido porque vamos por ejemplo guttenberg sanqueros a la cabeza para hacer todo del sistema para que cuando tú desactivas guttenberg sigas teniendo contenido no tenga el famoso locking o el efecto de perder todo lo que tiene entonces como vemos como veis aquí por ejemplo por ejemplo este famoso acciones pero sin famosos anchos o especiales casi todos los plugins cargan los estilos cargan la los javascript los llevan casi todos los golpes oa golpes footer depende pero la mayoría se lo llevan a un pgr estuvo antes sitio aquí y aquí hay 22 funciones que se están ejecutando en ese espacio tú podría ejecutar e incluso tú podrías decir en qué prioridad porque tú dentro con si tú aquí encima en aquí lo veis pri de acero pues aquí tiene tres funciones perdidas uno tiene esta tras tu puedes decir por ejemplo puedes eliminar esa función tú puedes decirle move action el nombre o sea el tendréis que decir el hub que sería int como el nombre de la función de carga esta función se deja de cargar sí sí sí jajaja d simple simplício books se llama así si es que yo yo lo hacía con el visual dicho ahora vamos a enseñar pero aquellas funciones que por lo que sea no las encontraba y éstas que te enseña todo lo que se ejecuta en esa página y ahí lo sabes perfectamente sí pero es más avanzados y correcto después pero este es solo para ajustar a gancho o sea si funciona provocará tú enseñas un número no pero vamos a seguir puede hacer que sea sobre mis trabajos si es mejor local no pero puede ser lo que dices y si tomara estas cosas que has y más hacerlas local vaya que rompa algo pero bueno que sí que sí que se puede hacer también producción en el archivo de gestión tú dices por ejemplo una cosa muy sencilla el título hay en páginas que utilizan ese interés a enseñar títulos por ejemplo la página edición para decir nunca poner el título entonces qué haces pues aquí tienes y tiene una función que tiene seis buenos haití que es que el lobo y aquí tienes en twitter se llama pues tiene sintetiza estuve y cerré muy activo el hook donde está porque como tú lo miras desde aquí dice a poder este el jugo y entonces eliminar eliminar el título o eliminar esta parte o eliminar a reuters o sea por ejemplo una página la gripe por ejemplo que siempre es la página donde no queremos enseñar nada no queremos tener puntos de fuga o cualquier cosa porque hacemos pues que le quitamos luego tipo le quitamos la al pie de página quitamos la barra lateral nos limpiamos todo pues todo eso son pequeños en nippes pequeñas recetas que va esto añadiendo en destrucción de la plantilla hija si necesitaba texto en el mismo wordpress y ver las funciones que se ejecutan sí sí sí cómo funcionan pues los who to action nombre del hub para alguno para andar o sea esto está durante todo el word press y durante todo el yen exigiendo el valorado del wordpress y en ese entonces el plugin anterior no ha dicho dónde se estaba ejecutando esas cosas y trazas esos espacios no lo deja para que nosotros podamos añadir cosas o podamos cambiar cosas entonces esto vaya nativo en word prejean tiene si mal y nosotros hacemos un activo o un remo action que decía lácteos haga que por ejemplo lo que decimos si queremos añadir cosas por ejemplo el ejemplo del título que nos enseña una foto pues nosotros en nuestro función punto php pondríamos una acción el hook donde está que lo hemos visto a través del plugin anterior y la función nosotros hacemos una función y decimos enseña está la imagen y ya tendríamos tendríamos eso entonces y país trazando una forma muy segura de modificar plantillas padres de manera que puedan mantener que eso es fundamental mantener actualizado el wordpress y las plantillas entonces a lo que venía preguntaba gustavo o sea nosotros tenemos yenes y frame busquen el tema padre ese no los modificamos eso está bien verlo por dentro porque te enseñan la estructura de cómo nos muestra los html toxo pero no se tocan porque el que estás utilizando y fijaros el tema hijo puede aceptarse como esto como un archivo fusión y un estilo de puntos de ss ya está actuando fusión va añadiendo esas recetas que hemos dicho vas cambiando cosas vas quitando cosas y al final es lo que hace esa cambias plantillas y luego en el estilo css se van modificando estilos pues podemos modificar estilos de el tipo de letra fondos a todos aquí realmente es donde cambia el estilo de la página web y fuster de cambia la estructura de la estructura de estilo no sé si cuando así será génesis amplia el tema y hasta así empieza así el lugar que añado widget pero una carpeta huella y añado desde fusión creo o sea cargo los archivos del widget por ejemplo bueno por ejemplo sí bueno ahí en la fusión diría que está esta página ahora vamos a ver algunas por ejemplo hago un widget de portfolio si no lo meto en en el site build desde se origine método el widget y me carga el fútbol y luego después si estén en una página archivo si es archivo de d por ejemplo de ese portfolio pues en fusión luego que si es una página archivo de portfolio a nuestro como decía me esto cambia nuestro no podría hacerlo también realmente es una forma de trabajar se puede hacer yo trabajo sobre william pero podría hacer eso podría hacer un paje y un bajo portfolio y lo pone en una plantilla y hay caras también se desarrollan sí sí sí pero sí si se es otra forma sería es siempre el modo un poco no no en el futuro tienes felipe a cascoporro no tiene bueno no tarde la verdad entonces es una forma y otra forma de control de versiones del tema pero para eso estaba con el control de versiones ya sea otro tema sería tema es que no puedes ver esto es para trabajar en local y con el debut club estás sacando todo es cuando tienes los cambios funcionan sube los cambios pero no la forma segura trabaja en local con tu wordpress puesto y subí y con la rueda he hecho porque muchas veces hay cosas que no terminan de terminar de hacerlas del todo entonces no puedes dejarlas en la página medio hecha yo te diría que lo más seguro es trabajar en local y los archivos los modifiquen los sumas si sea y ya está claro a ver el tema es cuando el desarrollo propio de esto cuando te lleva una plantilla estas cosas pero cuando tu ya buena plantilla tu puedes en el propio yenes y puedes meter funciones dentro de bases de datos para que no modifica archivos entonces esa es la forma más segura para el tema que vosotros estás comentando por ejemplo si quieres cargarte el frutero que sea y no quieres que establecer las funciones dentro del propio genesis la base de datos o sea tú entras a wordpress yenes y si hay modificaciones de plantilla y puedes poner sentencias entonces elevamos la forma sí sí porque si tú quieras para actualizar el tema hijo pierde se pierde los cambios si es incorrecta o sea que la mejor forma sería si vas a trabajar de esa manera con una plantilla sería hacerlo en el constitucional de wordpress o en el propio editor de wordpress que te permite meter funciones y en yenes y también tpm trusted funciones pero bueno estamos dando cosas muy livianas es que si tú estás trabajando de un tema hijo tampoco va a modificar muchas cosas en teoría y de css tampoco el arte mágico está hecho con una cabecera negra que roja pues no la va a modificar la plantilla te vas al editor a la constitución a los postulados que os sacaron hace poco wordpress tabasco optimizada y va añadiendo líneas veces s hay unos cuantos trabajos en caliente directamente al trabajar en caliente a trabajar caliente polarizar el último costo modificador de wordpress y directamente ahí sí tienes que modificar css pues va añadiendo ccs un poquito peligroso si verdad más que tiempo cuando esta casa sobre todo como decía no tocas temas de fusión la mano más que se te rompa continuamente ya veces bueno el punto y coma ese famoso es que siempre se te olvida que si algún lado en los files los que sí trabajan caliente y no tienen de bus truck te salen las 500 entonces no ven nada entonces el tema de producción para estas cosas es más conflictivo la radio bueno la guía de gancho de llanes y si buscáis visual juzgáis vale aquí te dice todos los bienes y si queréis hoy vamos viendo tiempo vamos a comentarlo es básicamente lo que decía tenemos los ganchos y la función nosotros aquí tenemos por ejemplo tiene 66 que es description génesis haití tel entonces este por ejemplo la primera que yo cambie en todas las plantillas o sea porque por defecto me viene un texto que me parece que es el nombre de página y aquí la descripción pues todo me lo cargo y meteorólogo entonces yo lo que hago es que en una dos líneas digo remote action génesis site el safety tel y en ese perdón a vamos a hacerlo bien vemos acción tiene seis genes o más bien existen site el cierre ya me he cargado este mal otro otra sería de axxion yenes y xerez con la función yenes y siete eclipses activo tienes que ver pongo añadir luego acá sin estado sí sí sí esto ya no existe de rain es este espacio entonces muy bien para saber qué depende hay páginas que por ejemplo los unos no necesita este espacio hay un snippets por ejemplo dice en google buscar un remo tiene silla de ruedas y te sale un cien páginas que hace entre dice la 700 hay una sentencia que incluso es nativa de wordpress de yenes y es un red un register si de bar que eso está muy útil porque tú digamos que quita si de bar que no va a utilizar d son diferentes hacia más diferentes son diferentes hombres son ganchos son ganchos no son ganchos estas estructuras por eso decía que footing punto php para cambiar estructuras cuando tu entrada cambia estructura por ejemplo tienen si a ustedes no te metes aquí un menú pues tú si te quieres que haga este menú pues tú pones remus action y en este género y la función que te salga del plugin que hemos visto antes d sí sí bueno a ver hay cosas si hay ahí pero la mayoría es cuando cargan tus lo pones directamente para ir a otras como dices que tú tienes que hacer un atractivo y ver qué es lo justo al principio y metas funciones porque hay veces que no te las cargas por ejemplo yo meto todo en función punto php entonces yo digo pues yo quiero que en la página singles vales inglés tenga si deba o porque yo ya he definido en todas las que sean páginas completas entonces yo pongo action game head es mi función en esa función le digo fish single a esto me parece que era detienes y para definirlo hay un por ejemplo ahí brian gardner tiene un montón de entrada de y hay muchos ni puede decir pues por ejemplo me parece que lo tiene así site génesis layout 6 ley aun entonces tienes la llave yo le digo difíciles tienes islas y el valor que quiero hacerlo pues content guión bajos y de abajo tanto eso no tenéis mal entonces en definitiva vamos modificando cosas por ejemplo y una cosa que hago mucho es por ejemplo antes de que empiece el contenido y empiece en la barra lateral que haya una imagen destacada pues utilizó este éste tiene schiphol consten si de válvulas que hace que fuera del contenedor me lo pongo esta imagen que no quiero que esté que no quiero esté dentro del condenado que sea en emisiones si gasta jades y si veis cada uno te define en qué espacio está entonces yo creo que la imagen lateral este aquí justo en el ancho completo pues sería tener sillas tejer le pongo mi función y le pondría una prioridad 20 por ejemplo para que fuera justo después del menor no sé si me estoy explicando entonces que en definitiva estuvo utilizando los pases para quitar cosas para poner cosas por ejemplo que tenemos yenes y heather muchas veces la barra está superior siempre que hay muchas veces en las páginas de tienda online para registros después en yenes y que después se les pone con una prioridad 5 por ejemplo porque casi todas las funciones empiezan por primera 5 10 15 sobre todo para que tú puedas meter cosas antes entonces pues tú tienes y heather su función coma y prioridad 3 entonces sabes que va a ejecutarse antes de estos distritos tú ya la mente pues el espacio sí no puedes crearlo pero no te hace falta no te hace falta para crear un hd to action pero nunca lo que tiene tanto que fijaros bueno si tengo las páginas siguientes que ya te coges fíjate fíjate antes de terminar la entrada tiene aquí unos cuantos es ese no porque haría no para eso lo mismo que tú estás diciendo lo mismo que estás diciendo si va a hacer varias sesiones cuando termine la sección normal les dice abastecen tree que sería aquí en el contenedor de la entrada o after content que ya te coge también la barra de atrás si quieres que sea justo después sí sí sí digo no pasa así lo dice bien estoy contento le mate la segunda sección metiendo claro porque todas se están definiendo y todo esto pues vas hasta lo que tú quieras incluso tú está para descargar este el loop este tiene sí llena sin luz y en seis luto para desquitar que no te carguen nada si tú la monta eso en una plantilla entonces te carga por ejemplo choca un poco cuando estás trabajando plantillas archivos se choca muchísimo y a mí me gusta pues no te vas al festín y empezar a mirar cosas sí si no eso son descubrimientos porque yo trabajaba esto y quiero imaginar porque aquí esta es la estructura base pero lo mejor por lo que se anota y está en una página y empieza a buscar y no encuentran nada de muchísimo tiempo entonces al final con el plugin sabe exactamente en la página que estás que está ejecutando entonces es para lo que tú dices pues tú te cargas como puede hacer un remo porque en los filtros no hablando de los filtros de los filtros para modificar cosas que se han ejecutado alcistas das por ejemplo lo aceite lo utilices un poco la verdad pero por ejemplo si tú por ejemplo aquí dice you are here que aunque esta traducción españa todo está aquí si quieres decir tú estás aquí que sea bienvenido por ejemplo pues sería una filter y modificaría s textos para modificar texto si por ejemplo buscamos por ejemplo funciona muy bien confía con filtro y con acciones como igual a 7 como tú puedes ir bajando al final te vas cargando cosas por ejemplo la página de inicio casi siempre te la carga del sistema de hacerle muchos siguen con tres y demás y de la carga entonces tú con el contenido que es página completa por piezas con el plagio 6 giorgi podéis decir una foto aquí tiene un texto aquí ahora quiere una foto entera va añadiendo como un pequeño gris que eso se va a quitar cuando tengamos guttenberg y bután de estos pastores no trataremos pasar a gustar no no me refiero a lo definido a la hora de modificar cosas no está más d sí carpetas de empleo en un área las plantillas de página si puede hacerlo qué cambio la mover el ramo ver génesis loop y agostino de pepita poco sí claro sí sí no fijaros porque hay que tarea el loop y generaría otro modificados correcto de hecho ya no existen estructura memoria tiene cada uno este por ejemplo es un ejemplo esto una plantilla que es landing no está aquí el nombre plantilla landing templete landing que aquí se ve regular entonces este plantel también como veis aquí no hay ningún html ni como veis no hay nada simplemente snipe y al final siempre tengo cargar la función y en el siguiente paréntesis punto y coma aquí realmente tiene seis landing está por ejemplo de la página de aterrizaje en la que tú intentas que no haya menú paquete para que el usuario no se pierda para que haga lo que queremos que haga pues rellenar un formulario o comprar algo por ejemplo yo lo hice mucho en el carrito de compras cuando va al carrito que no haya nada que se vaya a ir tío o en el finalizar compras esta es la que viene bien en mi tema hijos y siguen porque hay veces que sí sí correcto entonces aquí por ejemplo hace un filter para para el body clase a para body ponerle un nombre que es landing page todo sonamipe aquí otro nivel este manejo no no este no es este es una plantilla una plantilla de página de página de página si este será pajín bajo ph por ejemplo cosas claro sí sí sí sí tú todo esto añadido esto lo que ejecuta el viernes y es todo y todo lo que ha ejecutado antes son modificaciones a la que sale entonces cómo está una plantilla para la plantilla una planta es una plantilla de página una plantilla de página que afina plantilla y plantilla como una plantilla de página yo no estaba por ejemplo quiero quitarme y no tienes idea de ver aquí el árbol gancho quítame en la cabecera y aquí en estas tres sentencias a cargar a la cabecera de riverton quítame el menú mar como acción y también antes de pisón los brass crash es decir quiero que no pueda navegar en before footer y también la huella área la huella áreas son si acordáis cárter lado si tienes incluso test antes del fut ertl footer pues bien si mi footer tiene witcher ya tienes tres widgets para poder modificar poder poner todo una de las cargas en landing page carga tema y luego aquí en jerseys frutas también te lo carga entonces esta página por ejemplo pues se ha cargado un montón de cosas que no queremos que aparezcan y luego ejecuta media en sfax jones y tu nueva para infusión si tú haces todo esto toda la página se va o sea todo lo que hemos hecho aquí se va a reproducir en todas las páginas entonces fusiones cuando quieres que se haga para todos este sería para seguir un bajo landing sería para la página de rescate de aterrizaje rescate no entonces siempre ejecutando la función ya necesito aquí va haciendo estancia entonces hay sentencias para todo hay en register 6 si de bar por ejemplo para quitarla la parte de arriba derecha por ejemplo si quieres quitar esta parte para quitarla hay una sentencia si quiere añadir cosas al action y y al final pues va añadiendo quitar las cosas es una forma diferente a la de utilizar una plantilla cuando te hice una plantilla padre una plantilla hija y hacer cambios de archivos lo que hace es que copies como comentaba copiar el archivo y entonces modifica y dentro de ese archivo html hay funciones de wordpress y todo esto es que esto no está es que tú dices quiero cambiar esto quiero cambiar lo otro o quiero poner esto quiero quitar esto porque ninguno sí sí porque realmente mientras está quitando cosas solo sí vale efectivamente me ha faltado no termina aquí si podemos puesto una acción ya en exige haber y ahí en esa función podríamos un html y ya tenemos así es sí sí claro esto lo lleva la fusión foster utiliza un condicional que es ‘la acción’ al xerez porque como tiene que cargarlo antes y dentro de ese que heather le dice enlace a un condicional y fit singer se ejecuta en este código se recogería este código y lo pondría en fusión pero ejecuta menos solo con un condicional si es páginas y bifes y ese archivo difícil es otra cosa o puede hacer otra cosa también que sería más sencillo lo mejor que es crear una página por ejemplo archivo punto php que sabes que se va a cargar en el archivo tú le pones genesis entre paréntesis y tú les modifica las cosas igual que esto y la verdad me falta el ejemplo de decir adaption y decir un html 17 ml pero son son porciones no ya él ya el ht metro están modificando de esa función ya para nada se puede poner correcto sí sí muchísimo más limpia es correcto sí sí con archivos como cómo es ese vídeo el anterior me mira tiempo que estaban bastante bien y dio la estructura de plantillas de archivos en una plantilla y efectivamente si tú la tienes y sample bueno la plantilla que tú tengas y le añade un archivo estudia modificar las cosas que tú quieras correcto si quieres si quiere modificarlo para todas las páginas te vas a fusión si por ejemplo si quieres cargarte en la cabecera porque en la página ordena cabecera pues el ritmo esto pone o quita la cabecera la pone en función de la carga es para todas en estos tres entonces está cargado todos si me suena algo pero no viajo no por qué ah bueno claro sin miedo al código un poco pero si el propio génesis tu poder definir cómo quieres la página al final al final solo código bueno si queréis entrar dentro de una página bueno sí podemos no pero con la plantilla hija que hemos dicho te quita eso en el culto michel de wordpress te lo puedes esperamos sí sí que no lo tiene claro existencia ahora sí cómo empieza el código a ver sí es verdad que claro las páginas cada vez tienen más contenidos nos pasa que cuando habla con un cliente porque te dice que tiene muchos tiene mucho contenido y entonces cada vez son más ricas en el sentido de que varía muchísimo la maquetación para eso están maquetadores lo que pasa que los marcadores que por ejemplo tipo de ibi tipo visual composer la parte de muchos inconvenientes principalmente en la carga es son más lentas las páginas más difícil utilizar los toda vez con visos compás este salón page speed de 2026 y esa parte que no tiene estructuración de datos hasta que pierdes todo cuando tú lo desactiva pues tienes que crear la página a través de nuevas entonces silvera gramajo yo yo y me dio mucho al tema de código pero sí es verdad que tienes para todo lo que estamos haciendo lo puedes en la misma página cuando trata de una página puede decirle quitarles y llevarlo para elegir y el propio necesite de las opciones de yenes y te permite también modificar todo eso sin tener que hacer sentencias padre página hija sí sí sí sí sí no sé y cosas así si te queda pasada ya necesiten las casas todo otra vez si de dentro tienes que las partes que ha hecho si si las partes que ha hecho las puedes añadir que no quede pegada efectivamente valen claro si todo eso te vale pondría a acción lo que dice tiene si quieres su función y entre paréntesis pones aquí tu trozo html o de javascript bueno si si eso fuera en la cabecera si fuera otra cosa pues pondría donde quisiera tener que modificar un poquito pero ese es el código lo puede reutilizar claro no lo pierde sí exactamente muchas veces y lava sí sí troceando por trocitos y cambias y porque lo primero que llené si tiene todas las funciones básicas tiene todos por eso fijaros que aquí no he puesto nadie siete meses y modificado la plantilla entera entonces todas las plantillas son muy pequeñas ya visto tiene dos archivos son muy pequeñas ocupan muy poco van cinco pilares son muy pequeñas entonces pero utiliza esa estructura aunque parezca que es más lío o sea parece que es más paso pero no no sea que tienes y si es verdad que no sé si ocupa con malla ocupa muy poco entonces pero si te da las funciones básicas y todas las este m l y todo el css de base y entonces luego tú con yenes y modifiquen la plantilla las cuatro modificaciones que esto necesita vale entonces pero todo en ese proceso aunque hay tres pasos pero bueno así para hacer la plantilla lo mejor se siempre hay que utilizar plantilla hija porque la plantilla de padres y se actualiza se modifica otan las bases que hago una plantilla padre que en este caso cuando trabaja con banderas de scouts pues está hecho para que solo haga una plantilla padre una 6 lo que pasa que luego la buscamos soluciones como y entonces es tenga mucho más una capa de traerte los pueden vender donde tú quieras e consulta entre mañana y luego anotar dos veces en todos los vídeos fotografías ya sabéis los auditores los editores visuales han llegado para quedarse es decir lo que pasa que hay que trabajar editar visuales que sean muy livianos que suponen muy poco que no te carguen tanto entonces todo ese modificaciones es la puede hacer en propiedad y todo visual hay varios por ejemplo he dicho page will de 6 origin que está muy bien pero también recomienda elementos que también muy liviano y cuando llegue a gutenberg se carga unos cuantos porque ahora mismo hay un mercado un montón de nate que me decía en ate press también tiene su propio maqueta lado a él si se trabaja si vas a trabajar con su padre will de trabajar con córcoles pueda utilizarlo para cotizar primos widget sí sí es una decisión no va escribiendo no pero no no no al futuro no al foto será en las modificaciones que tú tienes y en el ajuste del tema y en gutenberg será el estilo que por ejemplo tú has definido en en una página completa pues todo lo que has querido poner es decir que que tú tú temas por ejemplo el no decir la página de portafolio no el otro a lo mejor después de la página porque ante el portafolio quieres poner un poco de contenido o una imagen botones con guttenberg igual que las compases wilder 6 origin pasa ejecutemos está mucho más logrado en tema de interfaces tú vas arrastrando elementos entonces tú dices pues quiero que me enseñe la los portfolios quiero que me enseña un contenido antes y quiero que me ponga una imagen antes para presentar porfolio por decirlo contenida sólo dentro sí sí la ventaja que tenemos sí sí bueno pero pero bien hecho pero bueno si están ahí nada yo creo que van a utilizarlo pero no van a regenerar si gusta no lo utilice en página de producción porque está en beta 1 punto ha dado puesto las columnas si es muy importante eso fue una petición de más de una vez total que lo que decíamos para también para los que tocan en menos códigos pues tenéis vuestro vuestras tiendas de plantillas estudio press como decía tiene su propio viene con la génesis amplia que está pero bueno luego tienes por un montón y tener bulnes nuestro poco tenemos obras friday y podéis comprar pues las que por ejemplo quieren una foto aquí grande y quiero que mis dos temas entra no sé que todas todas pues tú tienes más experiencia de comprar más hijos de hennessy para una tienda no no sesenta euros cuánto valen 40 euros de plantilla pero cuando cuando ya eres cliente puedes comprar por separado y salen más baratos vemos con un poco más y los demás todos así teme que el proyecto de boluda y alex martín martínez ellos tienen me parecen a 120 euros al año y podría descargarte la plantilla que va subiendo pero bueno 120 euros al año y tienes todas las plantillas se supone no no esté de un pago por suscripción así quien se lo compraron 137 130 pasos han hecho actualizaciones también para la plantilla hija que eso está bastante bien actualizaciones para la plantilla y para mí pan está desconforme mental de aciertos i también y ahora está metiéndose en plantilla una especialista un hijo si se va a hacer ahora así y ese se va a hacer adaptaciones para plugins y ya está para temas de guía de uso esto lo tendréis hay una guía de uso de yenes y de que ha creado estudios press para pekín es para empezar te explica un poco un poco más detallada todo cómo está hablando boluda tiene varios cursos de yenes y yo era muy bueno pasa que es bueno yo tengo mi opinión en algunas cosas por empleo tiza plugin para no utilizar menos código pero bueno hacer cada uno yo también y ésta a mí me gusta mucho teletón ya que la que sale con nombre del carné tengo una fotito y ese examen también te ayuda a los que queráis los que os gusten mucho dejar con el código puro aquí tiene vamos te enseña como como programadas como seguir las pautas este este sigue el desarrollo puro y duro este para ir si no de cosas efectivamente es de tony james y está muy bien la tirada aplicando poco a poco pero trabaja todo código y este es más normal sea más genérico más explica más cursos yo no he visto la verdad yo recomiendo los que los que trabajan los primeros pero no si es que empecé con él y la verdad que con el inicial cuando ya empezar a conocer cómo funciona ha dicho mucho trabajar con google y dice yenes y siempre haciendo la búsqueda en inglés siempre haciendo la búsqueda en inglés por cuántas todo y está bastante bien y ya está terminado ah eso sí plugin que recomiendo yenes y si sale en inglés que se ha saltado bienes y simples seres se llama este génesis translation es para esto es fundamental cuando te instalas ya existe tienes que bajar estoy en esa transmisión que se traduce el producto en españa pero traduce en español yenes y todo el tema no no no es multi idioma no está para traducir lo que es la plantilla que como hacer un repositorio que tú puedes modificar ahí estamos todos produciendo bienes y simples yale para ponerlos a compartir y el pasaje sea más vas a poner lo que hemos hablado base burguesa y 6 origin --- ## Política PRivacidad CLOSEHUB URL: https://davidperezgar.com/politica-privacidad-closehub/ **Política de Privacidad de CloseHub** *Última actualización: 20 de junio de 2026* **Responsable del tratamiento** Closemarketing, SL**Email de contacto: david@close.marketing ¿Qué es CloseHub?** CloseHub es una herramienta de gestión interna utilizada exclusivamente por empleados y colaboradores de Closemarketing, SL para la administración de proyectos de marketing, conexión con plataformas de terceros y análisis de métricas. **Datos que tratamos** - Datos de acceso de usuarios internos (nombre, email, contraseña cifrada) - Tokens de acceso OAuth a plataformas de terceros (Meta, Google, LinkedIn, X) almacenados de forma cifrada - Métricas agregadas de páginas y perfiles de clientes obtenidas a través de APIs oficiales - Publicaciones de redes sociales de clientes importadas para análisis **Base legal** El tratamiento se basa en el interés legítimo de Closemarketing, SL para la prestación de sus servicios a clientes, y en la ejecución del contrato de trabajo/colaboración con los usuarios de la herramienta. **Conexión con plataformas de terceros** CloseHub se conecta mediante OAuth 2.0 con las siguientes plataformas: - **Meta (Facebook e Instagram)**: para obtener métricas e importar publicaciones de páginas gestionadas por la agencia - **Google (Analytics y Search Console)**: para obtener datos de rendimiento web - **LinkedIn**: para obtener métricas de páginas de empresa - **X (Twitter)**: para obtener métricas de perfiles - **Metricool**: para sincronización de datos de redes sociales Los datos obtenidos de estas plataformas se utilizan exclusivamente para la elaboración de informes internos y para los clientes de la agencia. No se comparten con terceros. **Conservación de datos** Los datos se conservan mientras la cuenta de usuario esté activa o mientras dure la relación comercial con el cliente al que estén asociados. **Derechos** Los usuarios de la herramienta pueden ejercer sus derechos de acceso, rectificación, supresión y portabilidad escribiendo a david@close.marketing. **Cookies** CloseHub utiliza únicamente cookies de sesión técnicas necesarias para el funcionamiento de la aplicación. No utiliza cookies de seguimiento ni publicidad. --- ## Blog URL: https://davidperezgar.com/blog/ --- ## Home URL: https://davidperezgar.com/ # DAVID ## PÉREZ Director Agencia CLOSE y revisor Plugins WordPress ## MI EMPRENDIMIENTO ### Close Marketing Agencia de marketing, desarrollo y diseño ### Close Technology Soluciones a necesidades tecnológicas ### WP AutoTranslate Traduce automáticamente a cualquier idioma ### Revisor de Plugins Oficial de WordPress ### Carrera Andrés Pérez Organizador de esta carrera benéfica en Granada ### Ninjas del Marketing Podcast para amantes y curiosos del marketing ## Tecnologías ## CONOCE A DAVID **Apasionado por tecnologías Web Abiertas, eficientes y rápidas** Me encanta la tecnología y cómo permite a las empresas ser más eficientes y conseguir mejores resultados. Leer más ### Un color distinto por proyecto en VSCode: el truco que evita que escribas en el repo equivocado Un color distinto por proyecto en VSCode: el truco que evita que escribas en el repo equivocado ### WordCamp Europe 2026 en Cracovia: mesa de plugins, las minas de sal y la gran sorpresa final Este año WordCamp Europe tocó en Cracovia. El vuelo del miércoles llegó tarde, así que me perdí el… ### Cómo preparar tu plugin para el directorio de WordPress.org En la WordCamp Europe de Cracovia estuvimos de ponentes Fran Torres y yo. Justo después de comer, con… Ver todos los artículos --- ## ¿Quién soy?: Desarrollador WordPress y Profesional del Marketing Online URL: https://davidperezgar.com/quien-soy/ Mis primeros inicios fueron allá por el año 2000, cuando empecé a hacer webs personales con el denostado Frontpage. Durante mi época en Centro Hogar Sánchez (2004), empecé a hacer mis pinitos realizando una web de catálogo de productos que se sincronizara con el programa de gestión. También participé en un portal de Comercio Online, donde fue creando mis inquietudes con el Marketing ya Online. El punto de inflexión fue cuando creé mi blog Closemarketing en Diciembre de 2006, que luego se ha convertido en empresa, hablando del marketing online. Ahí fui utilizando WordPress como plataforma para crear blogs y no fué hasta el año 2010, cuando ya hacía todo en dicho gestor de contenidos. ## Co-organizador de la WordCamp Granada 2018 ### Noviembre 2018 El pasado Noviembre, dentro de un Equipo organizamos el encuentro de Profesionales de WordPress. ## Director Closemarketing – Agencia de Marketing Online ### Marzo 2009 Perfil WP World: https://thewp.world/presser/david-perez-garcia/ ---