Cum să afișezi postări recente pe pagina principală cu HTML personalizat
Caut să afișez x
(nedecis) număr de postări recente (nu mai mult de 10) pe pagina mea principală. Pentru fiecare postare, aș dori să afișez titlul și un fragment din conținut. Pot să scriu singur o interogare SQL pentru asta, dar mă întrebam care este funcția WordPress pentru a obține acest lucru. Cel mai aproape am ajuns cu <?php wp_get_archives('type=postbypost&limit=10&format=html'); ?>
. Aș dori de asemenea să personalizez formatul HTML. Un exemplu al rezultatului pe care îl doresc arată astfel:
<div id="posts">
<section class="post">
<h2><a href="[post uri]">[post title]</a></h2>
<p>[post snippet]</p>
</section>
<section class="post">
<h2><a href="[post uri]">[post title]</a></h2>
<p>[post snippet]</p>
</section>
</div>

<div id="posts">
<?php
// definirea argumentelor interogării
$args = array(
'posts_per_page' => 8, // aici puneți numărul 'x' dorit
'nopaging' = true
// posibil și alte argumente aici
);
// inițializarea noii interogări
$tyler_query = new WP_Query( $args );
// buclă prin postările găsite
while ( $tyler_query->have_posts() ) : $tyler_query->the_post();
echo '<section class="post">'.
'<h2><a href="'.
get_permalink().
'">'.
get_the_title().
'</a></h2><p>'.
get_the_excerpt().
'</p></section>';
endwhile;
// resetarea datelor postării
wp_reset_postdata();
?>
</div>
În mod implicit, un fragment (excerpt) are o lungime de 55 de cuvinte. Pentru a personaliza lungimea fragmentului, adăugați următoarele în fișierul functions.php al temei:
function tyler_excerpt_length( $length ) {
return 70; // schimbați numărul de cuvinte după preferință
}
add_filter( 'excerpt_length', 'tyler_excerpt_length' );
Dacă nu sunteți mulțumit de link-ul implicit "Citește mai mult" de la sfârșitul fragmentului, adăugați acest cod în functions.php:
function tyler_excerpt_more( $more ) {
return 'Citește întregul articol >>'; // schimbați textul după preferință
}
add_filter( 'excerpt_more', 'tyler_excerpt_more' );
Dacă, deoarece aveți deja link-ul către articol în titlu, doriți să ascundeți link-ul "more" din fragment, returnați un șir gol în funcția de mai sus, adică return '';
.
Lectură suplimentară:

Uau, acest răspuns a depășit cu mult așteptările mele. Aș dori să pot vota acest lucru de mai multe ori. Mulțumesc mult.

http://codex.wordpress.org/Template_Tags/the_excerpt Te referi la 55 de cuvinte?
