Avisos
Vaciar todo

[Resuelto] Cómo hacer que Contact Form 7 no cargue en todas las páginas usando tema hijo

12 Respuestas
2 Usuarios
0 Reactions
15 Visitas
Respuestas: 78
Trusted Member
Topic starter
 

Hola,

Estoy intentando evitar que cargue en todas las páginas siguiendo el paso número 2 del artículo https://www.webempresa.com/blog/evitar-carga-contact-form-7-en-todas-las-paginas.html ya que estoy utilizando un tema hijo.

Según entiendo en ese artículo utilizando el métido 2, he añadido esos códigos en el archivo functions.php y el archivo ha quedado de esta forma pero me da un error:

<?php
function homey_enqueue_styles() {

// enqueue parent styles
wp_enqueue_style('homey-parent-theme', get_template_directory_uri() .'/style.css');

// enqueue child styles
wp_enqueue_style('homey-child-theme', get_stylesheet_directory_uri() .'/style.css', array('homey-parent-theme'));

}
add_action('wp_enqueue_scripts', 'homey_enqueue_styles');
?>

add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );

function we_carga_contactform7(){
if ( is_page('contactar') ) {
if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
wpcf7_enqueue_scripts();
}

if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
wpcf7_enqueue_styles();
}
}
}
add_action( 'wp_enqueue_scripts', 'we_carga_contactform7' );

 

El problema es que una vez añadido, en la parte superior de la web (desde wp admin)  me aparece este error/código: ¿Cómo puedo subir un pantallazo al foro?

_return_false' ); add_filter( 'wpcf7_load_css', '__return_false' ); function we_carga_contactform7(){ if ( is_page('contactar') ) { if ( function_exists( 'wpcf7_enqueue_scripts' ) ) { wpcf7_enqueue_scripts(); } if ( function_exists( 'wpcf7_enqueue_styles' ) ) { wpcf7_enqueue_styles(); } } } add_action( 'wp_enqueue_scripts', 'we_carga_contactform7' );

 

Espero que alguien me pueda ayudar con esto.

Gracias

 

Contenido solo visible a usuarios registrados


 
Respondido : 05/07/2023 8:28 am
Pepe
 Pepe
Respuestas: 41132
Illustrious Member Admin
 

Hola José Luis.

Elimina la llave de cierre que tienes antes de los códigos de contact form " ?> "

El código completo sería este:

<?php
function homey_enqueue_styles() {

// enqueue parent styles
wp_enqueue_style('homey-parent-theme', get_template_directory_uri() .'/style.css');

// enqueue child styles
wp_enqueue_style('homey-child-theme', get_stylesheet_directory_uri() .'/style.css', array('homey-parent-theme'));

}
add_action('wp_enqueue_scripts', 'homey_enqueue_styles');



// Desactivar contact form y activarlo solo en las páginas del formulario

add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );

function we_carga_contactform7(){
if ( is_page('contactar') ) {
if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
wpcf7_enqueue_scripts();
}

if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
wpcf7_enqueue_styles();
}
}
}
add_action( 'wp_enqueue_scripts', 'we_carga_contactform7' );

 

¿Cómo puedo subir un pantallazo al foro?

Puedes subir las imágenes seleccionando la opción " Adjuntar archivos " o simplemente arrastrando el archivo al cuerpo de la consulta.

screenshot www.webempresa.com 2023.07.05 11 01 13

 

Un saludo


 
Respondido : 05/07/2023 9:02 am
Respuestas: 78
Trusted Member
Topic starter
 

@pepesoler 

Muchas gracias Pepe.

Ahora el mensaje de error que te comentaba ya no aparece, pero si entro en mi Wepanel, WPcenter, optimización, me sigue apareciendo el mensaje:

Entiendo que no debería aparecer ese mensaje, ¿verdad?

Gracias


 
Respondido : 05/07/2023 9:12 am
Respuestas: 78
Trusted Member
Topic starter
 

@pepesoler 

Por cierto Pepe, la llave de cierre que hemos quitado, ¿no debería ponerse al final del código? ¿O ya no hace falta llave de cierre?

Gracias


 
Respondido : 05/07/2023 9:15 am
Pepe
 Pepe
Respuestas: 41132
Illustrious Member Admin
 

Hola Jose luis.

pero si entro en mi Wepanel, WPcenter, optimización, me sigue apareciendo el mensaje:

La opción de optimización de WPCenter no comprueba los códigos solo muestra recomendaciones, en este caso ve que tienes Contact Form instalado y muestra la recomendación, no te preocupes si ya esta añadido no tienes que hacer nada más.

la llave de cierre que hemos quitado, ¿no debería ponerse al final del código? ¿O ya no hace falta llave de cierre?

No hace falta, la llave de cierre de PHP es por si queremos añadir otro código que no sea PHP, por ejemplo HTML, entonces sí que tendríamos que abrir y cerrar la llave pero como todos los códigos son PHP no hace falta que lo cierres, por eso el problema que tenias antes al tener cerrado el bloque de PHP el siguiente código que añadiste no lo detectaba como PHP y mostraba un error.

 

Un Saludo


 
Respondido : 05/07/2023 9:47 am
Respuestas: 78
Trusted Member
Topic starter
 

@pepesoler

Muchas gracias por tus aclaraciones.

¿Habría alguna forma de saber si realmente está funcionando bien el código de CF7 que hemos añadido y que no está cargando en las páginas donde no tengo el formulario?

Gracias


 
Respondido : 05/07/2023 9:52 am
Pepe
 Pepe
Respuestas: 41132
Illustrious Member Admin
 

Hola Jose luis.

Puedes revisarlo desde la consola del navegador, puedes ver el código que genera, en la página de contacto podrás ver que carga el JS de Contact form " contact-form-7-js " mientras que en las demás páginas ese JS no carga.

Captura de pantalla 2023 07 05 a las 13.04.05

Tienes la web en mantenimiento, si abres la web lo podemos comprobar.

 

Un saludo

 


 
Respondido : 05/07/2023 11:04 am
Respuestas: 78
Trusted Member
Topic starter
 

@pepesoler

Hola Pepe, pues te agradecería muchísimo que lo pudieras comprobar. Ya quité el mantenimiento. 🙂

Ya me dirás.

Gracias


 
Respondido : 05/07/2023 11:08 am
Respuestas: 78
Trusted Member
Topic starter
 

@pepesoler

Olvidé decirte que el único formulario que tengo a día de hoy está aquí https://caraving.com/contactar

Gracias


 
Respondido : 05/07/2023 11:13 am
Pepe
 Pepe
Respuestas: 41132
Illustrious Member Admin
 

Hola Jose luis.

Si realizamos una búsqueda en la página de contacto vemos que esta cargando el JS:

Captura de pantalla 2023 07 05 a las 13.30.31

En cambio si lo buscamos en la página de inicio vemos que no carga nada:

Captura de pantalla 2023 07 05 a las 13.31.26

 

Está funcionado 😉 

 

Un Saludo

 


 
Respondido : 05/07/2023 11:34 am
Respuestas: 78
Trusted Member
Topic starter
 

@pepesoler

Genial Pepe!! 🙂

 

Muchísimas gracias por tu ayuda.

 

Un saludo


 
Respondido : 05/07/2023 11:40 am
Pepe
 Pepe
Respuestas: 41132
Illustrious Member Admin
 

Hola Jose Luis.

Nada, gracias a ti 😀 

Cualquier consulta que tengas no dudes en comunicarlo.

 

Un Saludo

 


 
Respondido : 05/07/2023 11:51 am