Meilleur moyen d’afficher un groupe d’éléments dans wordpress

Publié par Jean-Michel le

Je viens de commencer à travailler sur un projet avec wordpress. Et je me demande quelle est la meilleure pratique pour afficher un groupe de colonnes comme celle-ci (surlignée en rouge)entrez la description de l'image ici

dans la page (post). J’ai une exigence selon laquelle la personne qui crée un article peut insérer des colonnes par défaut avec un texte et un en-tête différents. J’ai essayé le shortcode mais cela semble trop complexe. Je veux quelque chose comme un formulaire avec les champs de saisie qui généreront les colonnes. Merci

Solution n°1 trouvée

Je résous ce problème avec des types de publication personnalisés et un shortcode.

Plugins (facultatif – vous pouvez tout coder à la main)

  • Créateur de types de publication personnalisés et de champs personnalisés – WCK
  • Ordre de poste personnalisé intuitif

Créez votre type de publication et vos champs personnalisés. Utilisez l’ordre de publication personnalisé intuitif pour permettre aux utilisateurs de réorganiser les publications.

Personnalisez ce modèle de shortcode en fonction de votre code et de vos exigences :

add_shortcode('cpt-list', 'jpro_cpt_list');

function jpro_cpt_list() {

    $args = array (
        'post_type' => array( 'cpt' ),
        'posts_per_page' => '-1',
        'orderby' => 'menu_order',
        'order'   => 'ASC'
    );
    $query = new WP_Query( $args );

    $cpt_list = '<div class="jpro-cpt cpt-list container">';

    if ( $query->have_posts() ) {
        while ( $query->have_posts() ) {
            $query->the_post();

            $post   = get_post($id);
            $postID = $post->ID;

            $image  = get_the_post_thumbnail( $postID, 'medium', array( 'class' => 'aligncenter' ));
            $name   = get_the_title($postID);
            $bio    = apply_filters('the_content', $post->post_content);


            if(!empty($image)){
                $output_image = '<div class="cpt-list image">'.$image.'</div>';
            } else {
                $output_image = '';
            }

            if(!empty($name)){
                $output_name ='<h3 class="cpt-name cpt-list">'.$name.'</h3>';
            } else {
                $output_name = '';
            }

            if(!empty($bio)){
                $output_bio ='<div class="cpt-bio cpt-list">'.$bio.'</div>';
            } else {
                $output_bio = '';
            }

                $cpt_list .= '<section class="jpro-cpt cpt-list columnClass">';
                $cpt_list .= $output_image;
                $cpt_list .= $output_name;
                $cpt_list .= $output_bio;
                $cpt_list .= '</section>';

        }
    } else {
        $cpt_list .='<p>Ooops! No cpt Found.</p>';
    }

    $cpt_list .='</div>';
    wp_reset_postdata();
    return $cpt_list;

}

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 *