Avisos
Vaciar todo

[Resuelto] Personalizar el Título H1 a traves del Functions.php  

 
Jonathan
 Jonathan
Estimable Member

Hola. 

Estoy utilizando woocommerce con el tema rehub. Tengo productos y uso las Categorias de productos para poner las ubicaciones:

https://todoincluidotenerife.com/zona/costa-adeje/

Costa Adeje es la categoria del producto. El nombre de la categoria quiero dejarlo asi pero me gustaría unas palabras para cambiar el nombre de H1.

Me gustaria que fuera asi: Hoteles todo incluido en 'product_cat'

Y he probado añadiendo este codigo al functions.php pero no me acaba de funcionar. 

function custom_woocommerce_product_cat_title($title) {
if (is_tax('product_cat')) {
$term = get_queried_object();
// Personaliza el título para 'product_cat'
return 'Hoteles todo incluido en ' . $term->name;
}
return $title;
}
add_filter('get_the_archive_title', 'custom_woocommerce_product_cat_title', 100);

 

Pero no funciona. En otra web si que lo hice y funciono pero en esta no se como cambiar el nombre del h1 sin cambiar el nombre de la categoria.

Gracias por la ayuda.

Contenido solo visible a usuarios registrados

Respondido : 18/11/2023 4:54 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Jonathan, 

Lo que veo es que tu tema no está mostrando el título de las categorías, es posible que por ello no funcione este código. Puedes probar si con el siguiente código puedes configurar lo que necesitas

function custom_display_category_title_before_description() {
if (is_product_category()) {
$category = get_queried_object();
echo '<h1 class="woocommerce-products-header__title page-title">' . esc_html__('Hoteles todo incluido en', 'woocommerce') . ' ' . esc_html($category->name) . '</h1>';
}
}
add_action('woocommerce_before_main_content', 'custom_display_category_title_before_description', 20);

Un Saludo 

Respondido : 18/11/2023 6:12 pm

Jonathan
 Jonathan
Estimable Member

@karen Hola! Yo creo que sí que lo muestra. (ver captura)

Igualmente he puesto tu codigo para probar y sí que funciona bien, pero añadiendo un nuevo h1 y ahora sale por duplicado.

Captura todo
Respondido : 18/11/2023 7:20 pm
Jonathan
 Jonathan
Estimable Member

Hola. He estado buscando por internet y al final he añadido el siguiente código que me permite crear en la descripción de la categoría un H1 personalizado. Gracias!

 

add_action( 'product_cat_add_form_fields', 'bbloomer_add_category_alt_name' );
add_action( 'product_cat_edit_form_fields', 'bbloomer_edit_category_alt_name' );
 
function bbloomer_add_category_alt_name() { 
    echo '<div class="form-field">';
    echo '<label for="ctitle">Alternative title</label>';
    echo '<input type="text" id="ctitle" name="ctitle">';
    echo '</div>';
}
 
function bbloomer_edit_category_alt_name( $term ) { 
    echo '<tr class="form-field">';
    echo '<th for="ctitle">Alternative title</th>';
    echo '<td><input type="text" id="ctitle" name="ctitle" value="' . get_term_meta( $term->term_id, 'ctitle', true ) . '"></td>';
    echo '</tr>';
}
 
add_action( 'edit_term', 'bbloomer_save_category_alt_title', 10, 3 );
add_action( 'created_term', 'bbloomer_save_category_alt_title', 10, 3 );
 
function bbloomer_save_category_alt_title( $term_id, $tt_id = '', $taxonomy = '' ) {
    if ( 'product_cat' !== $taxonomy ) return;
    if ( isset( $_POST['ctitle'] ) ) {
        update_term_meta( $term_id, 'ctitle', $_POST['ctitle'] );
    } else {
        update_term_meta( $term_id, 'ctitle', '' );
    }
}
 
add_filter( 'woocommerce_page_title', 'bbloomer_edit_cat_page_title' );
 
function bbloomer_edit_cat_page_title( $title ) {
   if ( is_product_category() ) {
       $term = get_queried_object();
       $title = get_term_meta( $term->term_id, 'ctitle', true ) ? get_term_meta( $term->term_id, 'ctitle', true ) : $title;
   }
   return $title;
}

 

Respondido : 18/11/2023 8:43 pm

Cursos Gratuitos WordPress

Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Jonathan, 

Enhorabuena lograste encontrar lo que necesitabas, es un placer siempre poder ayudarte. 

No dudes en escribirnos si tienes cualquier otra consulta. 

Un Saludo 😊 

Respondido : 18/11/2023 9:03 pm