Hola chic@s!!
De nuevo pido vuestra ayuda.
Me gustaría que apareciera en las paginas de todos los productos un subtitulo de producto. Ya lo tengo hecho en la pagina de producto con el generador de temas y es global
, pero lo quiero en la pagina de todos. Esto tendría que ser global para todos los productos (creo que no existe la opción en wordpress, solo puedo escribir un titulo pero no un subtitulo)
Espero explicarme bien.
Adjunto imagenes.
Saluditos!! 😀
Contenido solo visible a usuarios registrados
Hola Nuria.
Puedes utilizar el siguiente plugin paar añadir campos adicionales:
-> https://wordpress.org/plugins/advanced-custom-fields/
.- instala el plugin Advanced Custom Fields (ACF) y crearemos un nuevo grupo de campos
.- Dentro de este grupo de campos, crea el campo ’Subtítulo’ (de tipo texto) y lo asignas a los posts de tipo producto
.- Edita los productos y veras que tienes un nuevo campo Subtitulo para añadir el texto que quieras en ese producto:
Para mostrar el subtitulo en la lista de productos tienes que utilizar una Función.
.- Accede a tu cuenta de cPanel -> Administrador de archivos.
.- Accede a la carpeta de tu instalación -> wp-content -> Themes -> tu plantilla
.- Edita el archivo functions.php y al final del archivo añade lo siguiente:
// Add product subtitle in archives
add_action( 'woocommerce_after_shop_loop_item_title', 'add_product_subtitle_in_archive', 40 );
function add_product_subtitle_in_archive() {
if (function_exists('the_field')){
if (get_field('subtitulo')){
echo '<span class="product-subtitle">', the_field('subtitulo'), '</span>';
}
}
}
.- Para añadir el titulo en la pagina del producto puedes utilizar la siguiente función:
// Add product subtitle in product pages add_action( 'woocommerce_before_single_product_summary', 'add_product_subtitle_in_product_page', 40 ); function add_product_subtitle_in_product_page() { if (function_exists('the_field')){ if (get_field('subtitulo')){ echo '<span class="product-subtitle">', the_field('subtitulo'), '</span>'; } } }
Nota: Recuerda realizar una copia del archivo functions.php antes de insertar el codigo para tener una copia del original.
Un saludo
Muchas gracias Pepe.
Ya instalado el plugin y el campo subtitulo insertado, pero no encuentro el archivo wp-content.
Puede ser que tenga que ver con que tengo diferentes dominios?
Que hago mal?
Gracias
Disculpa pepe.
Ya lo he encontrado, por lo que te decia de los diferentes dominios. Lo tengo en mi dominio de la tienda.
He añadido lo que me has dicho en function.php.
Lo segundo que me dices: "Para añadir el titulo en la pagina del producto puedes utilizar la siguiente función:". Donde lo tengo que añadir?
Hola
Ambos códigos van en el archivo functions.php, prueba añadir tambié el que te falta.
Saludos.
Gracias Pepe,
Ahora no sé exactamente que tengo que hacer para que aparezca en mis generadores de tema que he hecho personalizados, para que pueda insertar en subtitulo no me da la opción. No sé si me explico
Hola
El hook que te envió Pepe usualmente trabaja cuando usas la funcionalidad del theme standard, sin ningún constructor.
Si usas un constructor posiblemente podría no funcionarte.
Saludos.
ok, entonces en este caso no me sirve para nada el plugin. Lo elimino?
gracias
Hola Nuria.
No, el plugin funciona bien en Divi.
Una vez instalado el plugin:
.- Accede a Campos personalizados y añade uno nuevo.
.- Añade la etiqueta y el campo:
.- En Ubicación selecciona " Producto "
.- Guarda los cambios:
Con esto tendras el campo creado y si editas algún producto veras que tienes un nuevo campo con el titulo " Subtitulo " donde podras añadir el texto que quieres que se muestre:
Para que se muestre en al lista de productos tienes que añadir la siguiente función en el archivo functions.php que encontraras en la carpeta wp-content -> themes -> divi
// Add product subtitle in archives
add_action( 'woocommerce_after_shop_loop_item_title', 'add_product_subtitle_in_archive', 40 );
function add_product_subtitle_in_archive() {
if (function_exists('the_field')){
if (get_field('subtitulo')){
echo '<span class="product-subtitle">', the_field('subtitulo'), '</span>';
}
}
}
Puedes añadirlo al final del archivo functions.php
Ek resultado seria este:
Un saludo
Hola Pepe,
Creo y no estoy del todo segura que entiendo lo que me dices, pero a mi no me sirve, ya que la plantilla está hecha con un generador de temas global, y si pongo el texto en este caso "eau de parfum", me aparecerá en todos los productos ese mismo texto.
Para que sirve entonces este plugin? entiendo que dentro del producto está el subtitulo, pero no lo puedo asignar globalmente.
Hola
Si quieres agregar funcionalidad de subtítulo, usualmente usuaras hooks a través de código.
Sin embargo si usas un constructor, no esta preparado para hooks, por lo que posiblemente no será posible usar el código para que te genere el subgítulo del campo personalizado dinámicamente.
Saludos.