20+ Most Wanted WordPress Loop Hacks

Opublikowany: 2017-12-20

Pętla jest głównym procesem w WordPressie, więc można ją znaleźć prawie w każdym pliku motywu. Zasadniczo jest to kod PHP używany przez platformę do wyświetlania postów za pomocą plików szablonów motywu. Innymi słowy, jest ogromny. W rzeczywistości jest to krytyczne, ponieważ strona nie będzie działać bez pętli.

Modyfikowanie tego zestawu niesamowicie potężnych funkcji może zwiększyć możliwości Twojej witryny WordPress. Na przykład możesz zmienić sposób wyświetlania postów na stronie głównej i uporządkować je według określonych parametrów. Biorąc pod uwagę, że pętla jest najłatwiejsza do zmodyfikowania, można uzyskać całkiem imponujące i kreatywne hacki.

Pokażmy Ci ponad 20 pętli hacków, których powinieneś teraz użyć, aby to się stało, bez konieczności instalowania wtyczek.

#1. Umieść reklamę po pierwszym poście

Jako bloger doskonale wiesz, że reklamy są jednym z najlepszych sposobów na zarabianie pieniędzy. Uzyskanie tak bardzo potrzebnych kliknięć od odwiedzających jest z pewnością trudne, a wielu blogerów nie cieszy się wysokimi współczynnikami klikalności. Umieszczanie reklam po pierwszym poście może być dobrym sposobem na ich zwiększenie, więc wypróbuj tę prostą poprawkę.

Zastąp swoją pętlę tą poniżej. Zwróć uwagę, ponieważ musisz tam wkleić kod reklamy:

[php]
<?php if (have_posts()) : ?>
<?php $liczba = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $liczba++; ?>
<?php if ($liczba == 2) : ?>
//Wstaw kod reklamy w tym wierszu
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php wyciąg_(); ?>
<?php jeszcze : ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php wyciąg_(); ?>
<?php endif; ?>
<?php koniec; ?>
<?php endif; ?>
[/php]

#2. Wyświetlaj przestarzałe, ale popularne roczne posty

Most Wanted WordPress Loop Hacks

Niektóre posty na Twoim blogu, mimo że zostały utworzone rok temu, mogą nadal być popularne wśród Twoich czytelników. Na przykład może to być artykuł instruktażowy lub inny rodzaj wiecznie zielonej treści. Aby upewnić się, że te posty pozostaną popularne, możesz zastosować ten przydatny hack.

Wstaw ten kod do pliku single.php:

[php]
<?php
$bieżący_dzień = data('j');
$ostatni_rok = data('Y')-1;
query_posts('day='.$current_day.'&year='.$last_year);
jeśli (have_posts()):
while (have_posts()) : the_post();
tytuł();
wyciąg_();
koniec;
endif;
?>
[/php]

#3. Wyświetl pięć najnowszych przyklejonych postów w pętli

Most Wanted WordPress Loop Hacks

Domyślna funkcja pozwala przykleić jeden post na pierwszą stronę. Poniższy hack umieszcza pięć przyklejonych postów.

Wielu blogerów uważa posty przyklejone za posty polecane, ponieważ umożliwiają wyświetlanie wpisu nad innymi. Jeśli chcesz stworzyć własną kategorię „Wybory redaktora”, jest na to hack. Poniższy kod musi być wstawiony w dowolnym miejscu motywu, aby działał. Możesz również zmienić liczbę, aby wyświetlać mniej postów, zastępując liczbę w czwartym wierszu.

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

if (have_posts()) :
while (have_posts()) : the_post();
tytuł();
wyciąg_();
koniec;
endif;

?>
[/php]

#4. Lista postów z określonej kategorii

Odróżnij posty z tej samej kategorii za pomocą poniższego hacka.

Jeśli z jakiegoś powodu musisz rozróżnić posty należące do tej samej kategorii (na przykład artykuły z poradami dla autorów esejów), wstaw następujący kod do pliku pętli.

