Personalizar WooCommerce con hooks sin tocar el núcleo ni el tema padre
Obtén el código para personalizar WooCommerce con actions y filters en un plugin propio: hook adecuado, seguridad, compatibilidad con HPOS y con el checkout por bloques, y plan de pruebas en staging. Pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Incluye 4 variables personalizables y se copia gratis en un clic.
Intermedio · Código · Pendiente de revisión editorial
Prompt
Actúa como desarrollador sénior de WordPress y WooCommerce que sigue los estándares de codificación de WordPress.
Contexto:
- Personalización que necesito: {{personalizacion}}
- Dónde debe aparecer o actuar: {{zona}}
- Versiones de WordPress y WooCommerce: {{versiones}}
- Tema y constructor que uso: {{tema}}
Entregables:
1. Enfoque: qué hooks (actions o filters) de WooCommerce o WordPress usarás y por qué; si existe una opción nativa o un ajuste que lo resuelva sin código, dímelo primero.
2. Aviso de compatibilidad: si {{zona}} usa el carrito o el checkout por bloques, explica qué hooks clásicos no funcionan ahí y la alternativa (API de extensibilidad de bloques o Store API).
3. Código completo como plugin pequeño (cabecera de plugin, prefijo único en funciones, comprobación de ABSPATH y de que WooCommerce está activo), no en el functions.php del tema padre.
4. Seguridad: sanitizar entradas, escapar salidas (esc_html, esc_attr, wp_kses_post), nonces en formularios y comprobación de capacidades en el administrador.
5. Datos de pedido compatibles con HPOS: usar los métodos del objeto WC_Order (get_meta, update_meta_data, save) en lugar de acceder directamente a postmeta, y declarar la compatibilidad.
6. Textos traducibles con __() y el text domain del plugin.
7. Plan de pruebas en un entorno de staging: casos normales, productos variables, cupones, usuario invitado y desactivación del plugin.
Restricciones:
- No modifiques archivos del núcleo de WordPress ni de WooCommerce.
- Si no estás seguro de que un hook exista en mi versión, márcalo como [VERIFICAR en la documentación de WooCommerce].
- Haz una copia de seguridad antes de instalar código en producción.
- Si la personalización es ambigua, pregúntame antes de escribir el código.
Formato: secciones numeradas, el plugin en un bloque de código PHP y pasos de instalación.Cómo usarlo
Explica el resultado que quieres ver y en qué página. Instala el plugin generado primero en una copia de staging, comprueba el carrito y el checkout con tu tema y luego súbelo a producción.
Ejemplo de uso
Personalización: campo obligatorio «NIF para factura» en el checkout que se guarde en el pedido y salga en el email · Zona: checkout · Versiones: WordPress 6.6, WooCommerce 9 · Tema: Astra con Elementor.
Resultado de ejemplo
2. Aviso de compatibilidad
En WooCommerce 9.x las instalaciones nuevas usan el bloque de carrito, donde woocommerce_before_cart no se ejecuta. Este plugin cubre el carrito clásico (shortcode [woocommerce_cart]); para el bloque haría falta la API de extensibilidad de bloques [VERIFICAR en la documentación de WooCommerce].
3. Plugin
<?php
/**
* Plugin Name: Aviso de envío gratis
* Description: Muestra en el carrito clásico cuánto falta para el envío gratis.
* Version: 1.0.0
* Requires Plugins: woocommerce
* Text Domain: aviso-envio-gratis
*/
defined( 'ABSPATH' ) || exit;
const AEG_UMBRAL = 50.0; // [COMPLETAR] igual al importe mínimo del método «Envío gratuito»
add_action( 'before_woocommerce_init', function () {
if ( class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) {
\Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true );
}
} );
add_action( 'woocommerce_before_cart', 'aeg_mostrar_aviso' );
function aeg_mostrar_aviso(): void {
if ( ! function_exists( 'WC' ) || ! WC()->cart ) {
return;
}
$falta = AEG_UMBRAL - (float) WC()->cart->get_displayed_subtotal();
if ( $falta > 0 ) {
wc_print_notice(
sprintf(
/* translators: %s: importe que falta para el envío gratis */
esc_html__( 'Añade %s más y el envío te sale gratis.', 'aviso-envio-gratis' ),
wp_kses_post( wc_price( $falta ) )
),
'notice'
);
}
}
wc_price() formatea en la moneda de la tienda (euros). Prueba en staging con cupones: si el envío gratis se calcula antes o después del descuento, ajusta el subtotal usado…
Datos clave
- Categoría
- Programación y desarrollo · WordPress
- Tipo de resultado
- Código
- Nivel
- Intermedio
- Pensado para
- ChatGPT, Claude, Gemini y Microsoft Copilot
- Verificado en
- Pendiente de verificación editorial
- Variables
- Personalización, Zona, Versiones y Tema y constructor
- Idioma
- Español
- Precio
- Gratis, sin registro
- Actualizado
- 07/11/2026
Preguntas frecuentes
¿Por qué un plugin propio y no el functions.php?
Porque el código sobrevive a los cambios y actualizaciones del tema y puede desactivarse con un clic si algo falla. Si editas el tema padre, perderás los cambios al actualizarlo.
¿Qué es HPOS y por qué me afecta?
Es el almacenamiento de pedidos de alto rendimiento de WooCommerce, que guarda los pedidos en tablas propias. El código que lee o escribe postmeta directamente puede dejar de funcionar, por eso conviene usar los métodos de WC_Order.
¿Funcionan los hooks clásicos en el checkout por bloques?
Muchos no, porque el checkout por bloques se renderiza de otra forma. Comprueba qué tipo de checkout usa tu tienda y, si es por bloques, utiliza la API de extensibilidad de bloques.
¿Para qué sirve este prompt?
Obtén el código para personalizar WooCommerce con actions y filters en un plugin propio: hook adecuado, seguridad, compatibilidad con HPOS y con el checkout por bloques, y plan de pruebas en staging.
¿Con qué herramientas de IA funciona?
Está pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Todavía no lo hemos verificado en estas herramientas, por lo que los resultados pueden variar entre ellas.
¿Cómo personalizo el prompt?
Pulsa «Personalizar» y rellena las variables (Personalización, Zona, Versiones y Tema y constructor). El texto se actualiza al instante y después puedes copiarlo con un clic. Los valores se guardan solo en tu navegador.
¿Necesito experiencia para usarlo?
Es de nivel intermedio: conviene que conozcas el tema para aportar buen contexto y revisar el resultado con criterio.
¿Este prompt es gratis?
Sí. Todos los prompts de HomeCasa Prompts son gratuitos, sin registro ni suscripción. Puedes usarlos también en proyectos profesionales.
¿Puedo fiarme del resultado de la IA?
Úsalo como un borrador de calidad: revisa siempre datos, cifras y afirmaciones importantes antes de publicarlos o tomar decisiones.