Cele mai căutate 20 de hack-uri WordPress Loop

Publicat: 2017-12-20

Bucla este procesul principal în WordPress, așa că se găsește aproape în fiecare fișier temă. În esență, este un cod PHP folosit de platformă pentru a afișa postări prin fișierele șablon ale unei teme. Cu alte cuvinte, este uriaș. De fapt, este critic, deoarece site-ul nu va funcționa fără o buclă.

Modificarea acestui set de caracteristici incredibil de puternice poate avansa capabilitățile site-ului dvs. WordPress. De exemplu, puteți modifica modul în care postările sunt afișate pe pagina principală și le puteți sorta folosind parametri specifici. Având în vedere că bucla este cel mai ușor de modificat, se pot obține hack-uri destul de impresionante și creative.

Să vă arătăm peste 20 de hack-uri în bucle pe care ar trebui să le utilizați chiar acum pentru a face acest lucru, fără a fi nevoie să instalați pluginuri.

#1. Plasați reclamă după prima postare

Ca blogger, știi foarte bine că reclamele sunt una dintre cele mai bune modalități de a câștiga bani. Obținerea acelor clicuri atât de necesare de la vizitatori este cu siguranță un lucru dificil și mulți bloggeri nu se bucură de rate mari de clic. Plasarea reclamelor după prima postare poate fi o modalitate bună de a le crește, așa că încercați această modificare simplă.

Înlocuiește-ți bucla cu cea de mai jos. Atenție, deoarece trebuie să lipiți acolo codul anunțului:

[php]
<?php if (have_posts()) : ?>
<?php $count = 0; ?>
<?php while (au_postări()): the_post(); ?>
<?php $count++; ?>
<?php dacă ($count == 2) : ?>
//Inserați codul unui anunț în acest rând
<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; ?>
[/php]

#2. Afișați postări învechite, dar populare de 1 an

Most Wanted WordPress Loop Hacks

Unele dintre postările de pe blogul tău, deși au fost create cu un an în urmă, ar putea fi încă populare printre cititorii tăi. De exemplu, ar putea fi un articol explicativ sau un alt tip de conținut permanent. Pentru a vă asigura că aceste postări rămân populare, puteți aplica acest hack la îndemână.

Introduceți acest cod în fișierul single.php:

[php]
<?php
$ziua_curente = data('j');
$ultimul_an = data('Y')-1;
query_posts('ziua='.$ziua_actuală.'&an='.$anul_ultimul);
dacă (au_postări()):
while (au_postări()): the_post();
titlul();
fragmentul_();
sfârşitul timpului;
endif;
?>
[/php]

#3. Afișați cele mai recente cinci postări adezive în buclă

Most Wanted WordPress Loop Hacks

Funcția implicită permite să lipiți o postare pe prima pagină. Hack-ul de mai jos plasează cinci postări lipicioase.

Mulți bloggeri consideră postările lipicioase ca postări recomandate, deoarece permit ca o intrare să fie afișată deasupra altora. Dacă doriți să vă creați propria categorie „Selectări ale editorului”, există un hack doar pentru asta. Codul de mai jos trebuie introdus oriunde în tema pentru a funcționa. De asemenea, puteți schimba numărul pentru a afișa mai puține postări, înlocuind numărul din a patra linie.

[php]
<?php
$sticky = get_option('sticky_posts');
rsort( $lipicios);
$lipicios = array_slice( $lipicios, 0, 5);
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) );

dacă (au_postări()):
while (au_postări()): the_post();
titlul();
fragmentul_();
sfârşitul timpului;
endif;

?>
[/php]

#4. Listează postările dintr-o anumită categorie

Diferențiază postările din aceeași categorie cu hack-ul de mai jos.

Dacă dintr-un motiv oarecare trebuie să diferențiezi postările care partajează aceeași categorie (de exemplu, articole explicative pentru scriitori de eseuri), introduceți următorul cod în fișierul buclă.

