Comment créer différentes sections modifiables dans une page wordpress?

J’ai construit mon premier thème sur WordPress et j’ai rencontré des problèmes en ajoutant du contenu dans différentes sections.

Mon HTML est un peu comme ça,

Comment puis-je m’assurer que le contenu ajouté via l’éditeur wordpress relève des divisions respectives? Pour le div “maintext”, je chargerai le contenu de la page elle-même, mais comment puis-je append du contenu aux 2 autres div dynamicment?

J’ai cherché sur quelques forums et beaucoup ont suggéré d’append du contenu en utilisant des widgets, y a-t-il un moyen de le faire sans utiliser des widgets?

Toute aide sera volontiers appréciée.

    Malheureusement, l’ajout de plusieurs champs modifiables sur une seule page n’est pas particulièrement facile avec WordPress.

    De nombreux développeurs de WP que je connais (y compris moi-même) utilisent le plug- in Advanced Custom Fields pour des champs de contenu supplémentaires.

    Les étapes pour y arriver:

    1) Installez la fiche ACF.
    2) Dans la zone des parameters pour ACF, créez de nouveaux champs.
    3) Atsortingbuez les nouveaux champs à afficher pour une page ou un ensemble de pages spécifique.
    4) Mettez à jour votre modèle de page pour la ou les pages données afin que les nouveaux champs soient affichés.

    Par exemple, vous pouvez créer un ensemble de champs wysiwyg standard, puis les affecter à la page “Overview”. Appelons ces champs: main_text, products_info et about_company. Une fois que les champs ont été créés et affectés à une page, lorsque vous modifiez cette page, les champs supplémentaires seront disponibles pour modification.

    Pour que ces nouveaux champs soient visibles par les visiteurs, ils doivent être ajoutés au modèle de page que vous utilisez pour votre page de présentation. Le code pourrait être quelque chose comme ceci:

     
    ' . get_field('main_text') . '

    '; //display it } ?>
    ' . get_field('products_info') . '

    '; //display it } ?>
    ' . get_field('about_company') . '

    '; //display it } ?>

    Il y a beaucoup de bons exemples ici . Si vous vous sentez vraiment ambitieux, plutôt que d’installer le plugin, vous pouvez même inclure ACF directement dans votre thème .

    Je crois que vous avez trois options:

    1. Créez une zone de widget dans laquelle vous pouvez afficher le contenu dans un widget de texte: http://codex.wordpress.org/Function_Reference/register_sidebar
    2. Créez un modèle où vous obtenez ensuite le contenu d’une page différente: http://codex.wordpress.org/Page_Templates#File_Folders
    3. Créez une nouvelle boîte de méta pour toutes vos pages: http://codex.wordpress.org/Function_Reference/add_meta_box

    Je crois que la chose que vous recherchez est l’option 2. Les autres sont plus orientés site complet si vous souhaitez que le contenu supplémentaire apparaisse sur chaque page.

     

    Si vous écrivez le thème, vous voudrez peut-être envisager d’utiliser un framework WordPress afin de ne pas avoir à recommencer à zéro.

    Si ce n’est pas le cas, pensez à l’utilisateur final. Comment vont-ils append des sections aux pages et aux messages? Devront-ils se déplacer d’un endroit à l’autre dans l’interface utilisateur de WordPress ou préféreraient-ils utiliser des codes courts?

    Ma recommandation est de créer un plug-in qui rend la section dans le contenu du document. Ou le contenu du widget si tel est le cas.

    J’ai écrit un petit morceau de code pour illustrer comment vous pouvez accomplir une telle chose, et aussi parce que j’en ai besoin tout de suite: D. Vous pouvez le trouver sur github ici https://github.com/lionpage/Front-Office-Document-Sections

    J’espère que cela t’aides

    J’ai déjà rencontré ce problème plusieurs fois, et bien que la question ait 3 ans, je pense que c’est toujours d’actualité. J’ai utilisé avec succès le plugin Multiple Content Blocks parfois maintenant:

    https://ltz.wordpress.org/plugins/multiple-content-blocks/

    Après avoir installé le plugin, vous pouvez simplement inclure the_block dans votre template: