20+ Most Wanted WordPress Loop Hacks

5

Løkken er hovedprosessen i WordPress, så den finnes nesten i hver temafil. I hovedsak er det en PHP-kode som brukes av plattformen for å vise innlegg gjennom et tema-malfiler. Det er med andre ord enormt. Faktisk er det kritisk, fordi nettstedet ikke vil fungere uten en loop.

Å tilpasse dette settet med utrolig kraftige funksjoner kan forbedre egenskapene til WordPress-nettstedet ditt. Du kan for eksempel endre måten innleggene vises på hjemmesiden og sortere dem ut ved hjelp av spesifikke parametere. Gitt at loopen er den enkleste tingen å endre, kan man få ganske imponerende og kreative hacks.

La oss vise deg 20+ loop-hack du bør bruke akkurat nå for å få det til, uten å måtte installere plugins.

1 Plasser annonsering etter det første innlegget

Som blogger vet du godt at annonser er en av de beste måtene å tjene penger på. Å få de sårt nødvendige klikkene fra besøkende er absolutt en vanskelig ting, og mange bloggere liker ikke høye klikkfrekvenser. Å plassere annonser etter det første innlegget kan være en god måte å øke dem på, så prøv denne enkle justeringen.

Bytt ut løkken med den nedenfor. Vær oppmerksom, siden du må lime inn koden til annonsen der:

<?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 Vis utdaterte, men populære ett år gamle innlegg

Noen av innleggene på bloggen din, selv om de ble opprettet for et år siden, kan fortsatt være populære blant leserne dine. Det kan for eksempel være en fremgangsmåte-artikkel eller en annen form for eviggrønt innhold. For å sikre at disse innleggene forblir populære, kan du bruke dette hendige hacket.

Sett inn denne koden i single.php-filen:

<?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 Vis fem siste klebrige innlegg i løkken

Standardfunksjonen gjør det mulig å holde ett innlegg til forsiden. Hacket nedenfor plasserer fem klebrige innlegg.

Mange bloggere tenker på klebrige innlegg som fremhevede innlegg fordi de lar en oppføring vises over andre. Hvis du vil lage din egen "Editor’s Picks"-kategori, er det et hack bare for det. Koden nedenfor må settes inn hvor som helst i temaet for å fungere. Du kan også endre tallet for å vise færre innlegg ved å erstatte tallet i fjerde linje.

<?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 List opp innlegg fra en bestemt kategori

Skille innlegg fra samme kategori med hacket nedenfor.

Hvis du av en eller annen grunn trenger å skille innleggene som deler samme kategori (for eksempel fremgangsmåte-artikler for essayforfattere), sett inn følgende kode i loop-filen.

<?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 Gi en liste over fremtidige innlegg

Å fortelle leserne om de kommende innleggene kan vekke interessen deres og få dem til å gå tilbake til bloggen din for å lese dem. Hvis dette høres ut som en god idé for deg, bruk koden nedenfor for å gi en kort liste over kommende innlegg på WordPress-siden din.

<?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 Få innlegg lastet opp på en bestemt dato

Hvis du ofte sliter med å finne noen innlegg i feeden din, kan du søke etter dem ved hjelp av en løkke. Det er mulig ved å sette inn følgende kode som gjør søket veldig enkelt. Nærmere bestemt henter den oppføringer som er lagt ut mellom to datoer som du angir selv.

<?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 Vis en sløyfe med bilder

Bildegalleriet på startsiden til et WordPress-nettsted er en god idé siden de fleste setter pris på det visuelle. Hvis innleggene dine inneholder et lead-bilde, vil koden nedenfor hente dem for å vise dem i en løkke.

Sett inn følgende kode i functions.php-filen:

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 Fjern automatisk innlegg ved å angi en utløpsdato

