Pregunta sobre Twenty Nineteen de Wordpress:

Error no reconocido: llamada a la función get_header () no definida

Un usuario preguntó 👇

Hola, de vez en cuando mi sitio genera errores de PHP como este:

Fatal error: Uncaught Error: Call to undefined function get_header() in /home/c501c527/public_html/joewestcott/wp-content/themes/twentynineteen/index.php:17 Stack trace: #0 {main} thrown in /home/c501c527/public_html/joewestcott/wp-content/themes/twentynineteen/index.php on line 17

Busqué en línea para entender por qué está sucediendo esto, y parece que podría ser una falla en el archivo Twenty. Nine Nine index.php, donde comienza con un código como este:

<?php
  get_header();
?>

Este código genera un error de PHP cuando alguien (y / o bot) visita la carpeta / twentyteen /.

Un arreglo que podría tener en línea es cambiar el código del tema a algo como esto:

<?php 
  if (!defined('ABSPATH')) exit;
  get_header(); 
?>

… pero no deberíamos editar el código del tema de WordPress.

¿Se sugiere otra solución?

¿O es un error en el que están trabajando los desarrolladores del tema Twenty Nine?

Gracias Joe

Este tema fue modificado hace 1 año, 9 meses por.

(@macmanx)

Moderador voluntario

Hace 1 año, 9 meses

Esto es bien conocido en cualquier tema. 🙂

Nadie visitará realmente su directorio de temas a propósito.

(@anevins)

Donante de WCLDN 2018 Apoyo voluntario

Hace 1 año, 9 meses

Sí, el mensaje de error es descriptivo del problema. Cuando ejecuta un archivo de tema usando la ruta completa al archivo, no está usando WordPress y no hay funcionalidad de WordPress. La función no está definida porque no está utilizando WordPress. Como dijo James, puedo decir con un 99,9% de confianza que los usuarios nunca tendrán ese error.

Esta respuesta fue modificada hace 1 año, 9 meses.

(@redredweb)

Hace 1 año, 9 meses

Bots damanta. Recibo estos errores varias veces al día.

¿Por qué Automattic (?) Recomienda el siguiente código para plugins, pero no para temas?

Contra https://codex.wordpress.org/Writing_a_Plugin

Nota de seguridad: considere bloquear el acceso directo a sus archivos de plugins PHP colocando la siguiente línea en la parte superior de cada uno. Además, asegúrese de abstenerse de ejecutar código PHP independiente antes de llamar a cualquier función de WordPress.

Esto se puede lograr de varias formas. Puede verificar si la constante ABSPATH está definida o verificar si existe una función como add_action. Ninguno de los métodos se puede utilizar para garantizar que la ejecución de PHP solo se permita cuando se incluye como parte del sistema central.

defined( 'ABSPATH' ) or die( 'No script kiddies please!' );

(@macmanx)

Moderador voluntario

Hace 1 año, 9 meses

Automattic es una de las muchas empresas involucradas con la comunidad de WordPress, pero no controla el proyecto o la comunidad de WordPress de ninguna manera: https://wordpress.org/support/article/wordpress-vs-wordpress-com /

Esa pregunta sería la mejor para el equipo de revisión de temas: https://make.wordpress.org/themes/

(@taariqq)

Hace 1 año, 9 meses

Solo en el editor de corchetes, también tengo la misma pregunta. Cuando voy a la ubicación real -> http://192.168.10.10/wordpress/ el sitio funciona perfectamente. Pero, cuando edito el archivo index.php en el editor de soportes y uso la vista previa en vivo como -> http://192.168.10.10/wordpress/wp-content/themes/GTCoding/index.php
aparece el error.

¿Alguna forma de suprimirlo para poder codificar la página index.php y luego puedo eliminar la supresión? ¿Existe algún arreglo?

Respételo.

(@anevins)

Donante de WCLDN 2018 Apoyo voluntario

Hace 1 año, 9 meses

@taariqq, ¿Entiendes el error? El error es que está accediendo a un archivo directamente sin pasar por WordPress. Estás haciendo las cosas mal.

(@redredweb)

Hace 1 año, 9 meses

«Estás haciendo las cosas mal».

@anevins, ¿sabes por qué Taariqq visita esta URL? ¿Alguna vez ha negado que el problema se revertirá cuando Googlebot visite esta URL y genere un error de PHP como parte de su actividad de rastreo normal?

