Jak wyświetlać losowe posty w WordPress za pomocą miniatur?
W ostatnich postach wiemy, że jedną z metod zwiększania wyświetleń strony jest pokazywanie listy postów z przeszłości. Inną metodą jest pokazywanie losowych postów. Oczywiście posty pokazujemy za pomocą miniaturki w poście, która będzie przyciągać wzrok. Najlepszym pomysłem jest więc umieszczenie go w menu nawigacyjnym (coś w rodzaju Google match content ).
Musisz najpierw zdefiniować funkcję, aby pobrać pierwszy obraz w poście. Ma to być używane, jeśli [Obraz funkcji] nie jest zdefiniowany dla postu.
function catch_first_image($post_id) {
ob_start();
ob_end_clean();
$related_post = get_post($post_id);
$content = $related_post->post_content;
$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $content, $matches);
return $matches[1][0];
}
Następnie umieść następujące w dowolnym miejscu, np. Single.php. Możesz odpowiednio dostosować liczbę postów ($num = 4).
<style>
.justyyimg {max-width:120px; height: 120px;}
</style>
<div id="related-posts">
<div class="related" class="clearfix">
<?php
$post_num = 4;
$exclude_id = $post->id;
$args = array(
'post_status' => 'publish',
'post__not_in' => explode(',', $exclude_id),
'orderby' => 'rand',
'posts_per_page' => $post_num
);
query_posts($args);
while( have_posts()) { the_post(); ?>
<a href="<?php echo the_permalink(); ?>" title="<?php the_title(); ?>" >
<?php
if (has_post_thumbnail()) {
the_post_thumbnail();
} else {
$img = catch_first_image(get_the_id());
if (strlen($img)) {
echo "<img alt='".get_the_title()."' class='justyyimg' src="".$img.""/>";
} else {
echo "<img alt='".get_the_title()."' class='justyyimg' src="<a class="vglnk" target="_blank" href="https://justyy.com/jpg/".mt_rand" rel="nofollow"><span>https</span><span>://</span><span>justyy</span><span>.</span><span>com</span><span>/</span><span>jpg</span><span>/".</span><span>mt</span><span>_</span><span>rand</span></a>(1, 20).".jpg"/>";
}
}
?></a>
<?php
$exclude_id .= ','. get_the_id();
}
wp_reset_query();
?>
</div>
</div>
Używamy funkcji has_post_thumbnail(), aby najpierw sprawdzić istnienie miniaturek postów.
if (has_post_thumbnail()) {
the_post_thumbnail();
Możesz oczywiście wyświetlać powiązane posty, dostosowując zapytanie.
–do ustalenia–
Ocena: 10.0/ 10 (1 oddany głos)
403 słowa
Ostatni post: Jak wyświetlić posty historycznego „dzisiaj” w WordPress?
Następny post: Wtyczka WP-Rocket – niezbędna dla użytkowników WordPressa!