Ottenere il contenuto da una pagina e mostrarlo in un'altra pagina

10 nov 2011, 03:28:24
Visualizzazioni: 71.8K
Voti: 11

Ho cercato su Google, letto, provato e fallito.

Sono abbastanza nuovo con PHP, quindi non aspettatevi troppo :)

Sto lavorando su un nuovo design e voglio mostrare il contenuto della pagina "about" nella mia homepage, che è dinamica. Ho cercato informazioni sulla funzione the_content, ma finora non ho avuto fortuna.

<?php
   $id=about; // ID della pagina about
   $post = get_page($id=); // Ottiene la pagina
   $content = apply_filters('the_content', $post->post_content); // Applica i filtri al contenuto
   echo $content; // Mostra il contenuto
?>

L'ID della pagina è "about", se questo può essere d'aiuto.

Vi prego di rispondermi :)

0
Tutte le risposte alla domanda 4
2
11

Innanzitutto: L'ID di un articolo o di una pagina è sempre un numero intero. "about" è il titolo della tua pagina, il suo slug o entrambi.

Includendo il seguente codice nel template della pagina della tua "homepage" o nella sidebar combinato con tag condizionali, verrà visualizzato il contenuto della pagina about:

<?php
    // query per la pagina about
    $your_query = new WP_Query( 'pagename=about' );
    // "loop" attraverso la query (anche se è solo una pagina)
    while ( $your_query->have_posts() ) : $your_query->the_post();
        the_content();
    endwhile;
    // resetta i dati del post (importante!)
    wp_reset_postdata();
?>

Nota: Il codice sopra funziona SOLO se lo slug della tua pagina è effettivamente "about", altrimenti modificalo di conseguenza.

10 nov 2011 04:00:50
Commenti

Questo mostra solo il contenuto, non anche il titolo della pagina. Tuttavia facendo cose come the_title() mostra il titolo della homepage

Chillin' Chillin'
25 apr 2020 01:59:44

Non se fatto all'interno del loop non lo farà.

Johannes Pille Johannes Pille
25 apr 2020 15:29:55
2

Il codex è tuo amico!

http://codex.wordpress.org/Function_Reference/get_post

<?php
    $post_id = 7;
    $post = get_post($post_id, ARRAY_A);
    $title = $post['post_title'];
    $content = $post['post_content'];
?>

(ARRAY_A - Restituisce un array associativo con nomi dei campi e relativi valori)

È un inizio.

10 nov 2011 03:53:41
Commenti

Ho usato il codex, ma lo trovo difficile da capire. Tieni presente che programmo in php da circa 2 giorni :)

Stian Stian
10 nov 2011 04:19:45

Tutto per divertimento :) - spero che questo ti sia stato d'aiuto.

Sterling Hamilton Sterling Hamilton
10 nov 2011 05:34:41
0

Volevo qualcosa di simile ma con il Titolo della pagina, ecco come ho fatto:

$args = array(
    'post_type' => 'page',
    'title' => 'Il titolo della pagina che desideri'
);

$your_query = new WP_Query( $args );
while ( $your_query->have_posts() ) : $your_query->the_post();
    the_content();
endwhile;
20 feb 2018 17:28:05
1
-1

Il modo migliore per ottenere il contenuto della pagina corrente

global $post;
echo $post->post_content;

oppure

global $wp_query;
echo $wp_query->post->post_content;
12 apr 2019 03:47:50
Commenti

La domanda era: come visualizzare il contenuto di una pagina diversa (la pagina about) nella homepage. La pagina About non è impostata come homepage. Non si trattava di visualizzare il contenuto della pagina corrente.

nmr nmr
12 apr 2019 09:34:24