[php]
<?php foreach((get_the_category()) ca $categorie) {
$thecat = $category->cat_ID . ' ';
query_posts('child_of='.$thecat);
if (au_postări()): while (au_postări()): the_post();
//Buclă WP clasică
endwhile;endif;
?>
[/php]

#5. Furnizați o listă a postărilor viitoare

Most Wanted WordPress Loop Hacks

Informarea cititorilor despre postările viitoare le poate stârni interesul și îi poate face să se întoarcă pe blogul tău pentru a le citi. Dacă vi se pare o idee grozavă, atunci utilizați codul de mai jos pentru a furniza o listă scurtă de postări viitoare pe site-ul dvs. WordPress.

[php]
<?php query_posts('showposts=10&post_status=future'); ?>
<?php if ( have_posts() ): în timp ce ( have_posts() ): the_post(); ?>
<h2></?php the_title(); ?></h2>
<span class="datetime"><?php the_time('j. F Y'); ?></span></p>
<?php endwhile;
else: ?><p>Nu sunt programate evenimente viitoare.</p>
<?php endif; ?>
[/php]

#6. Obțineți postări încărcate la o anumită dată

Most Wanted WordPress Loop Hacks

Dacă te lupți adesea să găsești unele postări în feedul tău, le poți căuta folosind o buclă. Este posibil prin introducerea următorului cod care face căutarea cu adevărat ușoară. Mai exact, preia intrările postate între două date pe care le specificați singur.

[php]
<?php
funcția filtru_unde($unde = ”) {
$where .= " ȘI data_post >= '2012-08-19' ȘI data_post <= '2012-08-11'";
returnează $unde;
}
add_filter('posts_where', 'filter_where');
postări_interogare($șir_interogare);
în timp ce (au_postări()):
bara();
continutul();
sfârşitul timpului;

?>
[/php]

#7. Afișați o buclă de imagini

Galeria de imagini de pe pagina de pornire a unui site WordPress este o idee bună, deoarece majoritatea oamenilor apreciază imaginile. Dacă postările tale conțin o imagine potențială, codul de mai jos le va prelua pentru a fi afișate într-o buclă.

Introduceți următorul cod în fișierul functions.php:

[php]
funcția catch_that_image() {
global $post, $posturi;
$first_img = ”;
ob_start();
ob_end_clean();
$ieșire = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $match);
$first_img = $potrivește [1] [0];

if(empty($first_img)){ //Determină o imagine implicită
$first_img = "/images/default.jpg";
}
returnează $first_img;
}
[/php]

#8. Eliminați automat postările prin setarea unei date de expirare

Să presupunem că derulezi un concurs pentru a crește numărul de cititori pe blogul tău. Când concursul este terminat, publicați rezultatele și, cel mai important, răspunsurile sau indicii și indicii pentru ele. Desigur, ele nu ar trebui să fie accesibile cititorilor pentru totdeauna pentru că ați putea organiza un alt concurs în viitor, nu?

O modalitate bună de a elimina postările chiar și atunci când ați uitat de ele este să o programați prin setarea unei date de expirare. Bucla de mai jos o înlocuiește pe cea existentă și face exact asta.

Nu uitați să utilizați formatul mm/zz/aaaa 00:00:00 pentru a înlocui timpul de expirare.

[php]
<?php
dacă (au_postări()):
while (au_postări()): the_post(); ?>
$expirationtime = get_post_custom_values('expiration');
if (este_matrice($expirationtime)) {
$expirestring = implode($expirationtime);
}

$secondsbetween = strtotime($expirestring)-time();
dacă ( $secondsbetween > 0 ) {
// De exemplu…
titlul();
fragmentul_();
}
sfârşitul timpului;
endif;
?>
[/php]

#9. Separați comentariile de trackback-uri

Most Wanted WordPress Loop Hacks

O intrare populară de pe blogul dvs. va fi legată de pe multe alte site-uri. Pentru a vă asigura că cititorii pot urmări în mod confortabil discuția din secțiunea de comentarii, ar trebui să separați comentariile și trackback-urile.

Tot ce trebuie să faceți este să deschideți comments.php și să căutați următoarele:

[php]
foreach ($comentarii ca $comment) : ?>
// Comentariile sunt afișate aici
endforeach;
[/php]

