Über 20 der meistgesuchten WordPress-Loop-Hacks

5

Die Schleife ist der Hauptprozess in WordPress, daher findet man sie fast in jeder Theme-Datei. Im Wesentlichen handelt es sich um einen PHP-Code, der von der Plattform verwendet wird, um Beiträge über die Vorlagendateien eines Themas anzuzeigen. Mit anderen Worten, es ist riesig. Tatsächlich ist es kritisch, weil die Site ohne eine Schleife nicht funktioniert.

Das Optimieren dieser Reihe unglaublich leistungsstarker Funktionen kann die Fähigkeiten Ihrer WordPress-Site verbessern. So können Sie beispielsweise die Darstellung der Beiträge auf der Startseite verändern und nach bestimmten Parametern sortieren. Da die Schleife am einfachsten zu modifizieren ist, kann man ziemlich beeindruckende und kreative Hacks bekommen.

Lassen Sie uns Ihnen mehr als 20 Loop-Hacks zeigen, die Sie sofort verwenden sollten, um dies zu erreichen, ohne dass Plugins installiert werden müssen.

1 Platzieren Sie Werbung nach dem ersten Post

Als Blogger wissen Sie sehr gut, dass Anzeigen eine der besten Möglichkeiten sind, Geld zu verdienen. Diese dringend benötigten Klicks von Besuchern zu bekommen, ist sicherlich eine knifflige Sache, und viele Blogger mögen keine hohen Klickraten. Das Platzieren von Anzeigen nach dem ersten Post kann eine gute Möglichkeit sein, sie zu erhöhen, also versuchen Sie es mit dieser einfachen Optimierung.

Ersetzen Sie Ihre Schleife durch die untenstehende. Achten Sie darauf, dass Sie dort den Code der Anzeige einfügen müssen:

<?php if (have_posts()): ?>
<?php $count = 0; ?>
<?php while (have_posts()): the_post(); ?>
<?php $count++; ?>
  <?php if ($count == 2): ?>
          //Insert the code of an ad in this line
          <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
          <?php the_excerpt(); ?>
   <?php else: ?>
          <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
          <?php the_excerpt(); ?>
  <?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
2 Zeigen Sie veraltete, aber beliebte 1-jährige Beiträge an

Einige der Beiträge in Ihrem Blog, obwohl sie vor einem Jahr erstellt wurden, sind bei Ihren Lesern möglicherweise immer noch beliebt. Beispielsweise könnte es sich um einen How-To-Artikel oder eine andere Art von Evergreen-Content handeln. Um sicherzustellen, dass diese Posts beliebt bleiben, können Sie diesen praktischen Hack anwenden.

Fügen Sie diesen Code in die single.php-Datei ein:

<?php
$current_day = date('j');
$last_year = date('Y')-1;
query_posts('day='.$current_day.'&year='.$last_year);
if (have_posts()):
    while (have_posts()): the_post();
       the_title();
       the_excerpt();
    endwhile;
endif;
?>
3 Zeigen Sie fünf neueste Sticky Posts in der Schleife an

Die Standardfunktion erlaubt es, einen Beitrag auf die Titelseite zu kleben. Der folgende Hack platziert fünf Sticky Posts.

Viele Blogger betrachten Sticky Posts als hervorgehobene Posts, weil sie ermöglichen, dass ein Eintrag über anderen angezeigt wird. Wenn Sie Ihre eigene Kategorie „Empfehlungen des Herausgebers” erstellen möchten, gibt es dafür einen Hack. Der unten stehende Code muss an einer beliebigen Stelle im Thema eingefügt werden, damit er funktioniert. Sie können auch die Zahl ändern, um weniger Beiträge anzuzeigen, indem Sie die Zahl in der vierte Zeile.

<?php
$sticky = get_option('sticky_posts');
rsort( $sticky );
$sticky = array_slice( $sticky, 0, 5);
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1) );
 
