Oltre 20 hack di loop WordPress più ricercati
Pubblicato: 2017-12-20Il ciclo è il processo principale in WordPress, quindi si trova in quasi tutti i file di temi. In sostanza, è un codice PHP utilizzato dalla piattaforma per visualizzare i post tramite i file modello di un tema. In altre parole, è enorme. In effetti, è fondamentale, perché il sito non funzionerà senza un ciclo.
Modificare questo set di funzionalità incredibilmente potenti può far avanzare le capacità del tuo sito WordPress. Ad esempio, puoi modificare il modo in cui i post vengono visualizzati sulla home page e ordinarli utilizzando parametri specifici. Dato che il loop è la cosa più semplice da modificare, si possono ottenere hack piuttosto impressionanti e creativi.
Ti mostriamo oltre 20 hack di loop che dovresti usare in questo momento per realizzarlo, senza la necessità di installare plug-in.
# 1. Inserisci la pubblicità dopo il primo post
Come blogger, sai benissimo che le pubblicità sono uno dei modi migliori per fare soldi. Ottenere quei clic tanto necessari dai visitatori è sicuramente una cosa complicata e molti blogger non godono di percentuali di clic elevate. Inserire annunci dopo il primo post può essere un buon modo per aumentarli, quindi prova questo semplice ritocco.
Sostituisci il tuo loop con quello qui sotto. Fai attenzione, perché devi incollare lì il codice dell'annuncio:
[php]
<?php if (have_posts()) : ?>
<?php $conteggio = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $conteggio++; ?>
<?php se ($conteggio == 2) : ?>
//Inserisci il codice di un annuncio in questa riga
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php altro: ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php endif; ?>
<?php nel frattempo; ?>
<?php endif; ?>
[/php]
#2. Visualizza post obsoleti ma popolari di 1 anno
Alcuni dei post sul tuo blog, anche se creati un anno fa, potrebbero essere ancora popolari tra i tuoi lettori. Ad esempio, potrebbe essere un articolo di istruzioni o un altro tipo di contenuto sempreverde. Per assicurarti che questi post rimangano popolari, puoi applicare questo pratico trucco.
Inserisci questo codice nel file single.php:
[php]
<?php
$giorno_corrente = data('j');
$anno_ultimo = data('Y')-1;
query_posts('day='.$current_day.'&year='.$last_year);
se (have_posts()):
while (have_posts()) : the_post();
il titolo();
l'estratto();
nel frattempo;
finisci se;
?>
[/php]
#3. Mostra gli ultimi cinque post permanenti nel loop
La funzione predefinita consente di incollare un post in prima pagina. L'hack in basso inserisce cinque post appiccicosi.
Molti blogger considerano i post persistenti come post in primo piano perché consentono a una voce di essere visualizzata sopra le altre. Se vuoi creare la tua categoria "Scelte dell'editore", c'è un trucco proprio per questo. Il codice seguente deve essere inserito in un punto qualsiasi del tema per funzionare. Puoi anche modificare il numero per mostrare meno post sostituendo il numero nella quarta riga.
[php]
<?php
$appiccicoso = get_option('post_appiccicosi');
rsort($appiccicoso);
$appiccicoso = array_slice($appiccicoso, 0, 5);
query_posts( array( 'post__in' => $ sticky, 'caller_get_posts' => 1 ));
se (have_posts()) :
while (have_posts()) : the_post();
il titolo();
l'estratto();
nel frattempo;
finisci se;
?>
[/php]
#4. Elenca i messaggi di una particolare categoria
Differenzia i post della stessa categoria con l'hack di seguito.
Se per qualche motivo devi differenziare i post che condividono la stessa categoria (ad esempio, articoli di istruzioni per scrittori di saggi), inserisci il codice seguente nel file di loop.
[php]
<?php foreach((get_the_category()) as $category) {
$thecat = $categoria->cat_ID . ' ';
query_posts('child_of='.$thecat);
if (have_posts()) : while (have_posts()) : the_post();
//Ciclo WP classico
finchè;endif;
?>
[/php]
#5. Fornire un elenco di post futuri
Far conoscere ai lettori i post imminenti potrebbe suscitare il loro interesse e farli tornare sul tuo blog per leggerli. Se ti sembra un'ottima idea, usa il codice qui sotto per fornire un breve elenco di post imminenti sul tuo sito WordPress.
[php]
<?php query_posts('showposts=10&post_status=futuro'); ?>
<?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 nel frattempo;
else: ?><p>Nessun evento futuro in programma.</p>
<?php endif; ?>
[/php]
#6. Ricevi i post caricati in una data specifica
Se hai spesso difficoltà a trovare alcuni post nel tuo feed, puoi cercarli usando un loop. E' possibile inserendo il seguente codice che rende la ricerca davvero facile. In particolare, recupera le voci pubblicate tra due date specificate dall'utente.
[php]
<?php
funzione filtro_dove($dove = ”) {
$dove .= " AND data_post >= '19-08-2012' AND data_post <= '11-08-2012'";
ritorno $dove;
}
add_filter('post_dove', 'filtro_dove');
query_posts($ stringa_query);
mentre (have_posts()) :
il_post();
il contenuto();
nel frattempo;
?>
[/php]
#7. Visualizza un ciclo di immagini
La galleria di immagini nella pagina iniziale di un sito Web WordPress è una buona idea poiché la maggior parte delle persone apprezza le immagini. Se i tuoi post contengono un'immagine principale, il codice seguente li recupererà per mostrarli in un ciclo.
Inserisci il seguente codice nel file functions.php:
[php]
funzione cattura_quella_immagine() {
$post globale, $post;
$prima_img = ”;
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches);
$first_img = $match [1] [0];
if(empty($first_img)){ //Determina un'immagine predefinita
$first_img = "/images/default.jpg";
}
restituisce $first_img;
}
[/php]
#8. Rimuovi automaticamente i post impostando una data di scadenza
Supponiamo che tu stia organizzando un concorso per aumentare il numero di lettori sul tuo blog. Al termine del concorso, pubblichi i risultati e, soprattutto, le risposte, i suggerimenti e gli indizi. Ovviamente, non dovrebbero essere accessibili ai lettori per sempre perché potresti organizzare un altro concorso in futuro, giusto?
Un buon modo per rimuovere i post anche quando te ne sei dimenticato è programmarlo impostando una data di scadenza. Il ciclo seguente sostituisce quello esistente e fa proprio questo.
Non dimenticare di utilizzare il formato mm/gg/aaaa 00:00:00 per sostituire l'ora di scadenza.
[php]
<?php
se (have_posts()) :
while (have_posts()) : the_post(); ?>
$expirationtime = get_post_custom_values('scadenza');
if (è_array($ora di scadenza)) {
$stringa di scadenza = implode($ora di scadenza);
}
$seconditra = strtotime($expirestring)-time();
if ( $secondi tra > 0 ) {
// Per esempio…
il titolo();
l'estratto();
}
nel frattempo;
finisci se;
?>
[/php]
#9. Separa i commenti dai trackback
Una voce popolare sul tuo blog sarà collegata da molti altri siti. Per assicurarti che i lettori possano seguire comodamente la discussione nella sezione commenti, dovresti separare commenti e trackback.
Tutto quello che devi fare è aprire comments.php e cercare quanto segue:
[php]
foreach ($commenta come $commento) : ?>
// I commenti vengono visualizzati qui
endforeach;
[/php]
Trovato? Ottimo, ora sostituiscilo con un nuovo codice:
[php]
<ul class="lista di commenti">
<?php //Visualizza solo i commenti
foreach ($commenta come $commento) : ?>
<?php $tipo_commento = get_tipo_commento(); ?>
<?php if($comment_type == 'comment') { ?>
<li>//Il codice del commento va qui</li>
<?php }
endforeach;
</ul>
<ul>
<?php //Visualizza solo i trackback
foreach ($commenta come $commento) : ?>
<?php $tipo_commento = get_tipo_commento(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php }
endforeach;

