Über 20 der meistgesuchten WordPress-Loop-Hacks
Veröffentlicht: 2017-12-20Die 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]
<?php if (have_posts()) : ?>
<?php $count = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $count++; ?>
<?php if ($count == 2) : ?>
//Fügen Sie den Code einer Anzeige in diese Zeile ein
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php sonst : ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
[/php]
#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 möglicherweise immer noch bei Ihren Lesern 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]
<?php
$aktueller_Tag = Datum('j');
$last_year = date('Y')-1;
query_posts('day='.$aktueller_Tag.'&year='.$last_year);
if (have_posts()):
while (have_posts()) : the_post();
der Titel();
der Auszug();
am Ende;
endif;
?>
[/php]
#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 der Redaktion“ erstellen möchten, gibt es dafür einen Hack. Der folgende Code muss irgendwo im Design eingefügt werden, damit er funktioniert. Sie können die Zahl auch ändern, um weniger Beiträge anzuzeigen, indem Sie die Zahl in der vierten Zeile ersetzen.
[php]
<?php
$sticky = get_option('sticky_posts');
rsort( $klebrig );
$sticky = array_slice( $sticky, 0, 5);
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) );
if (have_posts()) :
while (have_posts()) : the_post();
der Titel();
der Auszug();
am Ende;
endif;
?>
[/php]
#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]
<?php foreach((get_the_category()) as $category) {
$thecat = $category->cat_ID . ' ';
query_posts('child_of='.$thecat);
if (have_posts()): while (have_posts()): the_post();
//Klassische WP-Schleife
endwhile;endif;
?>
[/php]
#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]
<?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;
sonst: ?><p>Keine zukünftigen Veranstaltungen geplant.</p>
<?php endif; ?>
[/php]
#6. Erhalten Sie 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]
<?php
Funktion filter_where($where = ”) {
$where .= " UND post_date >= '2012-08-19' UND post_date <= '2012-08-11'";
gib $wo zurück;
}
add_filter('posts_where', 'filter_where');
query_posts($query_string);
while (have_posts()) :
die Post();
der Inhalt();
am Ende;
?>
[/php]
#7. Zeigen Sie eine Schleife von Bildern 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:
[php]
Funktion catch_that_image() {
globaler $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)){ //Legt ein Standardbild fest
$first_img = "/images/default.jpg";
}
gib $first_img zurück;
}
[/php]
#8. Beiträge automatisch entfernen, indem Sie ein Ablaufdatum festlegen
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]
<?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 ( $Sekundenzwischen > 0 ) {
// Zum Beispiel…
der Titel();
der Auszug();
}
am Ende;
endif;
?>
[/php]
#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 comments.php zu öffnen und nach Folgendem zu suchen:
[php]
foreach ($kommentare als $kommentar) : ?>
// Kommentare werden hier angezeigt
endforreach;
[/php]
Fand es? Großartig, jetzt ersetzen Sie es durch einen neuen Code:
[php]
<ul class="commentlist">
<?php //Zeigt nur Kommentare an
foreach ($kommentare als $kommentar) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'Kommentar') { ?>
<li>//Kommentarcode kommt hier rein</li>
<?php }
endforreach;
</ul>
<ul>
<?php //Zeigt nur Trackbacks an
foreach ($kommentare als $kommentar) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php }
endforreach;

