Bonjour à toutes et tous. Premier message sur ce forum que je consulte régulièrement. Je compte donc sur votre indulgence si je ne fait pas les choses comme vous avez l'habitude. Smiley smile

J'expose rapidement mon problème.
Je refait un site actuellement sur la base du thème GagaLite .
C'est un OnePage, classique. Sous le menu il y a plusieurs sections...
Je pensais donc que cela allait être simple de bouger ces différentes sections mais en fait, non, car quand je regarde la structure du site, elle est contenue dans un fichier appelé : HOME PAGE TEMPLATE.PHP

Voilà comment il se présente. C'est ce fichier qui semble dicter l'ordre des sections en récupérant leur ID, à ce que je crois pouvoir comprendre.

<?php 
/**
 * Template Name: Home Page
 * */
get_header();
$enabled_sections = gaga_lite_get_menu_sections();
foreach($enabled_sections as $section) :?>
<section id="<?php echo esc_attr($section['id']) ?>" class="plx-sections clearfix">
   
    <div class="gaga_lite_background">
        <?php get_template_part('template-parts/section', $section['section']); ?>
    </div>
</section> <?php
endforeach;
get_footer(); ?>


Ces différentes sections correspondent en fait à des CATÉGORIES avec différentes ARTICLES. On attribue à chaque section une catégorie donc. Pas de problème.
Chacune de se sections BLOG/ PORTFOLIO etc... est cadré par un arrays dans les functions.
Exemple : pour la section "ABOUT"

    'gaga-lite-about_section' =>array(
        'id'=>'gaga-lite-about_section',
        'args'=>array(
            'title'=>__('About Us Setting','gaga-lite'),
            'description'=>__('Setting of about section','gaga-lite'),
            'priority' => 8,
            'capability'=>'edit_theme_options',
            'theme_support' =>'',
            'panel'=>'gaga-lite-home_page_panel'
        )
    ),


La question que je me pose c'est comment redéfinir l'ordre des sections ?
Je n'ai pas la main sur les IDs, je crois ?
Faut -il que je rajoute une valeur dans l'array de chaque section
puis que je l'appel ensuite ?

Je ne sais pas si je suis assez clair ?
Je cherche, mais j'ai un peu de mal à trouver en réalité.
Je me doute que c'est le <?php echo esc_attr($section['id']) ?> qui doit être modifier mais je ne vois pas bien.

Si qqln a une piste, c'est cool. Merci !

PS: Les versions de WP et du théme sont les dernières.
Modifié par JeanRumin (30 Apr 2016 - 17:22)
Je dirai qu'il suffit de réordonner $enabled_sections pour change l'ordre d'apparition mais es-tu certain d'avoir fait le tour des options du thème, je trouve ça étonnant que ça n'ait pas était prévu.

Sinon il y a des plugins pour ordonner les catégories.
J'insiste un peu... Si quelqu’un connait bien le fonctionnement de la fonction | get_template_part | çà m'intéresse... J'ai lu 2/3 choses intéressantes mais pas assez pour avancer

J'ai tenté de modifier
<?php get_template_part('template-parts/section', $section['section']); ?>

en remplacant 'section' par une section précise (blog) par exemple...
Ca marche mais ça me charge la section à l'infini donc pas bon. Smiley decu
Modifié par JeanRumin (02 May 2016 - 14:42)
Ok, j'ai trouvé... ça fait 3 jours que je cherche Smiley smile
En fait tout se passe dans le fichier FUNCTION.PHP

if(! function_exists('gaga_lite_get_menu_sections')){
function gaga_lite_get_menu_sections(){
    $sections = array('team','service','shop','skill','portfolio','client','testimonial','pricing','about','blog','cta');
    $enabled_section = array();
    foreach($sections as $section) :
        if(get_theme_mod('gaga-lite-'.$section.'_enable_disable') == 1) :
            $enabled_section[] = array(
                'id' => 'plx_'.$section.'_section',
                'menu_text' => get_theme_mod('gaga-lite-'.$section.'_menu_title'),
                'section' => $section,
            ); 
        endif;
    endforeach;
    return $enabled_section;
}


Il suffit d'éditer / $sections= array / et de mettre les sections ' ' dans l'ordre voulue.
C'est simple. Mais un peu pénible à trouver.