Avisos
Vaciar todo

[Resuelto] Error en menús al excluir métodos de pago en functions.pht

6 Respuestas
3 Usuarios
0 Reactions
25 Visitas
Respuestas: 23
Eminent Member
Topic starter
 

Buenos días,

Hace un rato me llegó un aviso de error de Wordpress, concretamente en la página nav-menus.php. Lo comprobé y no puedo editar los menús existentes ni crear ninguno nuevo. 

Desde el soporte de webempresa me dicen que los errores aparecen en dos líneas del archivo functions.php que modifiqué hace unos días para añadir dos métodos de pago a excluir en el método de envío "recogida en local", concretamente redsys y bizum. Hasta ahora el código funcionaba bien y no daba este error, fue al incluir las dos líneas nuevas de exclusiones cuando empezó a ocasionar el problema. 

El código completo es este:

/**
* Eliminar formas de pago telematicas para recogida en tienda
*/
function my_custom_available_payment_gateways( $gateways ) {
$chosen_shipping_rates = WC()->session->get( 'chosen_shipping_methods' );
// When 'local pickup' has been chosen as shipping rate
if ( in_array( 'local_pickup:224', $chosen_shipping_rates ) ) :
// Quitar transferencia bancaria
unset( $gateways['bacs'] );
// Quitar PayPal
unset( $gateways['paypal'] );
// Quitar Tarjeta
unset( $gateways['redsys'] );
// Quitar Bizum
unset( $gateways['bizum'] );
endif;
return $gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'my_custom_available_payment_gateways' );

Los errores los detecta en estas líneas:
43 $chosen_shipping_rates = WC()->session->get( 'chosen_shipping_methods' );
46 if ( in_array( 'local_pickup:224', $chosen_shipping_rates ) ) :

¿Podrían echarme una mano a detectar dónde puede estar el error?

Muchas gracias y un saludo

 

 


 
Respondido : 02/12/2020 11:22 am
Tags del tema
Pepe
 Pepe
Respuestas: 41113
Illustrious Member Admin
 

Hola Natalia.

Pues decirme para qué dominio es la consulta, veo que tienes varios dominios y no se exactamente a qué dominio haces referencia.

 

Un saludo


 
Respondido : 02/12/2020 11:38 am
Respuestas: 23
Eminent Member
Topic starter
 

@pepesoler Perdona, pensaba que lo había indicado. Es www.discosaltafidelidad.es


 
Respondido : 02/12/2020 11:46 am
Karen Rios
Respuestas: 18657
Illustrious Member Moderator
 

Hola Natalia,

En este caso podrías probar si con el siguiente codigo no te genera el error, prueba comentar el código que tienes anteriormente para desactivar los métodos de pago cuando se seleccione recogida local y prueba añadir el siguiente

/**
* Filtrar pasarelas de pago por metodo de envio
*/
add_filter( 'woocommerce_available_payment_gateways', 'mis_pasarelas_disponibles' );
function mis_pasarelas_disponibles( $available_gateways ) {
global $woocommerce;

if ( !is_admin() ) {

$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );

$chosen_shipping = $chosen_methods[0];

if ( isset( $available_gateways['bacs'] ) && 0 === strpos( $chosen_shipping, 'local_pickup' ) ) {
unset( $available_gateways['bacs'] );
unset( $available_gateways['paypal'] );
unset( $available_gateways['redsys'] );
unset( $available_gateways['bizum'] );
}

}

return $available_gateways;

}

Luego comprueba si con ello los métodos se desactivan y no te genera el error con los menús.

PD: Recuerda realizar una copia de seguridad de tu sitio web antes de realizar cualquier cambio, de esta forma si se genera algún error puedes restaurarla -> https://www.webempresa.com/blog/backups-wordpress-en-2-minutos-con-all-in-one-migration.html

Un Saludo


 
Respondido : 02/12/2020 2:04 pm
Respuestas: 23
Eminent Member
Topic starter
 

Un millón de gracias, @karen. El código funciona perfectamente y ya puedo editar los menús.


 
Respondido : 02/12/2020 3:23 pm
Karen Rios
Respuestas: 18657
Illustrious Member Moderator
 

Hola Natalia,

Enhorabuena ha funcionado, encantados de poder ayudarte 😀 , nos pone muy contentos que nuestros clientes estén felices con nuestro trabajo. 🤩 

¿Te importaría dedicarle un minuto a dejarnos una reseña / opinión en TrustPilot, Facebook o Google, lo que te vaya mejor?

TrustPilot:  https://es.trustpilot.com/evaluate/webempresa.com

Facebook: https://www.webempresa.com/testimonio-facebook

Google:  https://www.webempresa.com/testimonio-google

Nos ayudaría a que otr@s usuarios se decidan por nosotr@s si saben lo que nos decís.

Gracias de parte de todo el equipo. 

Escríbenos si tienes cualquier otra consulta

Un saludo 😊 


 
Respondido : 02/12/2020 3:34 pm