Obține titlul, URL-ul și descrierea unei pagini

31 iul. 2012, 13:35:10
Vizualizări: 27.5K
Voturi: 2

Am următoarea configurație: pagina principală este setată ca 'statică' și folosește un șablon de pagină personalizat. În acest șablon / pagină principală, am nevoie să preiau titlul paginii, URL-ul și descrierea paginii Despre.

Am găsit acest cod care face exact ce am nevoie, dar mă întreb dacă există o altă abordare, una care să nu folosească ID-ul paginii ci slug-ul sau titlul.

<?php
    $page_id = 13;
    $page_data = get_page( $page_id );
    $the_excerpt = $page_data->post_excerpt;
    $title = $page_data->post_title;
?>
<a href="<?php echo get_permalink(13); ?>">
    <?php echo $page_data->post_title; ?>
</a>

Editare ulterioară: Bazat pe răspunsul oferit de peteroak, acesta este codul complet funcțional:

<?php
    $page = get_page_by_title( 'Despre' );
    $the_excerpt = $page->post_excerpt;
    $page_data = get_page( $page );
    $title = $page_data->post_title;
?>
<header class="entry-header">
    <h1 class="entry-title">
        <a href="<?php echo esc_url( get_permalink( get_page_by_title( 'Despre' ) ) ); ?>">
            <?php echo $page_data->post_title; ?>
        </a>
    </h1>
</header>   
    <div class="entry-content"><?php echo $page->post_excerpt; ?>
        <a href="<?php echo esc_url( get_permalink( get_page_by_title( 'Despre' ) ) ); ?>">mai mult +</a>
    </div>
1
Comentarii

am găsit acest cod trend supply de mai sus este exact ceea ce caut dar nu am nicio idee de ce '<?php echo $page->post_excerpt; ?>' nu funcționează!! poți să-mi spui ce am omis? mulțumesc anticipat

jhunlio jhunlio
12 iul. 2013 11:47:13
Toate răspunsurile la întrebare 2
3

codex-ul are exact ceea ce ai nevoie: get_page_by_title()

Exemplu

 $page = get_page_by_title( 'Despre' );
 $the_excerpt = $page->post_excerpt;

sau

 $page = get_page_by_path( 'pagina-parinte/subpagina' );
31 iul. 2012 13:44:30
Comentarii

nu știam că există această funcție. Am creat o funcție similară acum ceva timp. Cred că nu mai am nevoie de ea :)

Sisir Sisir
31 iul. 2012 14:31:01

Mulțumesc pentru ajutor! Voi actualiza postarea mea cu codul complet care rezolvă problema.

George Grigorita George Grigorita
31 iul. 2012 15:37:46

ma bucur că am putut ajuta :)

pcarvalho pcarvalho
31 iul. 2012 16:04:52
2

Folosește API-ul public peste tot

În interiorul buclei, poți folosi get_the_excerpt() (fără argumente). Este mai bine decât $post/$page->excerpt, deoarece aplică și filtrele și verifică dacă pagina/postarea are o parolă.

31 iul. 2012 13:51:41
Comentarii

Nu am folosit o buclă pentru asta, ar fi făcut vreo diferență reală - din punct de vedere al performanței - dacă aș folosi o buclă în acest cod sau nu?

George Grigorita George Grigorita
31 iul. 2012 15:44:04

În acest caz, ar trebui să reconstruiești întreaga funcționalitate internă - vezi link-ul din răspunsul ↑ de mai sus.

kaiser kaiser
31 iul. 2012 15:46:12