Si Google está «equivocado», puede que sea así, pero esto parece indicar un problema con la forma en que algunos temas de WordPress no evitan el rastreo en lugares donde es probable que vayan bots legítimos.

@taariqq, las pautas de WordPress sobre temas parecen tener fallas, donde las pautas de WordPress son un paso que ya falta en las pautas de WordPress.

Hasta ahora, su única opción parece ser informar este problema al desarrollador del tema y pedirle que bloquee este comportamiento agregando un código como el siguiente al archivo index.php, para bloquear el comportamiento típico de los scripts de bot y kiddy. . Este código proviene de las pautas oficiales de WordPress para el desarrollo de plugins; no estoy seguro de por qué falta en las pautas del tema.

defined( 'ABSPATH' ) or die( 'No script kiddies please!' );

(@anevins)

Donante de WCLDN 2018 Apoyo voluntario

Hace 1 año, 9 meses

@redredweb, Como se mencionó, Taariqq está tratando de ejecutar el archivo directamente usando el IDE «Brackets».

(@anevins)

Donante de WCLDN 2018 Apoyo voluntario

Hace 1 año, 9 meses

Google no informará una página de error de WordPress como un problema, Google no es tan inteligente. Su página de error de WordPress todavía vuelve a 200 (bien).

Esta respuesta fue modificada hace 1 año, 9 meses por.

(@redredweb)

Hace 1 año, 9 meses

Si. El mensaje de error resultante lo maneja el servidor, no el tema, por lo que este error en particular es visible.

Creo que cometí un error al recomendar el lenguaje de «script para niños» recomendado por las pautas oficiales de WordPrss para manejar esta situación (para plugins); el error podría ser un poco más útil ya sea para temas o plugins es decir, para cubrir situaciones en las que personas reales visitan el archivo index.php, no solo bots y scripts.

(@jdembowski)

Moderador del foro y Bruto Squad

Hace 1 año, 9 meses

* Leer *

Las pautas de WordPress para temas parecen tener fallas, donde las pautas de WordPress contienen un paso que ya falta en las pautas de plugins.

Realmente no.

Esto puede ser repetitivo en mí, pero tenga paciencia mientras trato de ser completo.

Esto no es un error ni un problema de seguridad. Nada en el Universo conocido debería llamar a esta URL directamente.

https://joewestcott.com/wp-content/themes/twentynineteen/

O cualquier directorio de temas de esa manera. Obtienes un error de 500 porque así es como se crean los temas. Puede intentar agregar esa línea, pero no es necesario y hay 500 errores en ese lugar.

Si le molesta mostrar información de error de esa manera, considere desactivar los errores de PHP.


display_errors = Off

Que se predetermina en muchas instalaciones PHP.

Seguirá recibiendo 500 errores, pero no se mostrará información como las rutas de archivo.

(@redredweb)

Hace 1 año, 9 meses

Google no informará una página de error de WordPress como un problema

Dos cosas sobre esto:

1. El error de índice de tema es un error de PHP generado fuera de WordPress, no una página de error generada por WordPress o el tema en sí. Sería bueno si los temas de WordPress manejaran el error.

2. Vi al robot de Google que intentaba indexar archivos de índice de temas e informaba de un problema cuando lo hacía. Este problema aparece en Google Search Console de forma regular para algunos sitios que he administrado.

(@redredweb)

Hace 1 año, 9 meses

De hecho, en un diseño ideal, las pautas de WordPress establecerían que el uso de archivos index.php debería limitarse a las rutas que sean directamente accesibles al público, incluidos los rastreadores de motores de búsqueda y otros robots.

De lo contrario, si un archivo index.php en particular no está destinado a ser de acceso público, entonces el desarrollador del tema debe insertar manualmente el código al comienzo de su archivo index.php para indicar la extensión, y luego evento o fracaso con elegancia.

Esto preferiblemente no debería generar un mensaje de error de PHP, porque (1) el código PHP no ha fallado y (2) el comportamiento esperado se muestra incluso si el comportamiento no es deseable en muchos contextos .

(@redredweb)

Hace 1 año, 9 meses

Por lo que vale, revisé https://make.wordpress.org/themes/ y el enlace «Soporte» en esa página está aquí. : /

Buscaré unirme a la discusión sobre una revisión del tema para ver si hay una manera de plantear este problema y discutir posibles arreglos.

Esta respuesta fue modificada hace 1 año, 9 meses por. Razón: ahora con menos «quejas»

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *