Ma compréhension des thèmes wordpress est-elle correcte ?

Publié par Jean-Michel le

Je développe un thème wordpress pour un site web et j’aimerais utiliser wordpress comme CMS. Je suis relativement nouveau dans le développement wordpress mais je suis un développeur php expérimenté venant de Zend Framework. Fondamentalement, j’ai créé un nouveau thème et j’ai configuré une page d’accueil dans l’outil d’administration. Le site est assez basique, avec un en-tête, une zone de contenu et un pied de page qui seront utilisés sur toutes les pages. J’ai conçu l’en-tête et le pied de page dans le thème mais quand je suis arrivé à la section contenu, j’ai commencé à me poser quelques questions…

Fondamentalement, la question est de savoir s’il est ou non considéré comme correct de faire :

<?php the_content(); ?>

ou

<section id="home_page_content">
    <div class="home_left">
        <div class="main_image">
            <div class="mariela_circle"></div>
        </div>
    </div>
    <div class="home_right">
        <?php the_content(); ?>
    </div>

</section>

La première me semble plus correcte car je peux simplement prendre le balisage de la deuxième option et le coller dans l’éditeur wordpress pour cette page. J’utilise également un shortcode pour faciliter l’édition des parties dynamiques du site. Voici ce que j’ai fini par mettre dans l’éditeur de page à l’aide de l’outil d’administration de la page d’accueil :

<section id="home_page_content">
    <div class="home_left">
        <div class="main_image">
            <div class="mariela_circle"></div>
        </div>
    </div>
    <div class="home_right">
        [homePageSplash title1="Hello," title2="a bit about myself." content="a paragraph of text goes here." circle1Text="Item 1"]
    </div>
</section>

Cela fonctionne très bien, mais une partie du balisage ici peut être réutilisée sur d’autres pages. Disons que je crée une deuxième page. Je pourrais copier ce bloc entier mais juste changer le shortcode. Je préférerais ne pas le faire car je ne veux pas dupliquer de code. Dans ce cas, serait-il approprié de créer un autre shortcode pour générer ce balisage et également appeler le shortcode que j’ai listé ci-dessus ? Si quelqu’un a de l’expérience dans ce domaine, veuillez partager comment vous avez abordé ce problème. Je veux m’assurer que le processus que j’utilise est correct. Merci!

Lire également:  Comment injecter le chemin du bundle de réaction (webpack) dans les fonctions de scripts wordpress

Solution n°1 trouvée

Essentiellement, oui, vous avez raison. Il y a quelques ajustements ou modifications que je ferais, mais je n’entrerai pas dans les détails car c’est un choix personnel. Je vous recommande de télécharger des thèmes WordPress gratuits et de les désosser ; c’est-à-dire les séparer !

Il y a aussi quelques bons tutoriels sur des thèmes. WordPress est à peu près le même que Joomla (en ce qui concerne les thèmes) si vous l’avez déjà utilisé.

Lire également:  Wordpress : La meilleure façon de personnaliser "nav-menu-template.php" pour ajouter <input> si le 'link_before' est "checkbox"

Solution n°2 trouvée

Vous ne devriez pas utiliser de balisage dans votre éditeur de texte, WordPress a été conçu pour que même les personnes sans connaissances en HTML puissent l’utiliser, je vous conseille donc de faire de même. Tapez uniquement votre contenu dans l’éditeur de texte.

the_content()doit être utilisé à l’intérieur de « The Loop », une boucle de base ressemble à ceci :

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php //use the_content() and similar functions (the_title()) here ?>
<?php endwhile; else: ?>
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

En savoir plus : http://codex.wordpress.org/The_Loop

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

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