web-dev-qa-db-fra.com

Comment créer des sections personnalisées dynamiques dans Wordpress?

Je suis très nouveau sur Wordpress et je voudrais juste poser une question fondamentale sur sa structure.

Je comprends que Wordpress utilise différents fichiers en tant que modèles pour différentes sections ou types de pages. Ce que j'aimerais savoir, c’est que si certaines parties de la page contiennent d’autres bits de données, comme dans l’image ci-dessous (celles avec les points d’interrogation):

enter image description here

Supposons, en référence à l'image ci-dessus, que les 3 cases d'une ligne affichent les critiques et que les 2 cases d'une rangée inférieure affichent uniquement des citations aléatoires. Ces boîtes ont leur propre style et le contenu serait dynamique. Ce serait assez simple si elles étaient statiques (je viens de copier-coller le code HTML), mais cela les rend modifiables via Wordpress que je ne suis pas sûr de savoir comment s'y prendre.

Notez que ces sections n’exécutent aucune fonction particulière, mais qu’elles affichent simplement du contenu (titre, texte ou image).

Je suppose que ma question se résume à:

Comment créer une section personnalisée dans une page Wordpress et la rendre modifiable/dynamique?

En lisant un peu, je suis tombé sur des concepts tels que: widgets, champs personnalisés et boîtes méta. Mais je ne sais pas exactement lequel de ces outils est le meilleur ni s'il existe de meilleurs.

1
catandmouse

Un moyen courant de réaliser une tâche similaire consiste à créer un modèle de page . Par exemple:

<?php
/*
Template Name: Reviews and Quotes
*/

get_header(); ?>

<div id="content">

    <div id="reviews">
        <?php
        $reviews = get_the_reviews();
        foreach( $reviews as $review ) {
            <?php
                <div class="review">
                    .....
                </div>
            ?>
        }
        ?>
    </div>

    <div id="quotes">
        <?php
        $quotes = get_the_quotes();
        foreach( $quotes as $quote ) {
            <?php
                <div class="quote">
                    .....
                </div>
            ?>
        }
        ?>
    </div>

</div>

<?php get_footer(); ?>

Ensuite, vous devez définir les fonctions get_the_reviews() et get_the_quotes() dans le functions.php de votre thème et faire ce que vous voulez, par exemple des requêtes sur la base de données:

function get_the_reviews() {

     //Your query to get the reviews

}

function get_the_quotes() {

     //Your query to get the quotes

}

Dans votre CSS, vous pouvez donner le style de cette page et de ces sections en utilisant l'ID et les classes donnés.

2
cybmeta