Tenk deg at du kjører en konkurranse for å øke lesertallet på bloggen din. Når konkurransen er ferdig, publiserer du resultatene, og viktigst av alt, svarene, eller hintene, og ledetrådene til dem. Selvfølgelig skal de ikke være tilgjengelige for lesere for alltid fordi du kanskje kjører en annen konkurranse i fremtiden, ikke sant?

En god måte å fjerne innlegg selv når du har glemt dem, er å planlegge det ved å angi en utløpsdato. Løkken nedenfor erstatter den eksisterende og gjør nettopp det.

Ikke glem å bruke formatet mm/dd/åååå 00:00:00 for å erstatte utløpstiden.

<?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 Skill kommentarer fra tilbakesporinger

En populær oppføring på bloggen din vil bli lenket fra mange andre nettsteder. For å sikre at leserne komfortabelt kan følge diskusjonen i kommentarfeltet, bør du skille kommentarer og tilbakespor.

Alt du trenger å gjøre er å åpne comments.php og se etter følgende:

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

Funnet det? Flott, erstatt den nå med en ny kode:

<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 Vis relaterte innlegg

Å vise relaterte innlegg er en god måte å øke lesertallet på. Alt du trenger å gjøre for å oppnå det er å lime inn en spesiell kode i single.php-filen.

<?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 Bestem hvordan bestemte innlegg skal vises på hjemmesiden

De aller fleste WordPress-temaer viser alle innlegg på samme måte på startsiden. Hvis du ikke liker det, kan du imidlertid endre det og definere hvilke som skal vises fullstendig og for hvilke bare utdrag er nok.

Finn index.php-filen og se etter loop der. Følgende kode erstatter den:

<?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 Vis reklameinnhold over innleggene på hjemmesiden

Sett inn følgende kode i index.php-filen for å legge til reklameinnhold.

<div class="content-loop">
13 List alle forfattere av en blogg på en side

Bare lim inn denne koden hvor som helst i løkken for å vise listen over alle forfattere.

<ul>
<?php ks29so_list_authors('exclude_admin=0&optioncount=1&show_fullname=1&hide_empty=1'); ?>
</ul>
14 Bruk egendefinert felt for å vise navnet på gjesteforfatteren

Hvis du bruker gjesteforfattere på bloggen din, er det svært sannsynlig at du ikke oppretter en egen side for dem. Hvorfor ikke bare vise navnet deres i stedet?

Sett inn denne koden til single.php for å gjøre det:

<?php $author = get_post_meta($post->ID, "guest-author", true);
if ($author != "") {
echo $author;
} else {
the_author();
} ?>
15 Gjør et bilde til et obligatorisk krav for publisering

Innlegg med bilder har ofte flere visninger enn de uten. Åpne functions.php-filen for å gjøre dem obligatoriske.

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 Omdirigere til en bestemt side etter registrering

Åpne functions.php-filen og legg til koden nedenfor.

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 Bruk kortkoder for å vise annonser

Velg stedet der du ønsker å sette inn en annonse og lim inn følgende kode til functions.php.

function showads() {
    return '
AD'S CODE HERE
';
}
add_shortcode('adsense', 'showads');
19 Vis mest kommenterte innlegg

Legg til følgende kode i functions.php-filen for å vise innleggene med flest kommentarer.

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 Aktiver støtte for utvalgte bilder

De aller fleste WordPress-temaer støtter utvalgte bilder, men hvis ditt ikke gjør det, kan du aktivere det ved å sette dette inn i filen functions.php.

add_theme_support( 'post-thumbnails' );
21 Vis siste kommentarer

Bruk denne koden hvor som helst i loopen for å vise fem siste kommentarer.

<?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>';
}
?>

Klar til å hacke?

Bruk disse praktiske justeringene og forbedre funksjonaliteten til WordPress-siden din!

Dette nettstedet bruker informasjonskapsler for å forbedre din opplevelse. Vi antar at du er ok med dette, men du kan velge bort det hvis du ønsker det. jeg aksepterer Mer informasjon