Para el SEO, es bueno tener un texto trabajado en las categorías de producto de nuestro ecommerce, ya que si va todo el texto arriba, desplaza los productos hacia abajo y esto reduce las conversiones.
Lo ideal es añadir una segunda caja de texto tras el loop de productos.
Se puede usar algún plugin, pero se trata de un código sencillo que solo tenemos que añadir al functions.php, con un plugin como code snippets o a través de un plugin personalizado.
Snippet para añadir segunda caja de texto en las categorías de producto de Woocommerce
// 1 - Agregar el campo personalizado con un editor WYSIWYG en el back de las categorías de producto
function agregar_editor_wysiwyg_categoria($term) {
$term_id = $term->term_id;
$valor = get_term_meta($term_id, '_segunda_caja_texto_categoria', true);
echo '<tr class="form-field">';
echo '<th scope="row" valign="top"><label for="segunda_caja_texto_categoria">Texto adicional</label></th>';
echo '<td>';
wp_editor(
$valor, // Contenido actual del campo
'segunda_caja_texto_categoria', // ID del campo
array(
'textarea_name' => 'segunda_caja_texto_categoria', // Nombre del campo
'media_buttons' => true, // Permitir agregar imágenes
'textarea_rows' => 5, // Número de líneas visibles
'teeny' => false, // Editor completo (false) o compacto (true)
'quicktags' => true, // Botones de etiquetas HTML
)
);
echo '</td>';
echo '</tr>';
}
add_action('product_cat_edit_form_fields', 'agregar_editor_wysiwyg_categoria');
function guardar_editor_wysiwyg_categoria($term_id) {
if (isset($_POST['segunda_caja_texto_categoria'])) {
update_term_meta($term_id, '_segunda_caja_texto_categoria', $_POST['segunda_caja_texto_categoria']);
}
}
add_action('edited_product_cat', 'guardar_editor_wysiwyg_categoria');
// 2 - Mostrar el Contenido en la Página de Categoría de Productos (solo se muestra si la categoría tiene productos)
function mostrar_segunda_caja_texto_categoria() {
if (is_product_category()) {
$term_id = get_queried_object_id(); // Obtiene la ID de la categoría actual
$texto = get_term_meta($term_id, '_segunda_caja_texto_categoria', true);
if (!empty($texto)) {
echo '<div class="segunda-caja-texto">';
echo wpautop($texto);
echo '</div>';
}
}
}
add_action('woocommerce_after_shop_loop', 'mostrar_segunda_caja_texto_categoria', 20);