- Statut : non résolu
- Ce sujet contient 29 réponses, 5 participants et a été mis à jour pour la dernière fois par rmdiffusion, le il y a 9 années et 7 mois.
-
AuteurMessages
-
18 février 2015 à 17 h 12 min #547412
Bonjour,
Ma configuration WP actuelle 4.1
– Version de WordPress : 4.1
– Version de PHP/MySQL :
– Thème utilisé : Frontier
– Extensions en place :
– Nom de l’hebergeur :
– Adresse du site : http://sansmaitre.beProblème(s) rencontré(s) :
Bonjour,
Apparemment il n’existe pas de plugin permettant l’affichage du dernier article complet en page d’accueil, et en-dessous des extraits des derniers articles plus anciens.
On me conseille de faire un thème enfant (déjà fait) et de modifier l’affichage de la boucle sur la page d’accueil, avec un compteur.
Cependant on le déconseille pour le référencement Google.
Quelqu’un pourrait m’expliquer l’affichage de la boucle avec compteur ? Parce que si je modifie la bouche, soit j’ai tous les articles qui s’affichent complètement , ou partiellement.
Quel problème pourrait-il y avoir avec les moteurs de Google ?
Merci à vous.
18 février 2015 à 19 h 14 min #995621J’ai eu réponse pour Google (2 pages identiques), par contre, le reste est toujours d’actualité.🙂
19 février 2015 à 8 h 02 min #995622le problème avec google n’existe pas vraiment. Oui votre page d’accueil ressemblera partiellement avec votre page single du billet mais si votre page single affiche des renseignements supplémentaires et quelques détails non présent en accueil, alors c’est bon. Le duplicate content est quand même pas si strict de mon point de vue// mais hélas personne n’en est sûr.
Pour votre demande, il vous faut deux boucles
boucle 1 pour votre dernier billet :
$my_query_args = array (
‘showposts’ => 1,
);Boucle 2 pour la suite avec 4 billets en extraits :
$my_query_args = array (
‘showposts’ => 4,
‘offset’ => 1,
);pour savoir quoi faire de ces query et mettre en page selon vos souhaits :
http://codex.wordpress.org/Function_Reference/query_posts19 février 2015 à 9 h 30 min #995623Inutile de faire deux boucles, donc deux requêtes à la base de données.
le principe du compteur sert à éviter ce genre de problème
if ( have_posts() ) {
$i = 0 ;
global $more ;
while ( have_posts() ) {
the_post() ;
tout ce qui vient avant the_content()
if ( $i = 0 ) {
$more = 1 ;
the_content() ;
$more = 0 ;
}
else {
the_content( ) ;
}
tout ce qui vient après the_content()
$i++ ;
}
}Source et explication : http://codex.wordpress.org/Function_Reference/the_content
20 février 2015 à 5 h 46 min #995624Merci beaucoup. Je revois ça à tete reposée, parce que là, je n’y suis pas encore arrivé. On remet ça à dans quelques heures, …
22 février 2015 à 1 h 34 min #995625Bonjour. Me revoilà. Bon, je dois être « pas doué » parce que .. j’ai mis ce code dans le style du thème enfant, mais ça n’a rien changé.
Une petite aide sur le bon endroit où l’insérer svp ?
Merci 🙂22 février 2015 à 4 h 47 min #995626C’est pas du css, donc ça n’a rien à faire dans le fichier styles.css
ça doit remplacer la boucle dans index.php mais il faut ADAPTER (donc il faut le comprendre ^^)
22 février 2015 à 11 h 41 min #995627Je vais essayer de comprendre alors, …. merci pour la localisation 🙂.
22 février 2015 à 12 h 51 min #995628Je confirme, il faut comprendre, et, …. je n’ai pas compris
C’est ceci que je dois modifier ? Et comment svp ?
22 février 2015 à 23 h 08 min #995629D’après le contenu de votre fichier, il faudrait modifier le fichier qui s’appelle blog.php ou loop-blog.php et qui est utilisé pour tout affichage hors article seul.
Mais si vous voulez vraiment n’avoir votre affichage spécifique que sur la page d’accueil, le mieux serait de créer un fichier home.php que WordPress reconnaît comme étant celui pour l’accueil.
Dedans, vous recopiez le contenu de index.php et vous remplacer toute cette partie là :–> à remplacer par le code indiqué par Lumière de Lune, mais qui doit être adapté en remplaçant tout ce qui vient avant the_content() par le contenu équivalent du fichier blog.php et idem pour tout ce qui vient après the_content()
(si besoin, mettez le contenu de votre fichier blog.php ou loop-blog.php ici, à mettre entre balises de code à l’aide de l’icône du gros C noir )
22 février 2015 à 23 h 27 min #995630Merci pour votre intérêt. Effectivement, je voudrais avoir cet affichage uniquement sur la page d’accueil.
C’est le dernier article qui devrait être affiché complètement, avec les autres en résumé en-dessous.
Modifier le fichier loop-blog.php ou loop.php n’a pas donc grand intérêt.
Je vous copie ici le contenu du fichier, parce qu’après 12 heures là-dessus, je sature Grand merci d’avance 🙂
<div id="content" class="cf">
<div id="widgets-wrap-before-content" class="cf"></div>
<div class="archive-info">
<h3 class="archive-title">
<?php
if ( is_search() )
printf( __('Search Results for – "<span>%s</span>"’, ‘frontier’), get_search_query() );
elseif ( is_day() )
printf( __(‘Date – <span>%s</span>‘, ‘frontier’), get_the_date() );
elseif ( is_month() )
printf( __(‘Month – <span>%s</span>‘, ‘frontier’), get_the_date( ‘F Y’ ) );
elseif ( is_year() )
printf( __(‘Year – <span>%s</span>‘, ‘frontier’), get_the_date( ‘Y’ ) );
elseif ( is_category() || is_tag() )
echo ‘<span>‘ . single_cat_title( », false ) . ‘</span>‘;
?>
</h3>
<div class="archive-description"></div>
</div>
<div class="form-404">
<?php
$frontier_nothing_found_content = '<h2>‘ . __(‘Nothing Found’, ‘frontier’) . ‘</h2>‘;
$frontier_nothing_found_content .= ‘<p>‘ . __(‘Try a new keyword.’, ‘frontier’) . ‘</p>‘;
$frontier_nothing_found_content .= get_search_form( false );
echo apply_filters( ‘frontier_nothing_found_content’, $frontier_nothing_found_content );
?>
</div>
<div class="blog-nav cf">
<?php
$post_nav_blog = '';
if ( !is_search() ) {
$post_nav_blog .= '<div class="link-prev">‘ . get_next_posts_link( __(‘← Older Posts’, ‘frontier’) ) . ‘</div>‘;
$post_nav_blog .= ‘<div class="link-next">‘ . get_previous_posts_link( __(‘Newer Posts →’, ‘frontier’) ) . ‘</div>‘;
}
else {
$post_nav_blog .= ‘<div class="link-next">‘ . get_next_posts_link( __(‘Next Page →’, ‘frontier’) ) . ‘</div>‘;
$post_nav_blog .= ‘<div class="link-prev">‘ . get_previous_posts_link( __(‘← Previous Page’, ‘frontier’) ) . ‘</div>‘;
}
echo apply_filters( ‘frontier_post_nav_blog’, $post_nav_blog );
?>
</div>
<div id="widgets-wrap-after-content" class="cf"></div>
</div>23 février 2015 à 15 h 00 min #995631Nous avons apparemment perdu Lumière de Lune qui avait proposé un code, à modifier je ne sais pas comment, … Help us please
23 février 2015 à 15 h 34 min #995632pour moi la modif n’est pas dans ces deux fichiers mais à voir dans un home.php ou index.php.
là vous êtes déjà dans l’affichage d’un unique billet.
Par contre, à la lecture de l’échange en cours, vous ne semblez rien connaître en php. je vous déconseille donc grandement d’entreprendre cette modification par vous même à ce stade sachant qu’à distance même en copiant collant des solutions, ça ne sera jamais parfait.
23 février 2015 à 15 h 53 min #995633C’est bien pour cela que j’ai copié le code du fichier home.php, pour qu’une bonne âme puisse faire la manipulation pour moi, et que je puisse l’injecter dans le thème enfant 😇
23 février 2015 à 16 h 05 min #995634pouvez vous mettre une copie de la source loop-blog.php ?
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.