</ul>
[/php]
#10. Ähnliche 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]
<?php
$sicherung = $post; // aktuelles Objekt sichern
$tags = ks29so_get_post_tags($post->ID);
$tagIDs = array();
wenn ($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),
'Ausstellungsposten'=>5,
'caller_get_posts'=>1
);
$my_query = neue 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;
} sonst { ?>
<h2>Keine verwandten Beiträge gefunden!</h2>
<?php }
}
$post = $sicherung; // zurückkopieren
ks29so_reset_query(); // Um die ursprüngliche Abfrage erneut zu verwenden
?>
[/php]
#11. Bestimmen Sie, wie bestimmte Beiträge auf der Homepage angezeigt werden
Die allermeisten WordPress-Themes zeigen alle Beiträge auf der Startseite 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]
<?php if (have_posts()) :
while (have_posts()) : the_post();
$customField = get_post_custom_values("full");
if (isset($customField[0])) {
//Benutzerdefiniertes Feld ist festgelegt, zeige einen vollständigen Beitrag an
der Titel();
der Inhalt();
} anders {
// Kein benutzerdefiniertes Feld gesetzt, lassen Sie uns einen Auszug anzeigen
der Titel();
der Auszug();
am Ende;
endif;
?>
[/php]
#12. Zeigen Sie Werbeinhalte über den Beiträgen auf der Startseite an
Fügen Sie den folgenden Code in die Datei index.php ein, um Werbeinhalte hinzuzufügen.
[php]
<div class="content-loop">
[/php]
#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.
[php]
<ul>
<?php ks29so_list_authors('exclude_admin=0&optioncount=1&show_fullname=1&hide_empty=1'); ?>
</ul>
[/php]
#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]
<?php $author = get_post_meta($post->ID, "Gast-Autor", true);
if ($autor != "") {
echo $autor;
} anders {
der Autor();
} ?>
[/php]
#fünfzehn. 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.
[php]
add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');
Funktion wpds_check_thumbnail( $post_id ) {
// zu einem beliebigen benutzerdefinierten Beitragstyp wechseln
if( get_post_type($post_id) != 'post' )
Rückkehr;
if ( ! has_post_thumbnail( $post_id ) ) {
// Setze einen Transienten, um den Benutzern eine Admin-Nachricht anzuzeigen
set_transient( "has_post_thumbnail", "nein" );
// Haken Sie diese Funktion aus, damit sie nicht endlos wiederholt wird
remove_action('save_post', 'wpds_check_thumbnail');
// aktualisiere den Beitrag setze ihn auf Entwurf
ks29so_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
add_action('save_post', 'wpds_check_thumbnail');
} anders {
delete_transient( "has_post_thumbnail" );
}
}
Funktion wpds_thumbnail_error() {
// prüfen, ob der Transient gesetzt ist, und die Fehlermeldung anzeigen
if ( get_transient( "has_post_thumbnail" ) == "nein" ) {
echo "<div id='message' class='error'><p><strong>Sie müssen ein ausgewähltes Bild hinzufügen, bevor Sie dies veröffentlichen können. Keine Panik, Ihr Beitrag wird gespeichert.</strong></p>< /div>";
delete_transient( "has_post_thumbnail" );
}
}
[/php]
#16. Weiterleitung auf eine bestimmte Seite nach der Registrierung
Öffnen Sie die Datei functions.php und fügen Sie den folgenden Code hinzu.
[php]
Funktion __my_registration_redirect(){
return home_url( '/meine-seite' );
}
add_filter( 'registration_redirect', '__my_registration_redirect' );
#17. Anzeigen in Post einfügen
Verwenden Sie diesen Code in Ihrer Datei functions.php, um Anzeigen in einem Beitrag an beliebiger Stelle einzufügen.
Hacken
funktion googleadsense($content){
$adsensecode = 'Ihre Anzeigencodes hier';
$pattern = '<!-googlead->';
$content = str_replace($pattern, $adsensecode, $content);
gib $inhalt zurück;
}
add_filter('the_content', 'googleadsense');
[/php]
#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.
[php]
Funktion showads() {
Rückkehr '
ANZEIGENCODE HIER
';
}
add_shortcode('adsense', 'showads');
[/php]
#19. Am meisten kommentierte Beiträge anzeigen
Fügen Sie der Datei functions.php den folgenden Code hinzu, um die Beiträge mit den meisten Kommentaren anzuzeigen.
[php]
Funktion wpb_most_commented_posts() {
ob_start();?>
<ul class="most-commented">
<?php
$abfrage = neu
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('Keine Kommentare;', '1 Kommentar', '% Kommentare'); ?></span></li>
<?php endwhile; ?>
</ul>
<?php// Ausgabepufferung ausschalten
$ausgabe = ob_get_clean();
$Ausgabe zurückgeben; }
add_shortcode('wpb_most_commented', 'wpb_most_commented_posts');
add_filter('widget_text', 'do_shortcode');
[/php]
#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.
[php]
add_theme_support( 'post-thumbnails' );
[/php]
#21. Neueste Kommentare anzeigen
Verwenden Sie diesen Code an einer beliebigen Stelle in der Schleife, um die fünf neuesten Kommentare anzuzeigen.
[php]
<?php
$query = "SELECT * from $wpdb->comments WHERE comment_approved= '1'
ORDER BY comment_date DESC LIMIT 0 ,5";
$comments = $wpdb->get_results($query);
if ($kommentare) {
echo '<ul>';
foreach ($kommentare als $kommentar) {
$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]
Bereit zum Hacken?
Verwenden Sie diese praktischen Optimierungen und verbessern Sie die Funktionalität Ihrer WordPress-Site!