❓¿Cómo lograste que los precios del WHMCS se actualicen solos en WordPress y además mostrar descuentos personalizados?

En este post te muestro cómo trabajé con WHMpress, el plugin que conecta WHMCS con WordPress, para lograr dos cosas:

✅ Automatizar la sincronización diaria de precios desde WHMCS.
✅ Personalizar los templates para aplicar descuentos visuales desde WordPress.


🔁 Sincronización automática con WHMCS vía Cron

WHMpress tiene una función de sincronización manual desde el panel de WordPress. Pero para automatizarla todos los días, podés crear un archivo cron.php y ejecutarlo con un cron job.

📄 Código del archivo cron.php

📌 Ejemplo de línea en el crontab

Este comando ejecuta la sincronización todos los días a las 3 AM desde el servidor.


🧱 Agregar descuento personalizado en los templates de WHMpress

Al usar Elementor podés insertar widgets como whmpress_pricing_table. WHMpress permite configurar:

  • Producto o servicio
  • Template visual
  • Moneda
  • Ciclo de facturación

Además, podés agregar descuentos personalizados desde WordPress, sin tocar WHMCS.


🔧 Cómo se agrega el descuento en el widget y el shortcode

Primero agregamos el parámetro discount en el extract() del shortcode:

Después lo agregamos al array $vars:


📦 Configuración en Elementor (archivo pricing-table.php)

📂 Ruta: /wp-content/plugins/whmpress/widgets/pricing-table.php

🛠 Agregar el campo de descuento

📤 Usar el valor en el render

Y pasarlo al shortcode:


🎨 Cómo mostrar el descuento en el template .tpl

📂 Ruta: /wp-content/plugins/whmpress/templates/whmpress_pricing_table/default

Usamos condicionales de Smarty para mostrar el monto con y sin descuento:

Esto permite mostrar visualmente el ahorro con un formato atractivo.


💰 Moneda dinámica según la sesión o cookie

Relacionado con el post anterior, también podés detectar la moneda activa con este fragmento:

Esto se integra perfecto con los shortcodes de detección de IP y selección de moneda que documenté acá 👇

🔗 ¿Cómo integraste WHMCS con WordPress usando WHMpress y además lo personalizaste con código propio?


✅ Resultado final

🎯 Precios actualizados automáticamente desde WHMCS
🎯 Descuentos configurables visualmente desde WordPress
🎯 Integración fluida con Elementor y WHMpress
🎯 Templates visuales adaptados con lógica PHP y Smarty

❓¿Cómo integraste WHMCS con WordPress usando WHMpress y además lo personalizaste con código propio?

👉 En este artículo te muestro cómo hice una integración entre WordPress y WHMCS usando el plugin WHMpress, agregando lógica personalizada en PHP para detectar la moneda según la IP del visitante, mantenerla en sesión, permitir que el usuario la cambie manualmente y mostrar una banderita al lado 👇


⚙️ ¿Qué es WHMpress?

WHMpress es un plugin premium que permite conectar WordPress con WHMCS, ideal si vendés servicios como hosting, dominios o VPS.

Con WHMpress podés mostrar productos y precios de WHMCS directamente en WordPress, usando shortcodes o widgets.


🧠 ¿Cuál era la necesidad?

Una empresa de IT necesitaba que:

🌍 Los precios se muestren en la moneda del país del visitante (por IP).
🧑‍💻 Si el usuario cambia la moneda manualmente, se respete su elección.
🏁 Agregar una banderita (o ícono) al lado del precio, según la moneda.


🧩 Solución técnica

A continuación te comparto los shortcodes y funciones personalizadas que agregué al archivo functions.php del theme:


🔍 1. Mostrar la IP del visitante

👉 Uso: [ip_cliente]
Esto permite debuggear o ver desde qué IP se está accediendo.


🌎 2. Detectar moneda por IP o por URL

👆 Este fragmento detecta automáticamente la moneda inicial según la IP o parámetro ?currency=USD.


🔄 3. Selector visual de moneda

👉 Uso: [selector_moneda]
Esto genera un pequeño dropdown para cambiar de moneda manualmente. Ideal para la cabecera del sitio.


🏁 4. Mostrar una banderita según la moneda

👉 Uso: [moneda_bandera]
Se puede usar al lado del precio o del selector para que sea más visual 🖼️


✨ Resultado final

✅ Precios dinámicos según país
✅ Cambios manuales de moneda respetados
✅ Visualización con íconos o banderas
✅ Todo usando shortcodes simples en WordPress

❓¿Cuáles fueron los pasos principales que seguiste para integrar la API de WordPress y mostrar las últimas publicaciones?

En esta publicación, quiero compartir una funcionalidad que recientemente me tocó agregar en el sitio web a una empresa, y que también he implementado en mi propia web. La idea es integrar la API de WordPress en tu sitio web o portafolio para mostrar las últimas publicaciones de tu blog. Es una funcionalidad interesante que puede añadir valor a tu perfil profesional al mantenerlo actualizado con tu contenido más reciente.

Voy a explicar cómo lo hice utilizando Laravel, un framework de PHP que facilita mucho el desarrollo web. A continuación, les muestro el código que usé para obtener las publicaciones de un blog de WordPress y mostrarlas en la web.

