// =========================================================
// TIENDA GESTOR TALLER – INTERFAZ PROPIA, SIN DEPENDER DEL TEMA
// Shortcode: [tienda-gestor]
// - Página full-screen futurista, responsiva
// - Configurador en admin: productos Planes/Módulos, video y colores
// =========================================================
// ---------- HTML del panel de carrito personalizado ----------
function miw_tienda_gestor_cart_panel_html() {
if ( ! class_exists( 'WooCommerce' ) || ! WC()->cart ) {
return '
post_content, 'tienda-gestor' ) ) {
return true;
}
return $is_shop;
}
// ---------- Interceptar la página y renderizar PLANTILLA COMPLETA sin el tema ----------
add_action( 'template_redirect', 'miw_tienda_gestor_fullpage_template' );
function miw_tienda_gestor_fullpage_template() {
if ( is_admin() ) {
return;
}
global $post;
$es_tienda_gestor = false;
if ( function_exists( 'is_shop' ) && is_shop() ) {
$es_tienda_gestor = true;
} elseif ( $post instanceof WP_Post && has_shortcode( $post->post_content, 'tienda-gestor' ) ) {
$es_tienda_gestor = true;
}
if ( ! $es_tienda_gestor ) {
return;
}
status_header( 200 );
nocache_headers();
if ( class_exists( 'WooCommerce' ) ) {
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'wc-add-to-cart' );
wp_enqueue_script( 'wc-cart-fragments' );
}
?>
>
';
}
$planes_ids = get_option( 'miw_tg_planes_products', array() );
$modulos_ids = get_option( 'miw_tg_modulos_products', array() );
$video_id = (int) get_option( 'miw_tg_video_id', 0 );
$video_url = $video_id ? wp_get_attachment_url( $video_id ) : '';
$color_bg = get_option( 'miw_tg_color_bg', '#000814' );
$color_btn = get_option( 'miw_tg_color_btn', '#22c55e' );
$color_btn_alt = get_option( 'miw_tg_color_btn_alt', '#16a34a' );
$color_text = get_option( 'miw_tg_color_text', '#f8fafc' );
$color_accent = get_option( 'miw_tg_color_accent', '#0ea5e9' );
if ( ! is_array( $planes_ids ) ) {
$planes_ids = array();
}
if ( ! is_array( $modulos_ids ) ) {
$modulos_ids = array();
}
$all_products = get_posts(
array(
'post_type' => 'product',
'numberposts' => -1,
'post_status' => 'publish',
'orderby' => 'title',
'order' => 'ASC',
)
);
?>
Tu carrito está vacío.
'; } $cart = WC()->cart; ob_start(); ?>
is_empty() ) : ?>
cart ) {
wp_send_json_success(
array(
'html' => 'Tu carrito está vacío.
-
get_cart() as $cart_item_key => $cart_item ) :
if ( empty( $cart_item['data'] ) || ! $cart_item['data']->exists() ) {
continue;
}
/** @var WC_Product $product */
$product = $cart_item['data'];
$product_name = $product->get_name();
$quantity = $cart_item['quantity'];
$thumbnail = $product->get_image( 'woocommerce_thumbnail', array( 'class' => 'tg-cart-thumb-img' ) );
$line_total = WC()->cart->get_product_subtotal( $product, $quantity );
?>
-
Cantidad:
Total del carrito
get_cart_total() ); ?>
Tu carrito está vacío.
', 'count' => 0, ) ); } $html = miw_tienda_gestor_cart_panel_html(); $count = WC()->cart->get_cart_contents_count(); wp_send_json_success( array( 'html' => $html, 'count' => $count, ) ); } // ---------- Render principal de la tienda (HTML + CSS + JS) ---------- function miw_tienda_gestor_render( $atts = array() ) { if ( ! class_exists( 'WooCommerce' ) ) { return 'WooCommerce no está activo.
'; } // Opciones de configuración $planes_ids = get_option( 'miw_tg_planes_products', array() ); $modulos_ids = get_option( 'miw_tg_modulos_products', array() ); if ( ! is_array( $planes_ids ) ) { $planes_ids = array(); } if ( ! is_array( $modulos_ids ) ) { $modulos_ids = array(); } $video_id = (int) get_option( 'miw_tg_video_id', 0 ); $video_url = $video_id ? wp_get_attachment_url( $video_id ) : ''; $color_bg = get_option( 'miw_tg_color_bg', '#000814' ); $color_btn = get_option( 'miw_tg_color_btn', '#22c55e' ); $color_btn_alt = get_option( 'miw_tg_color_btn_alt', '#16a34a' ); $color_text = get_option( 'miw_tg_color_text', '#f8fafc' ); $color_accent = get_option( 'miw_tg_color_accent', '#0ea5e9' ); $atts = shortcode_atts( array( 'per_page' => -1, ), $atts, 'tienda-gestor' ); $args = array( 'post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => intval( $atts['per_page'] ), 'orderby' => 'menu_order title', 'order' => 'ASC', ); $query = new WP_Query( $args ); $planes_products = array(); $modulos_products = array(); $default_plane_names = array( 'PLAN BASICO', 'PLAN BÁSICO', 'PLAN PRO', 'PLAN SUPER PRO', 'PLAN SÚPER PRO', ); $default_mod_names = array( 'REGISTROS', 'USUARIOS', ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); global $product; if ( ! $product || ! is_a( $product, 'WC_Product' ) ) { continue; } $post_id = get_the_ID(); $name = get_the_title( $post_id ); $upper = strtoupper( wp_strip_all_tags( $name ) ); $is_plane = false; $is_modulo = false; if ( ! empty( $planes_ids ) ) { if ( in_array( $post_id, $planes_ids, true ) ) { $is_plane = true; } } else { if ( in_array( $upper, $default_plane_names, true ) ) { $is_plane = true; } } if ( ! empty( $modulos_ids ) ) { if ( in_array( $post_id, $modulos_ids, true ) ) { $is_modulo = true; } } else { if ( in_array( $upper, $default_mod_names, true ) ) { $is_modulo = true; } } if ( $is_plane ) { $planes_products[] = array( 'post_id' => $post_id, 'product' => $product, ); } if ( $is_modulo ) { $modulos_products[] = array( 'post_id' => $post_id, 'product' => $product, ); } } } wp_reset_postdata(); ob_start(); ?>
Gestor Taller
Tienda de planes y módulos
TIENDA OFICIAL · GESTOR TALLER
Planes y módulos para tu operación técnica
Elige el plan de suscripción o módulo adicional que mejor se adapte a tu negocio. Todo se integra con Gestor Taller y está pensado para crecer con tus servicios técnicos.
Planes
PLAN BÁSICO · PLAN PRO · PLAN SUPER PRO
get_price_html();
$add_to_cart_url = $product->add_to_cart_url();
$add_to_cart_text = $product->add_to_cart_text();
$product_link = get_permalink( $post_id );
$categories = wc_get_product_category_list( $post_id, ', ' );
?>
No hay planes configurados para mostrar.
Módulos
USUARIOS · REGISTROS
get_price_html();
$add_to_cart_url = $product->add_to_cart_url();
$add_to_cart_text = $product->add_to_cart_text();
$product_link = get_permalink( $post_id );
$categories = wc_get_product_category_list( $post_id, ', ' );
?>
No hay módulos configurados para mostrar.
Configuración guardada.
Configurador de tienda Gestor Taller
Selecciona qué productos se mostrarán como Planes y como Módulos, el video destacado y los colores de la interfaz.
