Soporte » Instalación – Actualizaciones » Problema con una función al cambiar a PHP 7.3

  • Resuelto J.Parra

    (@jparra-1)


    Hola comunidad.

    Recientemente he migrado todas las páginas que administro a PHP 7.3 por recomendación de mi proveedor.

    Tras hacer las pertinentes copias de seguridad, actualizaciones de plugins, temas y WP, he pasado de PHP 7.0 a 7.3 en todas con éxito salvo en una.

    En el «log» de errores PHP de esta página en el hosting, no se ve ningún error, pero si no quito una llamada a una función personalizada que tengo, la página se queda en el spinner de carga indefinidamente.

    He probado a cambiar el código del archivo functions, por si era un error de sintaxis por el cambio de version PHP, pero aunque ponga un simple echo «Hola Mundo», mientras esté la llamada a la función en cualquier parte, la página no carga.

    Dicha función lo único que hace es insertar en la cabecera un pequeño enlace para iniciar sesión o cerrarla.

    Tanto functions.php como el archivo header-navigation-top.php donde inserto la función, están en el tema hijo.

    header-navigation-top.php
    <?php jp_login_cabecera(); ?>

    functions.php

    function jp_login_cabecera ($menu){
    	
    	if ( is_user_logged_in()){
    		$cu = wp_get_current_user();
    		$enlace_salir = '<li class="menu-item btn-menu btn-logout"><a href="'. wp_logout_url() .'">Salir - '. $cu->user_login .'<i class="fa fa-power-off fa-jp-ver"></i></a></li><li><a href="https://www.racingonlineclub.com/miembros/'. $cu->user_login .'/profile/">Perfil</a></li>';
    		echo $enlace_salir;
    		} 
    	else {
    		$loginout = '<li class="menu-item btn-menu btn-login"><a href="'. wp_login_url() .'">Entrar<i class="fa fa-power-off fa-jp-roj"></i></a></li>';
    		echo $loginout;
    	}
    }

    ¿Alguna idea de lo que puede estar pasando?

    Gracias y saludos.

    • Este debate fue modificado hace 1 mes por  J.Parra.

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 4 respuestas - 1 de 4 (de 4 total)
  • Moderador Fernando Tellado

    (@fernandot)

    Si tienes claro que no usas una función PHP obsoleta yo simplemente desactivaría la visualización de errores, que a veces ni lo son.

    Con añadir esto al wp-config.php lo tendrías:

    ini_set('display_errors','Off');
    ini_set('error_reporting', E_ALL );
    define('WP_DEBUG', false);
    define('WP_DEBUG_DISPLAY', false);
    J.Parra

    (@jparra-1)

    Gracias por responder Fernando.

    Lo que he hecho para salir del paso es meter el código directamente en el archivo de la cabecera, en lugar de ponerlo en functions y luego llamarlo.

    Tampoco es que hiciera mucha falta hacerlo como yo lo tenía, pues no reutilizo el código en otras partes, pero me pareció más limpio.

    No resuelve la duda de porque da error (que ni detecta el log de PHP) pero al menos es una solución.

    Saludos.

    Buenos días,
    Después de actualizar los pluggin para mi pg. web, uno de los menus no consigue abrirse y me da este error:

    Fatal error: Switch statements may only contain one default clause in /homepages/34/d374361144/htdocs/web/wp-content/themes/cesar/portfolio-3-filterable.php on line 265

    Podríais ayudarme?

    Muchas gracias!

    • Esta respuesta fue modificada hace 4 semanas, 1 día por  sonyadorado.
    Moderador Fernando Tellado

    (@fernandot)

    @sonyadorado Mejor no mezclar consultas. Abre un nuevo debate para no liar

    Gracias 😉

Viendo 4 respuestas - 1 de 4 (de 4 total)
  • Debes estar registrado para responder a este debate.