L-am gasit? Grozav, acum înlocuiește-l cu un cod nou:

[php]
<ul class="commentlist">
<?php //Afișează numai comentariile
foreach ($comentarii ca $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == „comentar”) { ?>
<li>//Codul de comentariu ajunge aici</li>
<?php }
endforeach;
</ul>

<ul>
<?php //Afișează numai trackback-uri
foreach ($comentarii ca $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comentare') { ?>
<li><?php comment_author_link() ?></li>
<?php }
endforeach;

</ul>
[/php]

#10. Afișați postări înrudite

Most Wanted WordPress Loop Hacks

Afișarea postărilor conexe este o modalitate bună de a crește numărul de cititori. Tot ce trebuie să faceți pentru a realiza acest lucru este să lipiți un cod special în fișierul single.php.

[php]
<?php
$backup = $post; // backup pentru obiectul curent
$tags = ks29so_get_post_tags($post->ID);
$tagIDs = array();
dacă ($etichete) {
$tagcount = count($etichete);
pentru ($i = 0; $i < $tagcount; $i++) {
$tagIDs[$i] = $tags[$i]->term_id;
}
$args=matrice(
'tag__in' => $tagIDs,
'post__not_in' => matrice ($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>Nu s-au găsit postări similare!</h2>
<?php }
}
$post = $backup; // copiați-l înapoi
ks29so_reset_query(); // pentru a utiliza din nou interogarea originală
?>
[/php]

#11. Stabiliți cum sunt afișate anumite postări pe pagina de pornire

Most Wanted WordPress Loop Hacks

Marea majoritate a temelor WordPress arată toate postările în același mod pe pagina de pornire. Dacă nu vă place, însă, îl puteți schimba și defini care dintre ele ar trebui să fie afișate complet și pentru care sunt suficiente doar fragmente.

Găsiți fișierul index.php și căutați bucla acolo. Următorul cod îl înlocuiește:

[php]
<?php if (have_posts()):
while (au_postări()): the_post();
$customField = get_post_custom_values("plin");
if (isset($customField[0])) {
//Câmpul personalizat este setat, afișați o postare completă
titlul();
continutul();
} altfel {
// Niciun câmp personalizat setat, să afișăm un extras
titlul();
fragmentul_();
sfârşitul timpului;
endif;
?>
[/php]

#12. Afișați conținut promoțional deasupra postărilor de pe pagina de pornire

Introduceți următorul cod în fișierul index.php pentru a adăuga conținut promoțional.

[php]
<div class="content-loop">
[/php]

#13. Listați toți autorii unui blog într-o pagină

Most Wanted WordPress Loop Hacks

Doar lipiți acest cod oriunde în buclă pentru a afișa lista tuturor autorilor.

[php]
<ul>
<?php ks29so_list_authors('exclude_admin=0&optioncount=1&show_fullname=1&hide_empty=1'); ?>
</ul>
[/php]

#14. Utilizați câmpul personalizat pentru a afișa numele autorului invitat

Dacă folosiți autori invitați pe blogul dvs., este foarte probabil să nu creați o pagină separată pentru ei. De ce nu le afișați pur și simplu numele?

Pentru a face acest lucru, introduceți acest cod în single.php:

[php]
<?php $author = get_post_meta($post->ID, „autor-oaspete”, true);
dacă ($autor != "") {
echo $autor;
} altfel {
autorul();
} ?>
[/php]

#15. Faceți din imagine o cerință obligatorie pentru publicare

Postările cu imagini se bucură adesea de mai multe vizualizări decât cele fără. Deschideți fișierul functions.php pentru a le face obligatorii.

[php]
add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');

funcția wpds_check_thumbnail( $post_id ) {
// schimbarea la orice tip de postare personalizat
if( get_post_type($post_id) != 'post' )
întoarcere;

dacă ( ! are_post_thumbnail( $post_id ) ) {
// setați un tranzitoriu pentru a afișa utilizatorilor un mesaj de administrator
set_transient( "are_post_miniatura", "nu" );
// decuplați această funcție, astfel încât să nu se efectueze în buclă la infinit
remove_action('save_post', 'wpds_check_thumbnail');
// actualizați postarea setați-o la schiță
ks29so_update_post(array('ID' => $post_id, 'post_status' => 'draft'));

add_action('save_post', 'wpds_check_thumbnail');
} altfel {
delete_transient( "has_post_thumbnail" );
}
}

funcția wpds_thumbnail_error() {
// verifică dacă tranzitoriul este setat și afișează mesajul de eroare
if ( get_transient( "has_post_thumbnail" ) == "nu" ) {
echo „<div id='message' class='error'><p><strong>Trebuie să adăugați o imagine recomandată înainte de a publica aceasta. Nu vă panicați, postarea dvs. este salvată.</strong></p>< /div>";
delete_transient( "has_post_thumbnail" );
}
}
[/php]

#16. Redirecționați către o anumită pagină după înregistrare

Deschideți fișierul functions.php și adăugați codul de mai jos.

[php]
funcția __my_registration_redirect(){
return home_url( '/pagina-mea' );
}
add_filter( 'redirecționare_înregistrare', '__redirecţionarea_înregistrare' );

#17. Inserați anunțuri în postare
Utilizați acest cod în fișierul functions.php pentru a include anunțuri într-o postare în orice loc doriți.
Hack
funcția googleadsense($content){
$adsensecode = „Codurile dvs. de anunț aici”;
$pattern = '<!-googlead->';
$conținut = str_replace($model, $adsensecode, $conținut);
returnează $conținut;
}
add_filter('the_content', 'googleadsense');
[/php]

#18. Utilizați coduri scurte pentru a afișa anunțuri

Selectați locul în care doriți să inserați un anunț și inserați următorul cod în functions.php.

[php]
funcția showads() {
întoarcere '
CODUL ANUNȚULUI AICI
';
}
add_shortcode('adsense', 'showads');
[/php]

#19. Afișează cele mai comentate postări

Most Wanted WordPress Loop Hacks

Adăugați următorul cod în fișierul functions.php pentru a afișa postările cu cele mai multe comentarii.

[php]
funcția wpb_most_commented_posts() {
ob_start();?>
<ul class="most-commented">
<?php
$interogare = nou
WP_Query('orderby=comment_count&posts_per_page=10');
while($interogare->have_posts()): $interogare->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('Fără comentarii;', '1 comentariu', '% Comentarii'); ?></span></li>
<?php endwhile; ?>
</ul>
<?php// Dezactivați bufferingul de ieșire
$ieșire = ob_get_clean();
returnează $ieșire; }
add_shortcode('wpb_most_commented', 'wpb_most_commented_posts');
add_filter('text_widget', 'do_shortcode');
[/php]

#20. Activați suport pentru imaginile prezentate

Marea majoritate a temelor WordPress acceptă imaginile prezentate, dar dacă ale tale nu o fac, o poți activa inserând aceasta în fișierul functions.php.

[php]
add_theme_support( 'post-miniaturi');
[/php]

#21. Afișează cele mai recente comentarii

Most Wanted WordPress Loop Hacks

Utilizați acest cod oriunde în buclă pentru a afișa cele mai recente cinci comentarii.

[php]
<?php
$query = „SELECT * din $wpdb->comments WHERE comment_approved= '1'
ORDER BY comment_date DESC LIMIT 0 ,5";
$comentarii = $wpdb->get_results($interogare);
dacă ($comentarii) {
ecou '<ul>';
foreach ($comentarii ca $comentari) {
$url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">';
ecou '<li>';
echo '<div class="img">';
echo $url;
echo get_avatar( $comment->coment_author_email, $img_w);
ecou '</a></div>';
echo '<div class="txt">Par: ';
echo $url;
echo $comment->comment_author;
ecou '</a></div>';
ecou '</li>';
}
ecou '</ul>';
}
?>
[/php]

Ești gata să piratezi?

Utilizați aceste ajustări utile și îmbunătățiți funcționalitatea site-ului dvs. WordPress!