Prestashop Products
WordPress plugin para mostrar productos de una tienda PrestaShop en entradas y páginas mediante un shortcode.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/enigmoio/wp-ps-products/archive/refs/heads/main.zipPS Products
WordPress plugin para mostrar productos de una tienda PrestaShop en entradas y páginas mediante un shortcode.
Requisitos
- WordPress 5.8+
- PHP 8.0+
- PrestaShop con Web Service habilitado (API REST)
Instalación
- Sube la carpeta
ps-productsal directorio/wp-content/plugins/. - Activa el plugin en Plugins → Plugins instalados.
- Ve a Ajustes → PS Products y configura la conexión con tu tienda.
Configuración
| Campo | Descripción |
|---|---|
| URL de la tienda | URL base de tu tienda PrestaShop, con barra final. Ej: https://www.mitienda.com/ |
| Clave de API | Clave del Web Service de PrestaShop. Se recomienda permisos de solo lectura. |
| ID de estado fiscal | ID del estado en PrestaShop para el cálculo del IVA. España peninsular = 355, Las Palmas = 351. |
| TTL de productos | Minutos que se cachean precios, datos de producto y combinaciones. Por defecto: 30. |
| TTL de datos estáticos | Minutos que se cachean categorías, nombres de atributos y valores de opción. Por defecto: 720 (12 horas). |
Crear la clave de API en PrestaShop
- Ve a Parámetros avanzados → Web service.
- Activa el Web Service si no lo está.
- Crea una nueva clave con permisos GET en los recursos:
products,combinations,categories,specific_prices,product_option_values.
Uso del shortcode
[psproducts type="slider|simple" slider="standard|center" products="id_producto:id_combinacion,..."]
Parámetros
| Parámetro | Valores | Descripción |
|---|---|---|
type |
slider (por defecto), simple |
Carrusel de productos o tarjeta única. |
slider |
standard (por defecto), center |
Estilo del carrusel. center requiere mínimo 5 productos. |
products |
id:combinacion,... |
Lista de productos separados por coma. Usa 0 como combinación si el producto no tiene. |
Ejemplos
Tarjeta simple:
[psproducts type="simple" products="1234:0"]
Carrusel estándar:
[psproducts type="slider" slider="standard" products="1234:0,5678:0,9012:0"]
Carrusel con combinaciones (tallas, colores…):
[psproducts type="slider" slider="center" products="1234:111,1234:222,1234:333,1234:444,1234:555"]
El id_producto e id_combinacion se pueden obtener desde la URL del producto en PrestaShop o consultando la API directamente.
Caché
El plugin usa dos niveles de caché:
- Nivel 1: Array en memoria (duración del request HTTP).
- Nivel 2: WordPress Transients (persistente en base de datos).
Dos TTLs diferenciados:
- Productos y combinaciones (
TTL de productos, por defecto 30 min): precios y datos que pueden cambiar con frecuencia. - Datos estáticos (
TTL de datos estáticos, por defecto 720 min): categorías, nombres de atributos y valores de opción.
La caché se limpia automáticamente al activar o reactivar el plugin. También se puede vaciar manualmente desde Ajustes → PS Products → Limpiar caché ahora, útil tras cambiar precios o imágenes en PrestaShop sin esperar a que expire el TTL.
Estructura del plugin
ps-products/
├── ps-products.php # Bootstrap y configuración
├── includes/
│ ├── class-settings.php # Página de ajustes en el admin
│ ├── class-api.php # Comunicación con la API de PrestaShop
│ ├── class-cache.php # Caché de dos niveles
│ └── class-shortcode.php # Renderizado del shortcode
├── css/
│ └── ps-products.css
├── js/
│ └── ps-products.js
└── vendor/
├── bootstrap4/
└── slick/
Licencia
GPL-2.0-or-later