if (have_posts()):     while (have_posts()): the_post();
        the_title();
        the_excerpt();
    endwhile;
endif;
 
?>
4 Listen Sie Beiträge aus einer bestimmten Kategorie auf

Unterscheiden Sie Posts aus derselben Kategorie mit dem folgenden Hack.

Wenn Sie aus irgendeinem Grund die Beiträge derselben Kategorie unterscheiden müssen (z. B. Artikel mit Anleitungen für Essay-Autoren), fügen Sie den folgenden Code in die Schleifendatei ein.

<?php foreach((get_the_category()) as $category) {
        $thecat = $category->cat_ID. ' ';
        query_posts('child_of='.$thecat);
 if (have_posts()): while (have_posts()): the_post();
    //Classic WP loop
 endwhile;endif;
?>
5 Stellen Sie eine Liste zukünftiger Posts bereit

Wenn Sie die Leser über die bevorstehenden Posts informieren, kann dies ihr Interesse wecken und sie dazu bringen, zu Ihrem Blog zurückzukehren, um sie zu lesen. Wenn dies für Sie nach einer großartigen Idee klingt, verwenden Sie den folgenden Code, um eine kurze Liste der bevorstehenden Posts auf Ihrer WordPress-Site bereitzustellen.

<?php query_posts('showposts=10&post_status=future'); ?>
<?php if (have_posts() ): while (have_posts() ): the_post(); ?>
    <h2><?php the_title(); ?></h2>
    <span class="datetime"><?php the_time('j. F Y'); ?></span></p>
<?php endwhile;
else: ?><p>No future events scheduled.</p>
<?php endif; ?>
6 Holen Sie sich Beiträge, die an einem bestimmten Datum hochgeladen werden

Wenn Sie häufig Schwierigkeiten haben, einige Posts in Ihrem Feed zu finden, können Sie mit einer Schleife danach suchen. Es ist möglich, indem Sie den folgenden Code einfügen, der die Suche wirklich einfach macht. Insbesondere werden Einträge abgerufen, die zwischen zwei von Ihnen festgelegten Daten gepostet wurden.

<?php
  function filter_where($where = '') {
        $where .= " AND post_date >= '2012-08-19' AND post_date <= '2012-08-11'";
    return $where;
  }
add_filter('posts_where', 'filter_where');
query_posts($query_string);
while (have_posts()):       the_post();
      the_content();
endwhile;
 
?>
7 Zeigen Sie eine Bildschleife an

Die Bildergalerie auf der Startseite einer WordPress-Website ist eine gute Idee, da die meisten Menschen visuelle Elemente zu schätzen wissen. Wenn Ihre Posts ein Lead-Bild enthalten, ruft der unten stehende Code sie ab, um sie in einer Schleife zu präsentieren.

Fügen Sie den folgenden Code in die Datei functions.php ein:

function 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 = $matches [1] [0];
 
  if(empty($first_img)){ //Determines a default image
    $first_img = "/images/default.webp";
  }
  return $first_img;
}
8 Automatisches Entfernen von Beiträgen durch Festlegen eines Ablaufdatums

Angenommen, Sie veranstalten einen Wettbewerb, um die Leserschaft Ihres Blogs zu erhöhen. Wenn der Wettbewerb beendet ist, veröffentlichen Sie die Ergebnisse und vor allem die Antworten oder Hinweise und Hinweise darauf. Natürlich sollten sie den Lesern nicht für immer zugänglich sein, da Sie in Zukunft möglicherweise einen weiteren Wettbewerb veranstalten, oder?

Eine gute Möglichkeit, Beiträge zu entfernen, selbst wenn Sie sie vergessen haben, besteht darin, dies zu planen, indem Sie ein Ablaufdatum festlegen. Die folgende Schleife ersetzt Ihre vorhandene und tut genau das.

Vergessen Sie nicht, das Format mm/tt/jjjj 00:00:00 zu verwenden, um die Ablaufzeit zu ersetzen.

