Descripció curta en productes de Woocommerce


Woocommerce únicament té un camp per a text a les categories. Per a SEO pot ser interessant comptar amb 2 camps de text. Un de més breu, per al principi del contingut de la categoria, i altre més llarg baix del tot amb més detalls sobre el producte.

Per aconseguir això, primer creem un camp “Descripción corta”. Afegim aquest codi al functions.php:

// Añadir campo "Descripción Corta" con editor WYSIWYG
add_action( 'product_cat_add_form_fields', 'add_short_description_wysiwyg_field', 10, 2 );
add_action( 'product_cat_edit_form_fields', 'edit_short_description_wysiwyg_field', 10, 2 );

function add_short_description_wysiwyg_field() {
    ?>
    <div class="form-field">
        <label for="short_description"><?php _e('Descripción Corta', 'woocommerce'); ?></label>
        <?php
        $settings = array(
            'textarea_name' => 'short_description',
            'quicktags'     => true,
            'tinymce'       => true,
            'media_buttons' => true,
        );
        wp_editor( '', 'short_description', $settings );
        ?>
    </div>
    <?php
}

function edit_short_description_wysiwyg_field( $term ) {
    $short_description = get_term_meta( $term->term_id, 'short_description', true );
    ?>
    <tr class="form-field">
        <th scope="row" valign="top">
            <label for="short_description"><?php _e('Descripción Corta', 'woocommerce'); ?></label>
        </th>
        <td>
            <?php
            $settings = array(
                'textarea_name' => 'short_description',
                'quicktags'     => true,
                'tinymce'       => true,
                'media_buttons' => true,
            );
            wp_editor( htmlspecialchars_decode( $short_description ), 'short_description', $settings );
            ?>
        </td>
    </tr>
    <?php
}

// Guardar el valor del campo "Descripción Corta" con HTML permitido
add_action( 'created_product_cat', 'save_short_description_field', 10, 2 );
add_action( 'edited_product_cat', 'save_short_description_field', 10, 2 );

function save_short_description_field( $term_id ) {
    if ( isset( $_POST['short_description'] ) ) {
        // Guardar el contenido con HTML permitido
        update_term_meta( $term_id, 'short_description', wp_kses_post( $_POST['short_description'] ) );
    }
}

I després podem mostrar aquest camp creant un “shortcode” i mostrant-lo on vulguem, com per exemple a les plantilles d’Elementor. Copiem aquest codi també al functions.php per a crear el Shortcode:


// Crear un shortcode para mostrar la Descripción Corta de una categoría con HTML
function shortcode_descripcion_corta_categoria() {
    if (is_product_category()) {
        $category = get_queried_object();
        $short_description = get_term_meta( $category->term_id, 'short_description', true );
        if ( !empty( $short_description ) ) {
            // Aquí usamos wp_kses_post para permitir HTML seguro
            return '<div class="category-short-description">' . wp_kses_post( $short_description ) . '</div>';
        }
    }
    return '';
}
add_shortcode('descripcion_corta_categoria', 'shortcode_descripcion_corta_categoria');

El shortcode que haurem d’utilitzar és:

[descripcion_corta_categoria]
,

Deixa un comentari

L’adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Información básica sobre protección de datos Ver más

  • Responsable: Jordi Juan Pérez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a NICALIA que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad