phpMyAdmin
 sql >> Base de données >  >> Database Tools >> phpMyAdmin

Modèle Wordpress :Objet introuvable

Cela s'est produit parce que ce n'est pas ainsi que les modèles fonctionnent dans WordPress. Vous ne créez pas de fichier spécifique pour chaque page de votre site Web. Vous créez des pages, puis vous leur attribuez des modèles, et laissez WordPress déterminer comment accéder et créer des accès à ces pages. Essayer d'accéder directement à l'un de ces fichiers donnera un 404 parce que WordPress en raison du fait qu'une page (dans wp land) avec ce nom n'existe pas.

Le fait qu'il l'ait fait fonctionner lorsque vous avez essayé d'aller directement dans index.php est parce que, dans la hiérarchie des modèles , index.php est le dernier fichier recherché par WP lors de la recherche d'un modèle à partir duquel afficher votre page. Comme ce fichier est indispensable dans chaque thème, il a été trouvé, et donc pas de 404.

Il y a quelque chose appelé permaliens qui vous permet de créer des URL conviviales vers votre site sans modifier les noms dans vos fichiers de modèle. Ce serait impossible si vos URL étaient directement attachées aux noms de fichiers.

Le manuel du thème WordPress a un article assez soigné sur modèles de pages , et le codex peut vous donner quelques conseils sur la façon de commencer avec eux. Smashing Magazine a un article étonnant, écrit par Nick Schäferhoff, qui donne des instructions détaillées sur la façon de créer un modèle de page.

En un mot, et tiré du thème WordPress Twentyfourteen, un modèle de page fonctionne un peu comme ça

<?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();

Chose intéressante, la partie commentaire Template Name: Full Width Page rend ce modèle global, ce qui signifie qu'il est accessible n'importe où sur votre site (consultez la documentation pour plus de détails sur la hiérarchie). Une fois que vous avez quelque chose comme ça sur votre modèle, créez une page, puis attribuez-lui votre modèle. Vous devriez être en or !

MODIF :

Toujours dans le temps, consultez cette superbe infographie qui montre comment fonctionne la création de modèles dans WP Land et comment chaque page est finalement rendue à index.php , si aucun autre fichier modèle n'est trouvé.