WP Manifestindependent plugin directory
manifest / ecommerce / wp-ps-products

Prestashop Products

WordPress plugin para mostrar productos de una tienda PrestaShop en entradas y páginas mediante un shortcode.

by Enigmo · github.com/enigmoio/wp-ps-products

1stars
0forks

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.zip

PS 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

  1. Sube la carpeta ps-products al directorio /wp-content/plugins/.
  2. Activa el plugin en Plugins → Plugins instalados.
  3. 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

  1. Ve a Parámetros avanzados → Web service.
  2. Activa el Web Service si no lo está.
  3. 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