dimentica
Sé que el tema ya se ha discutido, pero parece que no se encontró ninguna solución. Este es mi caso: tengo un sitio de wordpress que ahora tiene SSL. Sin embargo, en el tema se agregan recursos de la siguiente manera:
wp_enqueue_script( 'spectrumwp-conditional', get_template_directory_uri() . '/js/vendor/conditional.js', array('jquery'), null, true);
pero get_template_directory_uri() devuelve la URL con http, no https.
¿Puedes ayudarme a resolver esto?
Editar:
Agregué esto a mi archivo wp-config.php
$_SERVER['HTTPS']='on';
Los enlaces a los recursos se muestran con https:// pero en lugar de, por ejemplo
https://www.ejemplo.com/wp-content/plugins/…
tengo
https://www.ejemplo.com/plugins/LayerSlider/…
por ejemplo, falta la carpeta wp-content
última actualización:
descomentar
define('FORCE_SSL_ADMIN', true);
y agregando
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
{ $_SERVER['HTTPS']='on'; }
justo antes de la línea
/* That's all, stop editing! Happy blogging. */
solucionado el problema! Solo, recomiendo $_SERVER[‘HTTP_X_FORWARDED_PROTO’] no se utiliza, ya que puede no ser lo suficientemente preciso.
¡Resuelto!
Debe usar is_ssl() para verificar si el sitio está ejecutando https:// o http://
Aquí está el gancho para verificar y redirigir:
function check_if_https() {
if ( !is_ssl() ) {
wp_redirect('https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 );
exit();
}
}
add_action ( 'template_redirect', 'check_if_https', 1 );
-
¡Gracias por tu rápida respuesta! Cuando agrego esto a mi archivo functions.php, el sitio no se carga y aparece un error que dice “Demasiados redireccionamientos”.
– Diméntica
21 de enero de 2017 a las 11:14
-
Bien, puedes intentar cambiar la URL del sitio ahora. codex.wordpress.org/Cambiando_La_URL_del_Sitio Cambie las URL del sitio en wp-config.php y las funciones del tema.php según se indica en la URL
– Mukesh Ram
21 de enero de 2017 a las 11:18
-
Agregué los cambios a los archivos wp-config y functions.php, pero obtengo La página no se está redirigiendo correctamente
– Diméntica
21 de enero de 2017 a las 11:31
Vaya a Configuración -> General y verifique la URL del sitio.
Parece que el problema que tiene es que este valor sigue siendo HTTP, no HTTPS. Acérquese a este cambio con precaución. Asegúrese de tener una copia de seguridad que funcione y una comprensión completa de por qué esta URL debe cambiar, así como el impacto que tendrá.
get_template_directory_uri()
proporcionará automáticamente un enlace HTTPS cuando la URL del sitio esté configurada correctamente.
-
Tengo “una comprensión completa” y lo hice mil veces. Obviamente wordpress no reconoce el https
– Diméntica
21 de enero de 2017 a las 15:02
-
Entonces te sugiero que intentes generar el valor de
site_url
en PHP. No es una llamada a la opción sino a la función.– Nathan Dawson
21 de enero de 2017 a las 15:10
La última parte que describiste también me la arregló, gracias. Aunque todavía no entiendo por qué era necesario hacerlo.
– El Verdadero TDF
24 de diciembre de 2020 a las 8:21