Hola compañeros,
Por favor, me gustaría añadir un par de funcionalidades a mi web a través de un child theme y siguiendo un tutorial externo no me ha funcionado. Al activar se ha caído el servidor. Al volver al functions.php original he recuperado el funcionamiento normal de la web.
Quisiera saber cómo tengo que proceder para añadir la funcionalidad siguiente a los formularios de divi.
1) Envío copia al destinatario (suscriptor)
<?php
// Exit if accessed directly
if ( !defined( 'ABSPATH' ) ) exit;
// BEGIN ENQUEUE PARENT ACTION
// AUTO GENERATED - Do not modify or remove comment markers above or below:
if ( !function_exists( 'chld_thm_cfg_locale_css' ) ):
function chld_thm_cfg_locale_css( $uri ){
if ( empty( $uri ) && is_rtl() && file_exists( get_template_directory() . '/rtl.css' ) )
$uri = get_template_directory_uri() . '/rtl.css';
return $uri;
}
endif;
add_filter( 'locale_stylesheet_uri', 'chld_thm_cfg_locale_css' );
if ( !function_exists( 'chld_thm_cfg_parent_css' ) ):
function chld_thm_cfg_parent_css() {
wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'style.css', array( ) );
}
endif;
add_action( 'wp_enqueue_scripts', 'chld_thm_cfg_parent_css', 10 );
/* Enviar copia de formularios Divi al remitente */
add_filter( 'et_contact_page_headers', 'copia_formulario_divi_remitente', 10, 3 );
function copia_formulario_divi_remitente( $headers, $contact_name, $contact_email ) {
$headers[] = 'Cc: ' . $contact_email;
return $headers;
}
// END ENQUEUE PARENT ACTION
2) Cambio de la direcciónn del correo de envío+
Había leído que con esto lo podía conseguir
add_filter('wp_mail_from', 'new_mail_from');
add_filter('wp_mail_from_name', 'new_mail_from_name');
function new_mail_from($old) {
return 'correo@tudominio.com';
}
function new_mail_from_name($old) {
return 'correo de tu web';
}
Adjunto el post donde lo encontré.
Y esto es lo qeu finalmente escribí:
<?php
// Exit if accessed directly
if ( !defined( 'ABSPATH' ) ) exit;
// BEGIN ENQUEUE PARENT ACTION
// AUTO GENERATED - Do not modify or remove comment markers above or below:
if ( !function_exists( 'chld_thm_cfg_locale_css' ) ):
function chld_thm_cfg_locale_css( $uri ){
if ( empty( $uri ) && is_rtl() && file_exists( get_template_directory() . '/rtl.css' ) )
$uri = get_template_directory_uri() . '/rtl.css';
return $uri;
}
endif;
add_filter( 'locale_stylesheet_uri', 'chld_thm_cfg_locale_css' );
if ( !function_exists( 'chld_thm_cfg_parent_css' ) ):
function chld_thm_cfg_parent_css() {
wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'style.css', array( ) );
}
endif;
add_action( 'wp_enqueue_scripts', 'chld_thm_cfg_parent_css', 10 );/* Enviar copia de formularios Divi al remitente */
add_filter( 'et_contact_page_headers', 'copia_formulario_divi_remitente', 10, 3 );
function copia_formulario_divi_remitente( $headers, $contact_name, $contact_email ) {
$headers[] = 'Cc: ' . $contact_email;
return $headers;
}
/* Enviar desde otro correo diferente de mail@tudominio */
add_filter('wp_mail_from', 'new_mail_from');
add_filter('wp_mail_from_name', 'new_mail_from_name');
function new_mail_from($old) {
return 'ricardo@sanandoalser.com';
}
function new_mail_from_name($old) {
return 'Ricardo SAS';
}
¿Pueden por favor indicarme los pasos? Muchas gracias
He probado un php como en 1) y no sé si es que no tengo bien creado el hijo pero no funciona, se cae el servidor. Si deshago el cambio y vuelvo al original ya si puedo acceder a la web.
He intentado avanzar con vuestro tutorial a mano: https://www.webempresa.com/blog/crear-temas-hijo-child-themes-en-wordpress.html
Pero me sale esto:
No sé que puede estar pasando pero hoy no es mi día. Probé de las formas, también con el plugin. COmo no me funcionó lo anterior, lo borré desde aquí y lo creé de nuevo.
Ruego orientación.
Hola
Primero asegúrate de crear correctamente el tema hijo, ya que entiendo que lo usarás para agregar el código.
La forma más simple es con un plugin, sino te funcionó con el plugin del artículo, prueba con este:
https://wordpress.org/plugins/child-theme-generator/
Asegúrate de activar el tema hijo y que funcione correctamente.
Envíanos la url de tu sitio para probar.
Saludos.
John, con ese ya probé!! ¿Podéis mirar si pasa algo? Ahora lo tengo caído porque un compañero tuyo me dijo que hiciera una cosa y no redirige bien:
--
Hola, buenas tardes.
Una opción más sencilla en lugar de mover todos los ficheros es simplemente cambiar el directorio raíz del dominio en el apartado que te indicaba anteriormente: Dominios > Dominios adicionales
Verás que la ruta al directorio raíz de tu dominio se muestra en color azul. Haz click en el icono con forma de lápiz y sustituye lo siguiente: public_html/institutodelaconciencia
Cambiándolo por: public_html
Espero haberte ayudado con tu consulta. En caso contrario, no dudes en consultarnos para poder seguir ayudándote.
-------------
Un saludo,
David M.
--
Hoy es un problema tras otro. Por favor, puedes mirar si hay algún problema con la creación del child theme?? Ya os dije que al hacerlo con el plugin y al activar el child theme dejó de funcionar la página. No me pidáis por favor que repita cosas que ya he hecho. Por favor.
Espero tus noticias.
Hola
Solucina primero entonces el problema de renombrar la carpeta.
Si esto fue atendido por foro envía la url.
Si sigues con problemas revierte los cambios o evalúa restaurar tu sitio desde un backup, sino tienes backups para esto último revisa:
https://guias.webempresa.com/preguntas-frecuentes/gestionar-copias-de-seguridad-con-superbackup-en-cpanel/
Saludos.
Hola John, yo no sé solucoinar una cosa que me habéise dicho vosotros, la he hecho y no funciona. Estoy parado toda la tarde con eso. ¿alguién puede ayudarme?
Hola
Desconozco que cambios has realizado, la información que envías no es suficiente.
Si tienes problemas evalúa recuperar una copia de tu cuenta de hosting, si sigues con problemas envía un ticket de soporte desde allí pueden ver detalles de tu cuenta y darte indicaciones más detalladas sobre como hacer la recuperación.
Saludos.
Ya está solucionado lo de la carpeta. Por favor, necesito avanzar con esto.
Gracias por su comprensión
Lo he hecho manual y me sale esto: No encontramos el tema principal. Por favor, instala el tema principal «DIVI».
De verdad necesito avanzar.
Hola John, finalmente pude instalar el tema hijo. Hasta ahí todo ok. Pero en cuanto le meto nuevas funciones, se cae. No funciona ni la primera que me pasó Pepe.
Por favor, ayudarme en esto a ver qué puede estar pasando. Ha sido un día muy improductivo. Ojala cambie la cosa mañana.
/* Enviar copia de formularios Divi al remitente */
add_filter( 'et_contact_page_headers', 'copia_formulario_divi_remitente', 10, 3 );
function copia_formulario_divi_remitente( $headers, $contact_name, $contact_email ) {
$headers[] = 'Cc: ' . $contact_email;
return $headers;
}
/* Enviar copia de formularios Divi al remitente */
add_filter( 'et_contact_page_headers', 'copia_formulario_divi_remitente', 10, 3 );
function copia_formulario_divi_remitente( $headers, $contact_name, $contact_email ) {
$headers[] = 'Cc: ' . $contact_email;
return $headers;
}
Hola
El código es correcto, no veo que tenga errores de sintaxis, recuerda que tienes qeu agregar el código, no reemplazar.
Envíanos una captura de pantalla para ver como agregas el código
Revisa tu archivo error_log que esta en la raíz de tu cuetna de hosting y verifica los errores recientes.
Saludos.
Hola Jhon,
Gracias por tu respuesta. Mira ese no falla. Perdona, es este código:
/* Enviar desde otro correo diferente de mail@tudominio */
add_filter('wp_mail_from', 'new_mail_from');
add_filter('wp_mail_from_name', 'new_mail_from_name');
function new_mail_from($old) {
return 'ricardo@sanandoalser.com';
}
function new_mail_from_name($old) {
return 'Ricardo SAS';
}
Hay algo que no pongo bien. Lo que está en negrita lo edité yo para indicar que el correo se envíe desde esa dirección de corre electronico en lugar de hacerlo desde mail@sanandoalser.com.
Los a
Te adjunto los archivo logs.
Gracias por tu ayuda
Hola Ricardo,
Verifica el código que estas agregando creo que hay un problema está en la sintaxis, segun entiendo del ejemplo que enviaste deberia ser asi :
add_filter('wp_mail_from', 'new_mail_from');
add_filter('wp_mail_from_name', 'new_mail_from_name');
function new_mail_from($old) {
return 'mail@sanandoalser.com';
}
function new_mail_from_name($old) {
return 'ricardo@sanandoalser.com';
}
Prueba con este y nos comentas
Saludos 🖐️