[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();
//Klasyczna pętla WP
koniec; koniec;
?>
[/php]

#5. Podaj listę przyszłych postów

Most Wanted WordPress Loop Hacks

Poinformowanie czytelników o nadchodzących postach może wzbudzić ich zainteresowanie i sprawić, że powrócą do Twojego bloga, aby je przeczytać. Jeśli wydaje Ci się to świetnym pomysłem, użyj poniższego kodu, aby podać krótką listę nadchodzących postów w Twojej witrynie WordPress.

[php]
<?php query_posts('showposts=10&post_status=future'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2><?php tytuł_(); ?></h2>
<span class="datetime"><?php the_time('j. F Y'); ?></span></p>
<?php koniec;
else: ?><p>Nie zaplanowano przyszłych wydarzeń.</p>
<?php endif; ?>
[/php]

#6. Pobierz posty przesłane w określonym dniu

Most Wanted WordPress Loop Hacks

Jeśli często masz problemy ze znalezieniem postów w swoim kanale, możesz je wyszukać za pomocą pętli. Jest to możliwe po wstawieniu poniższego kodu, który bardzo ułatwia wyszukiwanie. W szczególności pobiera wpisy opublikowane między dwiema datami, które sam określisz.

[php]
<?php
function filter_where($where = ”) {
$where .= " AND post_date >= '2012-08-19' AND post_date <= '2012-08-11'";
zwróć $gdzie;
}
add_filter('posts_where', 'filtr_where');
query_posts($query_string);
while (have_posts()) :
Poczta();
Zawartość();
koniec;

?>
[/php]

7. Wyświetl pętlę obrazów

Galeria obrazów na stronie startowej witryny WordPress to dobry pomysł, ponieważ większość ludzi docenia wizualizacje. Jeśli Twoje posty zawierają potencjalny obraz, poniższy kod pobierze je i zapętli.

Wstaw następujący kod do pliku functions.php:

[php]
funkcja catch_that_image() {
globalna $post, $posts;
$pierwszy_img = ”;
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches);
$pierwszy_img = $pasuje [1] [0];

if(empty($first_img)){ //Określa domyślny obraz
$first_img = "/obrazy/default.jpg";
}
zwróć $pierwszy_img;
}
[/php]

#8. Automatycznie usuwaj posty, ustawiając datę wygaśnięcia

Załóżmy, że organizujesz konkurs, aby zwiększyć czytelnictwo swojego bloga. Po zakończeniu konkursu publikujesz wyniki, a co najważniejsze, odpowiedzi lub podpowiedzi i wskazówki do nich. Oczywiście nie powinny być dostępne dla czytelników na zawsze, ponieważ w przyszłości możesz przeprowadzić kolejny konkurs, prawda?

Dobrym sposobem na usuwanie postów, nawet jeśli o nich zapomniałeś, jest zaplanowanie ich przez ustawienie daty wygaśnięcia. Poniższa pętla zastępuje istniejącą i właśnie to robi.

Nie zapomnij użyć formatu mm/dd/rrrr 00:00:00, aby zastąpić czas wygaśnięcia.

[php]
<?php
if (have_posts()) :
while (have_posts()) : the_post(); ?>
$czas wygaśnięcia = get_post_custom_values('wygaśnięcie');
if (is_array($czas wygaśnięcia)) {
$expirestring = implode($czas wygaśnięcia);
}

$sekundymiędzy = strtotime($wygasanie)-czas();
if ( $sekundymiędzy > 0 ) {
// Na przykład…
tytuł();
wyciąg_();
}
koniec;
endif;
?>
[/php]

#9. Oddziel komentarze od trackbacków

Most Wanted WordPress Loop Hacks

Popularny wpis na Twoim blogu będzie zawierał linki z wielu innych witryn. Aby czytelnicy mogli wygodnie śledzić dyskusję w sekcji komentarzy, należy oddzielić komentarze i trackbacki.

Wszystko, co musisz zrobić, to otworzyć comments.php i poszukać:

[php]
foreach ($comments jako $comment) : ?>
// Komentarze są wyświetlane tutaj
na każdym kroku;
[/php]

Znalazłeś to? Świetnie, teraz zastąp go nowym kodem:

[php]
<ul class="lista komentarzy">
<?php //Wyświetla tylko komentarze
foreach ($comments jako $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'komentarz') { ?>
<li>//Kod komentarza jest tutaj</li>
<?php }
na każdym kroku;
</ul>

<ul>
<?php //Wyświetla tylko trackbacki
foreach ($comments jako $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php }
na każdym kroku;

</ul>
[/php]

#10. Pokaż powiązane posty

Most Wanted WordPress Loop Hacks

Wyświetlanie powiązanych postów to dobry sposób na zwiększenie czytelnictwa. Wszystko, co musisz zrobić, aby to osiągnąć, to wkleić specjalny kod do pliku single.php.

[php]
<?php
$kopia zapasowa = $post; // wykonaj kopię zapasową bieżącego obiektu
$tags = ks29so_get_post_tags($post->ID);
$tagIDs = tablica();
jeśli ($tagi) {
$liczbaznaczników = liczba($znaczniki);
for ($i = 0; $i < $tagcount; $i++) {
$tagIDs[$i] = $tags[$i]->term_id;
}
$args=tablica(
'tag__in' => $identyfikatory tagów,
'post__not_in' => tablica($post->ID),
'sklepy'=>5,
'caller_get_posts'=>1
);
$my_query = nowe WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<h3><a href="<?php the_permalink() ?>" rel="zakładka" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
<?php koniec;
} jeszcze { ?>
<h2>Nie znaleziono powiązanych postów!</h2>
<?php }
}
$post = $kopia zapasowa; // skopiuj to z powrotem
ks29so_reset_query(); // aby ponownie użyć oryginalnego zapytania
?>
[/php]