<?php
if (have_posts()): while (have_posts()): the_post(); ?>
$expirationtime = get_post_custom_values('expiration');
if (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}
  
$secondsbetween = strtotime($expirestring)-time();
if ($secondsbetween > 0) {
// For example…
the_title();
the_excerpt();
}
endwhile;
endif;
?>
9 Kommentare von Trackbacks trennen

Ein beliebter Eintrag in Ihrem Blog wird von vielen anderen Seiten verlinkt. Damit die Leser der Diskussion im Kommentarbereich bequem folgen können, sollten Sie Kommentare und Trackbacks trennen.

Alles, was Sie tun müssen, ist die comments.php zu öffnen und nach Folgendem zu suchen:

foreach ($comments as $comment): ?>
// Comments are displayed here
endforeach;

Fand es? Großartig, jetzt ersetzen Sie es durch einen neuen Code:

<ul class="commentlist">
<?php //Displays comments only
foreach ($comments as $comment): ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'comment') { ?>
<li>//Comment code goes here</li>
<?php }
endforeach;
</ul>
  
<ul>
<?php //Displays trackbacks only
foreach ($comments as $comment): ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php }
endforeach;
  
</ul>
10 Verwandte Beiträge anzeigen

Das Anzeigen verwandter Beiträge ist eine gute Möglichkeit, die Leserschaft zu erhöhen. Dazu müssen Sie lediglich einen speziellen Code in die single.php-Datei einfügen.

