WordPress : Le modèle de page ne s’affiche pas dans le menu déroulant

Publié par Jean-Michel le

Je débute en PHP et j’ai créé mon premier modèle de page personnalisé en utilisant le framework Genesis.

J’ai créé un thème enfant pour le parent principal Genesis, il est actif et reconnaissable en tant qu’enfant, il n’y a pas d’erreurs sur le tableau de bord des thèmes.

Le problème est simple, lorsque je place le modèle dans le répertoire parent, pas de problème, il s’affiche dans le menu déroulant de la sélection du modèle de page lors de la création d’une nouvelle page, cependant, lorsque je le place dans le répertoire du thème enfant, ça se voit maintenant.

J’ai essayé de copier index.php dans le répertoire enfant mais ça ne marche pas, il ne s’affiche que lorsqu’il se trouve dans le répertoire parent.

J’ai cherché partout et j’ai un problème qui, je pense, provient de la méthode de wordpress à la recherche de modèles de thème uniquement sur le répertoire du parent et à l’exclusion de l’enfant.

Toutes les suggestions seraient appréciées avec plaisir.

il y a le code pour le modèle :

<?php
/*
Template Name: About Template
*/
?>

<?php get_header(); ?>

<div id="primary" class="content-area">

    <main id="main" class="site-main" role="main">

    <?php
    // Start the loop.
    while ( have_posts() ) : the_post(); ?>


    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

        <header class="entry-header">
            <?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
        </header><!-- .entry-header -->

        <div class="entry-content">


        <?php if ( have_rows('about') ):

            while ( have_rows('about') ): the_row(); ?>

        <h2><?php the_sub_field('content_area'); ?></h2>

        </div><!-- .entry-content -->

    </article><!-- #post-## -->



    <?php endwhile; // End the loop. ?>

    </main><!-- .site-main -->

</div><!-- .content-area -->

<?php get_footer(); ?>

Solution n°1 trouvée

Utilisez ceci, cela fonctionne dans le thème de la genèse de mon enfant

 <?php
    /*
      Template Name: Template Nmae
    */
    ?>
    <div id="primary" class="content-area">

        <main id="main" class="site-main" role="main">

        <?php
        // Start the loop.
        while ( have_posts() ) : the_post(); ?>


        <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

            <header class="entry-header">
                <?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
            </header><!-- .entry-header -->

            <div class="entry-content">


            <?php if ( have_rows('about') ):

                while ( have_rows('about') ): the_row(); ?>

            <h2><?php the_sub_field('content_area'); ?></h2>

            </div><!-- .entry-content -->

        </article><!-- #post-## -->



        <?php endwhile; // End the loop. ?>

        </main><!-- .site-main -->

    </div><!-- .content-area -->

    <?php get_footer(); ?>

Solution n°2 trouvée

Utilisez ce code, cela fonctionnera

<?php
/*
Template Name:New template name
*/
get_header();?>
<div id="primary" class="content-area">

    <main id="main" class="site-main" role="main">

    <?php
    // Start the loop.
    while ( have_posts() ) : the_post(); ?>


    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

        <header class="entry-header">
            <?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
        </header><!-- .entry-header -->

        <div class="entry-content">


        <?php if ( have_rows('about') ):

            while ( have_rows('about') ): the_row(); ?>

        <h2><?php the_sub_field('content_area'); ?></h2>

        </div><!-- .entry-content -->

    </article><!-- #post-## -->



    <?php endwhile; // End the loop. ?>

    </main><!-- .site-main -->

</div><!-- .content-area -->
<?php get_footer();?>
Catégories : Wordpress

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *