Club para webmasters › Foros › Creación de páginas web › Cambiar los h2 de productos a h3 o a párrafo
- Este debate tiene 4 respuestas, 2 mensajes y ha sido actualizado por última vez el hace 2 semanas, 3 días por Javier Escobar.
-
AutorEntradas
-
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);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
JavierIgual 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
}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
Gracias lo miraré también.
-
AutorEntradas
- Debes estar registrado para responder a este debate.