Buenos días, haber si me podéis ayudar...
Estoy teniendo problemas al intentar activar la opción de autentificarse en dos pasos obteniendo un código con la configuración de WP Cerber. Solo lo estoy intentando de activar en los roles de usuario de administrador y gestor de tienda, para el resto de clientes no.
Sin embargo, entra en conflicto con unos de mis plugin oficial de woocommerce, en concreto Social Login para woocommerce (recién actualiado). Si desactivo el plugin me funciona correctamente.
Me gustaría poder obtener esta capa adcional de seguridad sin renunciar a este plugin, que encima es el oficial de woocommerce.
¿Hay algún código que pudiera obtener e implementar en functions.php de mi tema para que la opción de loguearse a través del plugin Social Login se anulara para los roles anteriores?
Por cierto, este es el registro de error:
[20-Jul-2023 05:00:16 UTC] PHP Fatal error: Uncaught Error: Call to a member function get_page_permastruct() on null in /home2/descalificado/public_html/wp-includes/link-template.php:431
Stack trace:
#0 /home2/descalificado/public_html/wp-includes/link-template.php(393): _get_page_link(Object(WP_Post), false, false)
#1 /home2/descalificado/public_html/wp-includes/link-template.php(197): get_page_link(Object(WP_Post), false, false)
#2 /home2/descalificado/public_html/wp-content/plugins/woocommerce/includes/wc-page-functions.php(68): get_permalink(Object(WP_Post))
#3 /home2/descalificado/public_html/wp-content/plugins/woocommerce-social-login/src/class-wc-social-login-hybridauth.php(322): wc_get_page_permalink('myaccount')
#4 /home2/descalificado/public_html/wp-includes/class-wp-hook.php(310): WC_Social_Login_HybridAuth->redirect_after_save_account_details('https://waterlu...')
#5 /home2/descalificado/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters('https://waterlu...', Array)
#6 /home2/descalificado/public_html/wp-includes/pluggable.php( in /home2/descalificado/public_html/wp-includes/link-template.php on line 431: Uncaught Error: Call to undefined function _deprecated_file() in /home2/descalificado/public_html/wp-admin/admin-functions.php:12
Contenido solo visible a usuarios registrados
Hola Tomas.
PHP Fatal error: Uncaught Error: Call to a member function get_page_permastruct() on null
El error es por que se está intentando acceder a una función que no existe.
No es algo que se pueda solucionar añadiendo una línea de código, es un problema de compatibilidad con los plugin y son los desarrolladores los que tienen que revisarlo, tienes que consultarlo con el soporte de Social Login para woocommerce.
Puedes revisar lo que se comenta en el soporte de WPCerber:
-> https://wordpress.org/support/topic/wp-cerber-bug-i-found-on-my-site/
-> https://wpcerber.com/user-switching-with-wp-cerber/
Un Saludo