</ul>
[/php]
# 10. Mostra post correlati
La visualizzazione di post correlati è un buon modo per aumentare il numero di lettori. Tutto quello che devi fare per ottenere ciò è incollare un codice speciale nel file single.php.
[php]
<?php
$backup = $posta; // backup dell'oggetto corrente
$tags = ks29so_get_post_tags($post->ID);
$tagIDs = array();
se ($ tag) {
$conteggio tag = conteggio($tag);
for ($i = 0; $i < $conteggio tag; $i++) {
$tagIDs[$i] = $tag[$i]->term_id;
}
$args=array(
'tag__in' => $tagID,
'post__not_in' => array($post->ID),
'showpost'=>5,
'caller_get_posts'=>1
);
$mia_query = nuova 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 nel frattempo;
} altro { ?>
<h2>Nessun post correlato trovato!</h2>
<?php }
}
$post = $backup; // copialo di nuovo
ks29so_reset_query(); // per utilizzare nuovamente la query originale
?>
[/php]
# 11. Determina come vengono visualizzati post particolari sulla home page
La stragrande maggioranza dei temi WordPress mostra tutti i post allo stesso modo nella pagina iniziale. Se non ti piace, invece, puoi modificarlo e definire quali devono essere visualizzati per intero e per i quali bastano solo degli estratti.
Trova il file index.php e cerca il loop lì. Il seguente codice lo sostituisce:
[php]
<?php if (have_posts()) :
while (have_posts()) : the_post();
$customField = get_post_custom_values("completo");
if (isset($customField[0])) {
//Il campo personalizzato è impostato, visualizza un post completo
il titolo();
il contenuto();
} altro {
// Nessun campo personalizzato impostato, consente di visualizzare un estratto
il titolo();
l'estratto();
nel frattempo;
finisci se;
?>
[/php]
# 12. Visualizza i contenuti promozionali sopra i post sulla home page
Inserisci il seguente codice nel file index.php per aggiungere contenuti promozionali.
[php]
<div class="content-loop">
[/php]
# 13. Elenca tutti gli autori di un blog in una pagina
Basta incollare questo codice in un punto qualsiasi del ciclo per visualizzare l'elenco di tutti gli autori.
[php]
<ul>
<?php ks29so_list_authors('exclude_admin=0&optioncount=1&show_fullname=1&hide_empty=1'); ?>
</ul>
[/php]
# 14. Usa il campo personalizzato per mostrare il nome dell'autore ospite
Se utilizzi autori ospiti sul tuo blog, è molto probabile che tu non crei una pagina separata per loro. Perché invece non mostrare semplicemente il loro nome?
Inserisci questo codice in single.php per farlo:
[php]
<?php $author = get_post_meta($post->ID, "autore-ospite", true);
se ($autore != "") {
eco $autore;
} altro {
l'autore();
} ?>
[/php]
# 15. Rendi un'immagine un requisito obbligatorio per la pubblicazione
I post con immagini spesso godono di più visualizzazioni rispetto a quelli senza. Apri il tuo file functions.php per renderli obbligatori.
[php]
add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');
funzione wpds_check_thumbnail($post_id) {
// cambia in qualsiasi tipo di post personalizzato
if( get_post_type($post_id) != 'post' )
Restituzione;
if ( ! has_post_thumbnail ( $ post_id ) ) {
// imposta un transitorio per mostrare agli utenti un messaggio di amministrazione
set_transient("has_post_thumbnail", "no");
// sgancia questa funzione in modo che non si ripeta all'infinito
remove_action('save_post', 'wpds_check_thumbnail');
// aggiorna il post impostalo come bozza
ks29so_update_post(array('ID' => $post_id, 'post_status' => 'bozza'));
add_action('save_post', 'wpds_check_thumbnail');
} altro {
delete_transient("has_post_thumbnail");
}
}
funzione wpds_thumbnail_error() {
// controlla se il transitorio è impostato e visualizza il messaggio di errore
if ( get_transient( "has_post_thumbnail" ) == "no" ) {
echo "<div id='message' class='error'><p><strong>Devi aggiungere un'immagine in evidenza prima di pubblicarla. Niente panico, il tuo post è stato salvato.</strong></p>< /div>";
delete_transient("has_post_thumbnail");
}
}
[/php]
#16. Reindirizzamento a una pagina specifica dopo la registrazione
Apri il file functions.php e aggiungi il codice qui sotto.
[php]
funzione __my_registration_redirect(){
return home_url( '/mia-pagina' );
}
add_filter( 'redirect_registrazione', '__my_redirect_registrazione' );
#17. Inserisci annunci nel post
Usa questo codice nel tuo file functions.php per racchiudere gli annunci in un post in qualsiasi posto tu voglia.
Hack
funzione googleadsense($contenuto){
$adsensecode = 'I tuoi codici annuncio qui';
$modello = '<!-googlead->';
$contenuto = str_replace($modello, $adsensecode, $contenuto);
restituire $contenuto;
}
add_filter('the_content', 'googleadsense');
[/php]
#18. Utilizza gli shortcode per visualizzare gli annunci
Seleziona il luogo in cui desideri inserire un annuncio e incolla il seguente codice su functions.php.
[php]
funzione mostra () {
Restituzione '
CODICE DELL'ANNUNCIO QUI
';
}
add_shortcode('adsense', 'showads');
[/php]
# 19. Mostra i post più commentati
Aggiungi il codice seguente al file functions.php per mostrare i post con il maggior numero di commenti.
[php]
funzione wpb_most_commented_posts() {
ob_start();?>
<ul class="i più commentati">
<?php
$richiesta = nuovo
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('Nessun commento;', '1 commento', '% commenti'); ?></span></li>
<?php nel frattempo; ?>
</ul>
<?php// Disattiva il buffer di output
$output = ob_get_clean();
restituisce $output; }
add_shortcode('wpb_most_commented', 'wpb_most_commented_posts');
add_filter('widget_text', 'do_shortcode');
[/php]
# 20. Abilita il supporto per le immagini in primo piano
La stragrande maggioranza dei temi WordPress supporta le immagini in primo piano, ma in caso contrario, puoi abilitarlo inserendolo nel file functions.php.
[php]
add_theme_support('post-miniature');
[/php]
#21. Mostra gli ultimi commenti
Utilizzare questo codice in qualsiasi punto del ciclo per visualizzare gli ultimi cinque commenti.
[php]
<?php
$query = "SELECT * from $wpdb->comments WHERE comment_approved= '1'
ORDINA PER comment_date DESC LIMITE 0 ,5";
$commenti = $wpdb->get_results($query);
se ($commenti) {
eco '<ul>';
foreach ($commenti come $commenti) {
$url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">';
eco '<li>';
eco '<div class="img">';
eco $url;
echo get_avatar($commento->commento_autore_email, $img_w);
eco '</a></div>';
echo '<div class="txt">Par: ';
eco $url;
echo $commento->autore_commento;
eco '</a></div>';
eco '</li>';
}
eco '</ul>';
}
?>
[/php]
Pronto per hackerare?
Usa queste utili modifiche e migliora la funzionalità del tuo sito WordPress!