Anular página 404 para wordpress

Tenemos una base de datos de cientos de URL para las que queremos mostrar contenido similar. Pero no queremos hacer cientos de páginas en wordpress.

¿Hay alguna manera de anular/suprimir la página de wordpress 404 para mostrar el contenido de una página (ya creada) en todas las URL de esta base de datos?

Todo lo que necesito es el código para hacer esto en una URL y podré hacer el resto.

Muchas Gracias

preguntado el 12 de junio de 12 a las 18:06

3 Respuestas

Dentro del uso de la carpeta del tema 404.php

De esta manera, podría encontrar la URL a la que se llamó y personalizar un poco la página.

Espero que esto ayude, Jason

[Actualizar]

No veo por qué se necesita un complemento. En la plantilla 404.php tendrías algo así:

<?php 

get_header();


//Get called URL 
$url = $_SERVER['REQUEST_URI'];

//Some function to check database to see if this URL should exist
if(checkIfPageExists($url)) {
   //Page Code Here
} else {
   //404 Code Here
}


get_footer();

?>

[Actualización 2]

Arreglar el código de estado es fácil:

<?php 

//Get called URL 
$url = $_SERVER['REQUEST_URI'];

//Some function to check database to see if this URL should exist
if(checkIfPageExists($url)) {
   //Set 200 Status
   status_header( "200" );
   //Get Header
   get_header();
   //Page Code Here
} else {
   //Set 404 Status
   status_header( "404" );
   //Get Header
   get_header();
   //404 Code Here
}


get_footer();

?>

Respondido el 12 de junio de 12 a las 21:06

Necesito crear un complemento, así que necesito conectarme a WordPress en alguna parte. - David Allen

El problema con esto es que aún devolverá un estado 404. Lo cual puede no ser lo que se busca. - Nick

Puedes usar htaccess. Ingrese lo siguiente en la parte superior del archivo htaccess en su instalación de wordpress. 404page.html es la página de error que creaste.

ErrorDocument 404 /404page.html

Espero que ayude.

Respondido el 12 de junio de 12 a las 18:06

Podría usar una redirección 301 en su archivo htaccess

RewriteRule ^your-db-url.html /your-redirect-page.html [L,R=301]

También puede escribir un script que pueda enumerar todas sus URL en este formato y copiarlo y pegarlo en su archivo .htaccess arriba de las reglas de reescritura de wordpress.

Respondido el 12 de junio de 12 a las 19:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.