20+ hacks de boucle WordPress les plus recherchés
Publié: 2017-12-20La boucle est le processus principal de WordPress, elle se trouve donc presque dans tous les fichiers de thème. Il s'agit essentiellement d'un code PHP utilisé par la plate-forme pour afficher les publications via les fichiers de modèle d'un thème. Autrement dit, c'est énorme. En fait, c'est critique, car le site ne fonctionnera pas sans boucle.
Ajuster cet ensemble de fonctionnalités incroyablement puissantes peut faire progresser les capacités de votre site WordPress. Par exemple, vous pouvez modifier la façon dont les messages sont affichés sur la page d'accueil et les trier à l'aide de paramètres spécifiques. Étant donné que la boucle est la chose la plus facile à modifier, on peut obtenir des hacks assez impressionnants et créatifs.
Montrons plus de 20 hacks de boucle que vous devriez utiliser dès maintenant pour y arriver, sans avoir besoin d'installer de plugins.
#1. Placez la publicité après le premier message
En tant que blogueur, vous savez très bien que les publicités sont l'un des meilleurs moyens de gagner de l'argent. Obtenir ces clics indispensables de la part des visiteurs est certainement une chose délicate et de nombreux blogueurs ne bénéficient pas de taux de clics élevés. Placer des publicités après le premier message peut être un bon moyen de les augmenter, alors essayez ce simple ajustement.
Remplacez votre boucle par celle ci-dessous. Attention, vous devez y coller le code de l'annonce :
[php]
<?php si (have_posts()) : ?>
<?php $count = 0 ; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $count++ ; ?>
<?php si ($count == 2) : ?>
//Insérer le code d'une annonce dans cette ligne
<h2><a href="<?php le_permalien(); ?>"><?php le_titre(); ?></a></h2>
<?php le_extrait(); ?>
<?php sinon : ?>
<h2><a href="<?php le_permalien(); ?>"><?php le_titre(); ?></a></h2>
<?php le_extrait(); ?>
<?php endif; ?>
<?php pendant que ; ?>
<?php endif; ?>
[/php]
#2. Afficher les messages obsolètes mais populaires datant d'un an
Certains des articles de votre blog, bien que créés il y a un an, peuvent toujours être populaires parmi vos lecteurs. Par exemple, il peut s'agir d'un article pratique ou d'un autre type de contenu à feuilles persistantes. Pour vous assurer que ces messages restent populaires, vous pouvez appliquer ce hack pratique.
Insérez ce code dans le fichier single.php :
[php]
<?php
$jour_courant = date('j');
$dernière_année = date('Y')-1 ;
query_posts('day='.$current_day.'&year='.$last_year);
si (avoir_posts()):
tandis que (have_posts()) : the_post();
le titre();
l_extrait();
pendant ce temps;
fin si;
?>
[/php]
#3. Afficher cinq derniers messages collants dans la boucle
La fonction par défaut permet de coller une publication en première page. Le hack ci-dessous place cinq messages collants.
De nombreux blogueurs considèrent les articles collants comme des articles en vedette, car ils permettent à une entrée de s'afficher au-dessus des autres. Si vous souhaitez créer votre propre catégorie "Choix de l'éditeur", il existe un hack juste pour cela. Le code ci-dessous doit être inséré n'importe où dans le thème pour fonctionner. Vous pouvez également modifier le nombre pour afficher moins de publications en remplaçant le nombre de la quatrième ligne.
[php]
<?php
$sticky = get_option('sticky_posts');
rsort( $sticky );
$collant = array_slice( $collant, 0, 5);
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) );
si (have_posts()) :
tandis que (have_posts()) : the_post();
le titre();
l_extrait();
pendant ce temps;
fin si;
?>
[/php]
#4. Répertorier les messages d'une catégorie particulière
Différenciez les messages de la même catégorie avec le hack ci-dessous.
Si, pour une raison quelconque, vous devez différencier les articles qui partagent la même catégorie (par exemple, des articles pratiques pour les rédacteurs d'essais), insérez le code suivant dans le fichier de boucle.
[php]
<?php foreach((get_the_category()) as $category) {
$thecat = $category->cat_ID . ' ';
query_posts('child_of='.$thecat);
if (have_posts()) : while (have_posts()) : the_post();
// Boucle WP classique
endwhile;endif;
?>
[/php]
#5. Fournir la liste des futurs messages
Informer les lecteurs des articles à venir pourrait susciter leur intérêt et les inciter à revenir sur votre blog pour les lire. Si cela vous semble être une bonne idée, utilisez le code ci-dessous pour fournir une courte liste des publications à venir sur votre site WordPress.
[php]
<?php query_posts('showposts=10&post_status=future'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2><?php le_titre(); ?></h2>
<span class="datetime"><?php the_time('j. F Y'); ?></span></p>
<?php pendant que ;
else : ?><p>Aucun événement futur prévu.</p>
<?php endif; ?>
[/php]
#6. Obtenir des messages téléchargés à une date précise
Si vous avez souvent du mal à trouver des publications dans votre flux, vous pouvez les rechercher à l'aide d'une boucle. C'est possible en insérant le code suivant qui rend la recherche vraiment facile. Concrètement, il récupère les entrées postées entre deux dates que vous spécifiez vous-même.
[php]
<?php
fonction filtre_où($où = ”) {
$where .= " AND post_date >= '2012-08-19' AND post_date <= '2012-08-11'" ;
retourne $où ;
}
add_filter('posts_where', 'filter_where');
query_posts($query_string);
tandis que (have_posts()) :
la poste();
le contenu();
pendant ce temps;
?>
[/php]
#7. Afficher une boucle d'images
La galerie d'images sur la page de démarrage d'un site Web WordPress est une bonne idée car la plupart des gens apprécient les visuels. Si vos messages contiennent une image principale, le code ci-dessous les récupérera pour les présenter en boucle.
Insérez le code suivant dans le fichier functions.php :
[php]
fonction catch_that_image() {
global $post, $posts ;
$first_img = ”;
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches);
$first_img = $correspond à [1] [0] ;
if(empty($first_img)){ //Détermine une image par défaut
$first_img = "/images/default.jpg" ;
}
retourne $first_img ;
}
[/php]
#8. Supprimer automatiquement les publications en définissant une date d'expiration
Supposons que vous organisiez un concours pour augmenter le lectorat de votre blog. Lorsque le concours est terminé, vous publiez les résultats et, surtout, les réponses, ou les indices et indices les concernant. Bien sûr, ils ne devraient pas être accessibles aux lecteurs pour toujours car vous pourriez organiser un autre concours à l'avenir, n'est-ce pas ?
Un bon moyen de supprimer des publications même lorsque vous les avez oubliées est de les programmer en définissant une date d'expiration. La boucle ci-dessous remplace votre boucle existante et fait exactement cela.
N'oubliez pas d'utiliser le format mm/jj/aaaa 00:00:00 pour remplacer l'heure d'expiration.
[php]
<?php
si (have_posts()) :
tandis que (have_posts()) : the_post(); ?>
$expirationtime = get_post_custom_values('expiration');
si (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}
$secondes entre = strtotime($expirestring)-time();
si ( $ secondes entre > 0 ) {
// Par exemple…
le titre();
l_extrait();
}
pendant ce temps;
fin si;
?>
[/php]
#9. Séparez les commentaires des rétroliens
Une entrée populaire sur votre blog sera liée à de nombreux autres sites. Pour vous assurer que les lecteurs peuvent suivre confortablement la discussion dans la section des commentaires, vous devez séparer les commentaires et les rétroliens.
Tout ce que vous avez à faire est d'ouvrir comments.php et de rechercher ce qui suit :
[php]
foreach ($commentaires comme $commentaire) : ?>
// Les commentaires sont affichés ici
finpourchaque;
[/php]
Vous l'avez trouvé ? Super, remplacez-le maintenant par un nouveau code :
[php]
<ul class="commentlist">
<?php //Affiche uniquement les commentaires
foreach ($commentaires comme $commentaire) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'comment') { ?>
<li>//Le code de commentaire va ici</li>
<?php }
finpourchaque;
</ul>
<ul>
<?php //Affiche uniquement les rétroliens
foreach ($commentaires comme $commentaire) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php }
finpourchaque;

