sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

Plantilla de Wordpress:Objeto no encontrado

Eso sucedió porque no es así como funcionan las plantillas en WordPress. No creas un archivo específico para cada página de tu sitio web. Usted crea páginas y luego les asigna plantillas, y deja que WordPress descubra cómo acceder y crear accesos a esas páginas. Intentar acceder directamente a uno de esos archivos generará un 404 porque WordPress debido al hecho de que una página (en wp land) con ese nombre no existe.

El hecho de que lo hizo funciona cuando intentaste ir directamente a index.php es porque, en la jerarquía de plantillas , index.php es el último archivo que WP busca cuando busca una plantilla desde la cual mostrar su página. Como este archivo es imprescindible en todos los temas, se encontró y, por lo tanto, no hay 404.

Hay algo llamado permalinks lo que le permite crear URL amigables para su sitio sin cambiar ningún nombre en sus archivos de plantilla. Eso sería imposible si sus URL se adjuntaran directamente a los nombres de los archivos.

El Manual de temas de WordPress tiene un artículo bastante interesante sobre plantillas de página y el códice puede darle algunos consejos sobre cómo empezar a utilizarlos. Revista Smashing tiene un artículo increíble, escrito por Nick Schäferhoff, que brinda instrucciones detalladas sobre cómo crear una plantilla de página.

En pocas palabras, y tomado del tema de WordPress Twentyfourteen, una plantilla de página funciona así

<?php
/**
 * Template Name: Full Width Page
 *
 * @package WordPress
 * @subpackage Twenty_Fourteen
 * @since Twenty Fourteen 1.0
 */

get_header(); ?>

<div id="main-content" class="main-content">

<?php
    if ( is_front_page() && twentyfourteen_has_featured_posts() ) {
        // Include the featured content template.
        get_template_part( 'featured-content' );
    }
?>

    <div id="primary" class="content-area">
        <div id="content" class="site-content" role="main">
            <?php
                // Start the Loop.
                while ( have_posts() ) : the_post();

                    // Include the page content template.
                    get_template_part( 'content', 'page' );

                    // If comments are open or we have at least one comment, load up the comment template.
                    if ( comments_open() || get_comments_number() ) {
                        comments_template();
                    }
                endwhile;
            ?>
        </div><!-- #content -->
    </div><!-- #primary -->
</div><!-- #main-content -->

<?php
get_sidebar();
get_footer();

Curiosamente, la parte del comentario Template Name: Full Width Page hace que esta plantilla sea global, lo que significa que se puede acceder a ella desde cualquier lugar dentro de su sitio (eche un vistazo a los documentos para obtener más detalles sobre la jerarquía). Una vez que tenga algo así en su plantilla, cree una página y luego asígnele su plantilla. ¡Deberías ser dorado!

EDITAR:

Todavía estás a tiempo, mira esta fabulosa infografía que muestra cómo funcionan las plantillas en WP land, y cómo cada página finalmente se representa en index.php , si no se encuentra ningún otro archivo de plantilla.