Paso 1: Obtener las Publicaciones del Blog

Primero, creamos una función en Laravel para obtener las publicaciones. La API de WordPress ofrece un endpoint para obtener los posts, que es: https://[URL DE TU BLOG]/wp-json/wp/v2/posts. Vamos a solicitar las últimas 3 publicaciones, pero este número puede ajustarse según tus necesidades.

Paso 2: Configurar la Función makeCurlRequest

Para realizar las solicitudes a la API de WordPress, utilizamos una función llamada makeCurlRequest, que se encarga de hacer la solicitud cURL y devolver los datos obtenidos. Asegúrate de tenerla implementada en tu código:

Paso 3: Actualizar la Vista para Mostrar las Publicaciones

Finalmente, debes actualizar la vista para mostrar las publicaciones con los títulos, extractos y, si es posible, las imágenes destacadas. El siguiente código es un ejemplo básico de cómo hacerlo en Blade, la plantilla de Laravel:

Consideraciones Adicionales

  • Reemplaza [URL DE TU BLOG] por la URL real de tu blog.
  • Si las publicaciones no tienen imágenes destacadas, la propiedad featured_media será 0. Puedes manejar este caso mostrando una imagen predeterminada o simplemente omitiendo la imagen.
  • Puedes personalizar la cantidad de publicaciones a mostrar cambiando el parámetro per_page en la URL.

Espero que esta guía te sea de utilidad si alguna vez necesitas integrar publicaciones de un blog de WordPress en tu sitio web. ¡No dudes en experimentar con la API de WordPress y adaptarla a tus necesidades!

❓¿Qué te motivó a pasar de crear sitios web estáticos a sitios web dinámicos con WordPress?

En los últimos años, después de haber trabajado en varios proyectos de sitios web estáticos para clientes, sentí la necesidad de explorar más allá del desarrollo básico y agregar funcionalidades que permitieran crear sitios autoadministrables o tipo blog. Sabía que, por la falta de tiempo, necesitaba encontrar una solución que facilitara la gestión y el mantenimiento. Fue así como me encontré con WordPress, una plataforma que, en ese momento, me permitió ofrecer soluciones económicas y rápidas para mis clientes.

WordPress: Ventajas y Desventajas

Para aquellos que no están familiarizados, WordPress es un sistema de gestión de contenidos (CMS) muy popular que permite crear y administrar sitios web sin necesidad de programar desde cero. Ofrece una gran variedad de temas y plugins para personalizar los sitios y agregar funcionalidades con facilidad.

WordPress me ayudó a cumplir con los proyectos de mis clientes sin comprometer otros trabajos que tenía en paralelo, como el soporte tecnológico, la administración de servidores y la gestión de mi negocio de productos y servicios informáticos. Sin embargo, trabajar exclusivamente con WordPress me dejó un tiempo sin programar, algo que lamento porque perdí práctica en el código, aunque fue la mejor decisión que pude tomar en ese momento para no rechazar proyectos.

¿Qué es un CRM?

Un CRM (Customer Relationship Management) es una herramienta que ayuda a las empresas a gestionar las relaciones con sus clientes, organizar la información de contactos, y automatizar tareas relacionadas con la atención y el seguimiento de los clientes. En el contexto de desarrollo web, un CRM puede integrarse para manejar mejor la interacción con los usuarios del sitio o para personalizar contenidos.

Un Proyecto Especial: Inventario de Meteoritos de Campo del Cielo

Uno de los proyectos más importantes en los que he trabajado fue la creación del inventario de meteoritos de Campo del Cielo, un área ubicada en la región del Gran Chaco, Argentina, conocida por su histórico campo de meteoritos. Allí se encuentran fragmentos metálicos provenientes de un meteorito que impactó hace miles de años, lo que lo convierte en un lugar de gran interés científico y turístico.

El proyecto consistió en crear una base de datos que incluyera aproximadamente 600 meteoritos, cada uno con su nombre, foto o imagen, y una funcionalidad que permitiera visualizar y descargar los objetos en 3D. Fue una experiencia desafiante y enriquecedora que me permitió aprender mucho sobre JSON y la integración de bases de datos.

Desafíos y Aprendizajes

A lo largo de la realización de este proyecto, tuve que investigar y adaptar funcionalidades para que el inventario de meteoritos fuera accesible y fácil de usar. Trabajé en el diseño del sitio web, la flexibilidad del CMS para manejar los datos, y en la incorporación de objetos en 3D, lo que fue una experiencia técnica nueva y fascinante.

Invito a todos a visitar el inventario y explorar los meteoritos en 3D; ha sido una gran contribución para la comunidad de Chaco, y estoy agradecido de haber participado en algo tan valioso que seguramente perdurará por muchos años.

👉Inventario de Meteoritos Campo del Cielo

Conclusión

Estos proyectos no solo me han permitido desarrollar habilidades técnicas, sino también aprender a trabajar con clientes y a gestionar múltiples responsabilidades. Han sido fundamentales en mi crecimiento profesional, y estoy emocionado por continuar explorando nuevos desafíos en el desarrollo web.