# 11. Określ, jak poszczególne posty są wyświetlane na stronie głównej

Most Wanted WordPress Loop Hacks

Zdecydowana większość motywów WordPress wyświetla wszystkie posty w ten sam sposób na stronie startowej. Jeśli jednak Ci się to nie podoba, możesz to zmienić i określić, które z nich powinny być wyświetlane w całości, a do których wystarczą tylko fragmenty.

Znajdź plik index.php i poszukaj tam pętli. Zastępuje go następujący kod:

[php]
<?php if (have_posts()) :
while (have_posts()) : the_post();
$customField = get_post_custom_values("pełny");
if (isset($customField[0])) {
//Pole niestandardowe jest ustawione, wyświetl pełny post
tytuł();
Zawartość();
} w przeciwnym razie {
// Brak zestawu pól niestandardowych, wyświetlmy fragment
tytuł();
wyciąg_();
koniec;
endif;
?>
[/php]

#12. Wyświetlaj treści promocyjne nad postami na stronie głównej

Wstaw następujący kod w pliku index.php, aby dodać treść promocyjną.

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

#13. Lista wszystkich autorów bloga na stronie

Most Wanted WordPress Loop Hacks

Wystarczy wkleić ten kod w dowolnym miejscu pętli, aby wyświetlić listę wszystkich autorów.

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

# 14. Użyj pola niestandardowego, aby wyświetlić imię i nazwisko autora gościa

Jeśli w swoim blogu używasz autorów gości, jest bardzo prawdopodobne, że nie tworzysz dla nich osobnej strony. Dlaczego zamiast tego nie wyświetlasz ich imienia i nazwiska?

Wstaw ten kod do single.php, aby to zrobić:

[php]
<?php $autor = get_post_meta($post->ID, "autor-gość", prawda);
if ($autor != "") {
echo $autor;
} w przeciwnym razie {
Autor();
} ?>
[/php]

#15. Ustaw obraz jako obowiązkowy wymóg do publikacji

Posty z obrazami często cieszą się większą liczbą wyświetleń niż te bez. Otwórz plik functions.php, aby były obowiązkowe.

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

funkcja wpds_check_thumbnail ( $post_id ) {
// zmiana na dowolny niestandardowy typ postu
if( get_post_type($post_id) != 'post' )
powrót;

if (! has_post_thumbnail( $post_id) ) {
// ustaw transjent, aby pokazać użytkownikom wiadomość od administratora
set_transient( "has_post_thumbnail", "nie" );
// odczep tę funkcję, aby nie zapętlała się w nieskończoność
remove_action('save_post', 'wpds_check_thumbnail');
// zaktualizuj post, ustaw go na wersję roboczą
ks29so_update_post(array('ID' => $post_id, 'post_status' => 'szkic'));

add_action('save_post', 'wpds_check_thumbnail');
} w przeciwnym razie {
usuń_przejściowe( "has_post_thumbnail" );
}
}

funkcja wpds_thumbnail_error() {
// sprawdź, czy ustawiono transjent i wyświetl komunikat o błędzie
if ( get_transient( "has_post_thumbnail" ) == "nie" ) {
echo "<div id='message' class='error'><p><strong>Musisz dodać wyróżniony obraz przed opublikowaniem tego. Nie panikuj, Twój post został zapisany.</strong></p>< /div>";
usuń_przejściowe( "has_post_thumbnail" );
}
}
[/php]

#16. Przekieruj do określonej strony po rejestracji

Otwórz plik functions.php i dodaj poniższy kod.

[php]
funkcja __my_registration_redirect(){
return home_url( '/moja-strona' );
}
add_filter( 'przekierowanie_rejestracji', '__moje_przekierowanie_rejestracji' );

#17. Wstaw reklamy w poście
Użyj tego kodu w pliku functions.php, aby umieścić reklamy w poście w dowolnym miejscu.
Włamać się
funkcja googleadsense($treść){
$adsensecode = 'Twoje kody reklam tutaj';
$pattern = '<!-googlead->';
$treść = str_replace($wzór, $adsensecode, $treść);
zwróć $treść;
}
add_filter('the_content', 'googleadsense');
[/php]

#18. Użyj skrótów do wyświetlania reklam

Wybierz miejsce, w którym chcesz wstawić ogłoszenie i wklej poniższy kod do functions.php.

[php]
funkcja showads() {
powrót '
KOD REKLAMY TUTAJ
';
}
add_shortcode('adsense', 'showads');
[/php]

#19. Wyświetl najczęściej komentowane posty

Most Wanted WordPress Loop Hacks

Dodaj następujący kod do pliku functions.php, aby wyświetlić posty z największą liczbą komentarzy.

[php]
funkcja wpb_most_commented_posts() {
ob_start();?>
<ul class="najczęściej komentowane">
<?php
$zapytanie = nowe
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('Brak komentarzy;', '1 komentarz', '% komentarzy'); ?></span></li>
<?php koniec; ?>
</ul>
<?php// Wyłącz buforowanie wyjścia
$wyjście = ob_get_clean();
zwróć $wyjście; }
add_shortcode('wpb_most_commented', 'wpb_most_commented_posts');
add_filter('widget_text', 'do_shortcode');
[/php]

#20. Włącz obsługę wyróżnionych obrazów

Zdecydowana większość motywów WordPress obsługuje polecane obrazy, ale jeśli nie masz takiej możliwości, możesz ją włączyć, wstawiając ją do pliku functions.php.

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

#21. Pokaż najnowsze komentarze

Most Wanted WordPress Loop Hacks

Użyj tego kodu w dowolnym miejscu pętli, aby wyświetlić pięć ostatnich komentarzy.

[php]
<?php
$query = "SELECT * from $wpdb->comments WHERE comment_approved= '1'
ORDER BY data_komentarza LIMIT ZAPISU 0,5";
$komentarze = $wpdb->get_results($zapytanie);
jeśli ($komentarze) {
echo '<ul>';
foreach ($komentarze jako $komentarz) {
$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]

Gotowy do włamania?

Skorzystaj z tych przydatnych poprawek i zwiększ funkcjonalność swojej witryny WordPress!