cum să obții conținutul unei anumite pagini
mai jos este codul meu care funcționează bine, dar problema este că nu afișează tag-urile HTML.. cum ar fi etc... nu știu de ce...
<?php $recent = new WP_Query("page_id=2"); while($recent->have_posts()) : $recent->the_post();?>
<?php
echo substr(get_the_excerpt(), 0,450);
?>
<a href="<?php the_permalink() ?>" rel="bookmark">
Mai multe despre noi
</a>
mai jos este alt cod care afișează corect tag-urile HTML și totul este ok.. dar nu pot să înțeleg cum să adaug link-ul permanent acolo.. link-ul pe care l-am pus nu funcționează.
<?php
$my_id = 2;
$page_id = get_post($my_id);
$content = $page_id->post_content;
echo substr($content, 0, 450);
?>
<a href="<?php the_permalink() ?>" >Mai multe despre noi</a>
de asemenea, care este cea mai bună metodă pentru a obține conținutul unei pagini specifice în formatul de mai jos
<h2>titlu</h2>
<div>imagine reprezentativă </div>
<div>conținut</div>
<a href="<?php the_permalink() ?>" rel="bookmark">
În loc să apelezi WP_Query()
, poți folosi get_post()
și să "configurezi" variabila globală $post
. Această abordare este probabil puțin mai eficientă decât răspunsul lui @tf, deși ideile sunt în mare parte similare.
Vă rugăm să rețineți, în ambele cazuri ar trebui să resetați datele postului după utilizare.
/**
* Afișează conținutul postului. Opțional, poate primi ID-ul postului
* @uses the_content()
*
* @param int $id Opțional. ID-ul postului.
* @param string $more_link_text Opțional. Conținut pentru cazul în care există mai mult text.
* @param bool $stripteaser Opțional. Elimină conținutul teaser înainte de textul principal. Valoarea implicită este false.
*/
function sh_the_content_by_id( $post_id=0, $more_link_text = null, $stripteaser = false ){
global $post;
$post = &get_post($post_id);
setup_postdata( $post, $more_link_text, $stripteaser );
the_content();
wp_reset_postdata();
}

Ei bine, logica nu este a mea - doar am preluat ce era în întrebare și am îmbunătățit-o puțin. ;) Dacă este vorba doar despre un singur post care te interesează, ai, desigur, dreptate - în utilizarea get_post
. Cu toate acestea, deoarece bucla era deja acolo de la început, am lăsat-o așa.

(get_)the_excerpt()
elimină tag-urile HTML - de aceea nu ai tag-uri HTML. ;)
Folosește pur și simplu the_content()
în loc de the_excerpt()
dacă vrei să afișezi conținutul complet.
$recent = new WP_Query("page_id=2");
while ($recent->have_posts()) : $recent->the_post();
echo '<a href="'.get_the_permalink().'" rel="bookmark">Legătură permanentă</a>';
the_content();
endwhile;
wp_reset_postdata();
În ceea ce privește cea mai bună metodă de a afișa datele articolului, ar trebui să arunci o privire la acest material.