</ul>
[/php]
#dix. Afficher les messages associés
L'affichage d'articles connexes est un bon moyen d'augmenter le lectorat. Tout ce que vous avez à faire pour y parvenir est de coller un code spécial dans le fichier single.php.
[php]
<?php
$backup = $post ; // sauvegarde l'objet courant
$tags = ks29so_get_post_tags($post->ID);
$tagIDs = array();
si ($tags) {
$tagcount = count($tags);
pour ($i = 0; $i < $tagcount; $i++) {
$tagIDs[$i] = $tags[$i]->term_id ;
}
$args=tableau(
'tag__in' => $tagIDs,
'post__not_in' => tableau($post->ID),
'showposts'=>5,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<h3><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
<?php pendant que ;
} sinon { ?>
<h2>Aucune publication associée trouvée !</h2>
<?php }
}
$post = $sauvegarde ; // le recopier
ks29so_reset_query(); // pour utiliser à nouveau la requête d'origine
?>
[/php]
#11. Déterminer comment des messages particuliers sont affichés sur la page d'accueil
La grande majorité des thèmes WordPress affichent tous les articles de la même manière sur la page de démarrage. Si vous ne l'aimez pas, vous pouvez cependant le modifier et définir ceux qui doivent être entièrement affichés et pour lesquels seuls des extraits suffisent.
Trouvez le fichier index.php et recherchez-y une boucle. Le code suivant le remplace :
[php]
<?php si (have_posts()) :
tandis que (have_posts()) : the_post();
$champpersonnalisé = get_post_custom_values("full");
si (isset($champpersonnalisé[0])) {
// Le champ personnalisé est défini, affiche un message complet
le titre();
le contenu();
} autre {
// Pas de jeu de champs personnalisés, affichons un extrait
le titre();
l_extrait();
pendant ce temps;
fin si;
?>
[/php]
#12. Afficher le contenu promotionnel au-dessus des publications sur la page d'accueil
Insérez le code suivant dans le fichier index.php pour ajouter du contenu promotionnel.
[php]
<div class="content-loop">
[/php]
#13. Répertorier tous les auteurs d'un blog dans une page
Collez simplement ce code n'importe où dans la boucle pour afficher la liste de tous les auteurs.
[php]
<ul>
<?php ks29so_list_authors('exclude_admin=0&optioncount=1&show_fullname=1&hide_empty=1'); ?>
</ul>
[/php]
#14. Utiliser un champ personnalisé pour afficher le nom de l'auteur invité
Si vous utilisez des auteurs invités sur votre blog, il est très probable que vous ne leur créiez pas une page distincte. Pourquoi ne pas simplement afficher leur nom à la place ?
Insérez ce code dans single.php pour le faire :
[php]
<?php $author = get_post_meta($post->ID, "guest-author", true);
si ($auteur != "") {
echo $auteur ;
} autre {
l'auteur();
} ?>
[/php]
#15. Faire d'une image une exigence obligatoire pour la publication
Les publications avec images bénéficient souvent de plus de vues que celles qui n'en ont pas. Ouvrez votre fichier functions.php pour les rendre obligatoires.
[php]
add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');
function wpds_check_thumbnail( $post_id ) {
// passe à n'importe quel type de message personnalisé
if( get_post_type($post_id) != 'post' )
retourner;
si ( ! has_post_thumbnail( $post_id ) ) {
// définit un transitoire pour montrer aux utilisateurs un message d'administration
set_transient( "has_post_thumbnail", "no" );
// décroche cette fonction pour qu'elle ne boucle pas à l'infini
remove_action('save_post', 'wpds_check_thumbnail');
// met à jour le message et le définit comme brouillon
ks29so_update_post(array('ID' => $post_id, 'post_status' => 'brouillon'));
add_action('save_post', 'wpds_check_thumbnail');
} autre {
delete_transient( "has_post_thumbnail" );
}
}
fonction wpds_thumbnail_error() {
// vérifie si le transitoire est défini et affiche le message d'erreur
if ( get_transient( "has_post_thumbnail" ) == "non" ) {
echo "<div id='message' class='error'><p><strong>Vous devez ajouter une image sélectionnée avant de publier ceci. Ne paniquez pas, votre message est enregistré.</strong></p>< /div>" ;
delete_transient( "has_post_thumbnail" );
}
}
[/php]
#16. Rediriger vers une page spécifique après l'inscription
Ouvrez le fichier functions.php et ajoutez le code ci-dessous.
[php]
fonction __my_registration_redirect(){
return home_url( '/ma-page' );
}
add_filter( 'registration_redirect', '__my_registration_redirect' );
#17. Insérer des annonces dans la publication
Utilisez ce code dans votre fichier functions.php pour insérer des publicités dans un message à l'endroit de votre choix.
Pirater
fonction googleadsense($content){
$adsensecode = 'Vos codes publicitaires ici' ;
$motif = '<!-googlead->' ;
$content = str_replace($pattern, $adsensecode, $content);
retourne $contenu ;
}
add_filter('the_content', 'googleadsense');
[/php]
#18. Utiliser des codes courts pour afficher des annonces
Sélectionnez l'endroit où vous souhaitez insérer une annonce et collez le code suivant dans functions.php.
[php]
fonction showads() {
retourner '
CODE D'ANNONCE ICI
';
}
add_shortcode('adsense', 'showads');
[/php]
#19. Afficher les messages les plus commentés
Ajoutez le code suivant au fichier functions.php pour afficher les messages avec le plus de commentaires.
[php]
fonction wpb_most_commented_posts() {
ob_start();?>
<ul class="le plus commenté">
<?php
$requête = nouveau
WP_Query('orderby=comment_count&posts_per_page=10');
while($query->have_posts()) : $query->the_post(); ?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a> <span class="wpb-comment-count"><?php comments_popup_link('Aucun commentaire ;', '1 commentaire', '% commentaires'); ?></span></li>
<?php pendant que ; ?>
</ul>
<?php// Désactiver la mise en mémoire tampon de sortie
$sortie = ob_get_clean();
retourne $sortie ; }
add_shortcode('wpb_most_commented', 'wpb_most_commented_posts');
add_filter('widget_text', 'do_shortcode');
[/php]
#20. Activer la prise en charge des images en vedette
La grande majorité des thèmes WordPress prennent en charge les images en vedette, mais si le vôtre ne le fait pas, vous pouvez l'activer en l'insérant dans le fichier functions.php.
[php]
add_theme_support( 'post-vignettes' );
[/php]
#21. Afficher les derniers commentaires
Utilisez ce code n'importe où dans la boucle pour afficher les cinq derniers commentaires.
[php]
<?php
$query = "SELECT * from $wpdb->comments WHERE comment_approved= '1'
ORDER BY comment_date DESC LIMIT 0 ,5" ;
$commentaires = $wpdb->get_results($query);
si ($commentaires) {
echo '<ul>';
foreach ($commentaires comme $commentaire) {
$url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">';
echo '<li>' ;
echo '<div class="img">' ;
echo $url;
echo get_avatar( $comment->comment_author_email, $img_w);
echo '</a></div>' ;
echo '<div class="txt">Par : ' ;
echo $url;
echo $comment->comment_author ;
echo '</a></div>' ;
echo '</li>' ;
}
echo '</ul>';
}
?>
[/php]
Prêt à pirater ?
Utilisez ces ajustements pratiques et améliorez les fonctionnalités de votre site WordPress !