cum să obții conținutul unei anumite pagini

17 aug. 2013, 18:05:42
Vizualizări: 16.9K
Voturi: 1

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">
0
Toate răspunsurile la întrebare 2
2

Î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();
}

Sursa: http://stephenharris.info/get-post-content-by-id/

17 aug. 2013 18:47:11
Comentarii

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.

tfrommen tfrommen
17 aug. 2013 18:53:10

link rupt url

Jon Jon
23 apr. 2021 14:46:35
0

(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.

17 aug. 2013 18:33:06