Cambiar los h2 de productos a h3 o a párrafo

Club para webmasters Foros Creación de páginas web Cambiar los h2 de productos a h3 o a párrafo

Viendo 5 entradas - de la 1 a la 5 (de un total de 5)
  • Autor
    Entradas
  • #50236 Karma: 0
    Javier Escobar
    Participante
    10

    buenas estoy itentando cambiar los títulos de productos de woocommerce de h2 a h3 o a párrafos

    Lo que sucede es que lo logro hacer pero solo si tiene una sola categoría. Cuando tiene subcategoría únicamente me lo modifica en la última subcategoría.

    He probado bastante códigos y los he introducido o bien con el code snippets o en el funtions.php del child theme. ¿Cómo puedo hacer para que me modifique los títulos de productos en la categoría principal y en todas las subcategorías?

    Aquí dejo el código que he añdido que como os digo si que se modifica en la última subcategoría, o en la categoría siempre y cuando esta no tenga subcategorías.

    Gracias y aquí pego uno de los códigos que he añadido Esto es uno de los códigos que he puesto

    //WooCommerce Change Title from H2 -> H3
    function wps_change_products_title() {
    echo ‘<h3 class=»woocommerce-loop-product__title»>’. get_the_title() . ‘</h3>’;
    }
    remove_action(‘woocommerce_shop_loop_item_title’, ‘woocommerce_template_loop_product_title’, 10);
    add_action(‘woocommerce_shop_loop_item_title’, ‘wps_change_products_title’, 10);

    #50238 Karma: 0
    Javier Escobar
    Participante
    10

    Hola, continuando

    El código que he puesto si que funciona si. El tema es que yo también quiero cambiar el título de las subcategorías. No me había dado cuenta que el h2 que quiero cambiar ahora mismo no es el de los títulos de productos que con el código de antes si que funciona si. Lo que quiero cambiar es el h2 de las subcategorías cuando se muestran en la categoría.

    Tengo una categoría que es
    Alquiler de equipos de iluminación ( hay tengo 3 subcategorias ( control, focos, fx ). Lo que quiero es también poder cambiar esos h2 (de la subcategorias cuando salen en la categoria principal ) ¿Sabéis a qué me refiero? ¿Cómo lo puedo hacer?

    Muchas gracias de antemano
    Javier

    #50239 Karma: 0
    Javier Escobar
    Participante
    10

    Igual es muy básico, yo no tengo ni idea de php pero buscando por ahí he encontrado este código que si que hace que en las categorías los títulos de las subcategorias salgan en texto, ahí lo dejo por si es útil para alguien como yo que no tiene ni idea de php

    remove_action( ‘woocommerce_shop_loop_subcategory_title’, ‘woocommerce_template_loop_category_title’, 10, 2 );
    add_action( ‘woocommerce_shop_loop_subcategory_title’, ‘woocommerce_template_loop_category_title_over’, 10 );
    function woocommerce_template_loop_category_title_over( $category ) {
    ?>
    <p class=»woocommerce-loop-category__title»>
    <?php
    echo esc_html( $category->name );

    if ( $category->count > 0 ) {

    echo apply_filters( ‘woocommerce_subcategory_count_html’, ‘ (‘ . esc_html( $category->count ) . ‘)’, $category );
    }
    ?>
    </p>
    <?php
    }

    #50240 Karma: 0
    Peluzo
    Participante
    1

    DISCLAIMER: No soy un experto así que sería mejor que lo revisara alguien con más conocimiento

    Buenas! Supongo que usas un tema basado en bloques y no un builder tipo elementor.

    No soy un experto que digamos, pero creo que para eso deberías utilizar «woocommerce-loop-category__title» (para las categorías) en vez de «woocommerce-loop-product__title» (que es para los productos).

    Pero si lo que quieres es cambiar solo la SUBCATEGORÍA tendrías que «filtrar» con una condición IF.

    // Si tiene padre, es decir, que es una subcategoría
    if ($category->parent != 0)

    Quizás podrías probar con este código:

    
    function wps_change_subcategory_title($category) {
        // Si es una subcategoría (tiene categoría padre)
        if ($category->parent != 0) {
            echo '<h3 class="woocommerce-loop-category__title">' . esc_html($category->name) . '</h3>';
        } else {
            // Sino lo mantiene igual
            woocommerce_template_loop_category_title($category);
        }
    }
    
    remove_action('woocommerce_before_subcategory_title', 'woocommerce_template_loop_category_title', 10);
    
    add_action('woocommerce_before_subcategory_title', 'wps_change_subcategory_title', 10);

    Si te fijas es el mismo código que para los productos pero con woocommerce-loop-category__title y usando un IF para que solo cambie las subcategorías

    #50241 Karma: 0
    Javier Escobar
    Participante
    10

    Gracias lo miraré también.

Viendo 5 entradas - de la 1 a la 5 (de un total de 5)
  • Debes estar registrado para responder a este debate.