<?php   
  $backup = $post;  // backup the current object
  $tags = ks29so_get_post_tags($post->ID);
  $tagIDs = array();
  if ($tags) {
    $tagcount = count($tags);
    for ($i = 0; $i < $tagcount; $i++) {
      $tagIDs[$i] = $tags[$i]->term_id;
    }
    $args=array(
      'tag__in' => $tagIDs,
      'post__not_in' => array($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 endwhile;
    } else { ?>
      <h2>No related posts found!</h2>
    <?php }
  }
  $post = $backup;  // copy it back
  ks29so_reset_query(); // to use the original query again
?>
11 Legen Sie fest, wie bestimmte Beiträge auf der Homepage angezeigt werden

Die allermeisten WordPress-Themes zeigen auf der Startseite alle Beiträge gleich an. Wenn es Ihnen aber nicht gefällt, können Sie es ändern und festlegen, welche vollständig angezeigt werden sollen und für welche nur Auszüge ausreichen.

Suchen Sie die Datei index.php und suchen Sie dort nach einer Schleife. Der folgende Code ersetzt es:

<?php if (have_posts()):     while (have_posts()): the_post();
         $customField = get_post_custom_values("full");
         if (isset($customField[0])) {
             //Custom field is set, display a full post
              the_title();
              the_content();
         } else {
             // No custom field set, lets display an excerpt
              the_title();
              the_excerpt();
    endwhile;
endif;
?>
12 Anzeigen von Werbeinhalten über den Posts auf der Homepage

Fügen Sie den folgenden Code in die Datei index.php ein, um Werbeinhalte hinzuzufügen.

<div class="content-loop">
13 Alle Autoren eines Blogs auf einer Seite auflisten

Fügen Sie diesen Code einfach irgendwo in die Schleife ein, um die Liste aller Autoren anzuzeigen.

<ul>
<?php ks29so_list_authors('exclude_admin=0&optioncount=1&show_fullname=1&hide_empty=1'); ?>
</ul>
14 Verwenden Sie das benutzerdefinierte Feld, um den Namen des Gastautors anzuzeigen

Wenn Sie Gastautoren in Ihrem Blog verwenden, ist es sehr wahrscheinlich, dass Sie keine separate Seite für sie erstellen. Warum zeigen sie stattdessen nicht einfach ihren Namen an?

Fügen Sie dazu diesen Code in single.php ein:

<?php $author = get_post_meta($post->ID, "guest-author", true);
if ($author != "") {
echo $author;
} else {
the_author();
} ?>
15 Machen Sie ein Bild zur obligatorischen Voraussetzung für die Veröffentlichung

Posts mit Bildern genießen oft mehr Aufrufe als solche ohne. Öffnen Sie Ihre Datei functions.php, um sie obligatorisch zu machen.

add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');
  
function wpds_check_thumbnail( $post_id) {
 // change to any custom post type
  if( get_post_type($post_id) != 'post')       return;
  
  if (! has_post_thumbnail( $post_id)) {
   // set a transient to show the users an admin message
    set_transient( "has_post_thumbnail", "no" );
   // unhook this function so it doesn't loop infinitely
    remove_action('save_post', 'wpds_check_thumbnail');
   // update the post set it to draft
    ks29so_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
  
    add_action('save_post', 'wpds_check_thumbnail');
  } else {
    delete_transient( "has_post_thumbnail" );
  }
}
  
function wpds_thumbnail_error() {
 // check if the transient is set, and display the error message
  if (get_transient( "has_post_thumbnail") == "no") {
    echo "<div id='message' class='error'><p><strong>You must add a Featured Image before publishing this. Don't panic, your post is saved.</strong></p></div>";
    delete_transient( "has_post_thumbnail" );
  }
}
16 Nach der Registrierung auf eine bestimmte Seite umleiten

Öffnen Sie die Datei functions.php und fügen Sie den folgenden Code hinzu.

function __my_registration_redirect(){
    return home_url( '/my-page' );
}
add_filter( 'registration_redirect', '__my_registration_redirect' );
 
#17. Insert Ads in Post
Use this code in your functions.php file to wrap ads in a post in any place you want.
Hack
function googleadsense($content){
  $adsensecode = 'Your Ad Codes Here';
  $pattern = '<!-googlead->';
  $content = str_replace($pattern, $adsensecode, $content);
  return $content;     
}
add_filter('the_content', 'googleadsense');
18 Verwenden Sie Shortcodes, um Anzeigen anzuzeigen

Wählen Sie die Stelle aus, an der Sie eine Anzeige einfügen möchten, und fügen Sie den folgenden Code in die functions.php ein.

function showads() {
    return '
AD'S CODE HERE
';
}
add_shortcode('adsense', 'showads');
19 Anzeige der am häufigsten kommentierten Beiträge

Fügen Sie der Datei functions.php den folgenden Code hinzu, um die Beiträge mit den meisten Kommentaren anzuzeigen.

function wpb_most_commented_posts() {
ob_start();?>
<ul class="most-commented">
<?php
$query = new
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('No Comments;', '1 Comment', '% Comments'); ?></span></li>
<?php endwhile; ?>
</ul>
<?php// Turn off output buffering
$output = ob_get_clean();
return $output; }
add_shortcode('wpb_most_commented', 'wpb_most_commented_posts');
add_filter('widget_text', 'do_shortcode');
20 Aktivieren Sie die Unterstützung für ausgewählte Bilder

Die überwiegende Mehrheit der WordPress-Designs unterstützt vorgestellte Bilder, aber wenn dies nicht der Fall ist, können Sie es aktivieren, indem Sie es in die Datei functions.php einfügen.

add_theme_support( 'post-thumbnails' );
21 Neueste Kommentare anzeigen

Verwenden Sie diesen Code an einer beliebigen Stelle in der Schleife, um die fünf neuesten Kommentare anzuzeigen.

<?php
$query = "SELECT * from $wpdb->comments WHERE comment_approved= '1'
ORDER BY comment_date DESC LIMIT 0 ,5";
$comments = $wpdb->get_results($query);
if ($comments) {
echo '<ul>';
foreach ($comments as $comment) {
$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>';
}
?>

Bereit zum Hacken?

Verwenden Sie diese praktischen Optimierungen und verbessern Sie die Funktionalität Ihrer WordPress-Site!

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen