- Home
- Categorie
- Coding e Sistemistica
- CMS & Piattaforme Self-Hosted
- Includere l'ultimo topic di wordpress in una pagina esterna
-
Includere l'ultimo topic di wordpress in una pagina esterna
Salve a tutti,
avrei bisogno di una mode che mi permette di includere l'ultimo topic di wordpress (di una determinata categoria) in una pagina esterna al blog. Premetto che blog e pagina esterna si trovano nello stesso server.
Quindi se wordpress è installato su sito.ext/blog e la pagina esterna è sito.ext/index.php come posso includere in quest'ultima l'ultimo topic di una determinata categoria??
grazie mille a tutti
-
ti consiglio di utilizzare il feed rss o atom che wordpress rende disponibile per tutto il blog o anche per le singole categorie o i singoli tag (tuosito.ext/feed, tuosito.ext/categoria/feed, tuosito.ext/tag/feed).
Nella pagina in cui vuoi includere l'articolo richiami via php una della tante librerie per il parsing dei feed (magpieRSS i simplePie, per esempio) e gli dai in pasto il feed... queste ti restituiscono un'array con i post, prendi solo il primo item e lo pubblichi come preferisci...
Che ne dici?
-
MagpieRss tra l'altro è già inclusa in WP... forse riesci a richiamarla con include() nella tua pagina php senza doverla scaricare nuovamente... ma dipende da come è impostato il tuo spazio web, il tuo php.ini ecc...
-
Io ho provato già a fare una cosa del genere con magiepieRss e funziona.. però in modo strano. ti spiego tempo fa già sollevai questa problematica, in quanto non riuscivo a far richiamare l'immagine contenuto nel topic di wordpress, ma solo il testo. Un utente sul web mi aiutò a risolvere il tutto modificandomi il codice alla meglio:
<?php require_once('magpierss/rss_fetch.inc'); //Questo è l'URL del feed che andremo a parsare. Nell'esempio c'è il mio :-) $url = "site.ext/blog/category/convegni/feed"; //apre il feed $rss = fetch_rss ($url); //Metto il titolo del feed in una variabile $feedchanneltitle = $rss->channel['title']; //Incominciamo un ciclo per ogni item foreach ($rss->items as $item) { $itemlink = $item['link']; $itemtitle = $item['title']; $description = $item['description']; $topic_img = $item['content']['encoded']; $img = strstr($topic_img, '<p '); $author = $item['author']; $feedurl = $dato['feedurl'] ; $pubdate = $item['pubdate']; //Formatto la data con un intero UNIX TIMESTAMP (del tipo 1129218794) per poterla maneggiare $pubdate = strtotime ($pubdate); //Formatto la stringa della data secondo i miei gusti $pubdate = date("D, d F Y, G.i", $pubdate); //Ora potrei cominciare a stampare il feed a video echo '<div style="text-align: center;">'; echo '<a class="newProductsHeading" href="'.$itemlink.'">'.$itemtitle.'</a>'; //, ' Data:'.$pubdate.''; //Strip_tags è aggiunto per evitare di mostrare l'HTML eventualmente contenuto nell'articolo echo '<p><font face="Arial, Helvetica, sans-serif"><b>'.strip_tags($description).'</b></font></p>'; echo $img; echo '</div>'; break; } ?>Io vorrei che lo script rilevasse tutto il contenuto del topic, e si fermasse fin dove è presente il link "continua" quindi non stampandolo tutto per intero.
Qualcuno un pò più esperto mi saprebbe aiutare?'
grazie.
-
ti segnalo inoltre un ulteriore script che ho trovato in giro che funziona seppur in modo limitato:
<?php
include('blog/wp-blog-header.php');
global $post; // questa non so se serve...
$myposts = get_posts('numberposts=1&category=1');
foreach($myposts as $post) :
the_title();
endforeach; ?>non fa altro che prendere solo il titolo non linkato.
E' possibile implementarlo per far si che prelevi il titolo linkato e il contenuto del post fin quando non trova l'interruzione del link "continua a leggere"?.
Grazie mille ancora
-
ho trovato anche questo:
mrwebmaster.it/php/articoli/integrare-wordpress-sito-preesistente_804.html
ho provato ma lo script dice che non ci sono nessun post :S
-
@EthanDane said:
Io ho provato già a fare una cosa del genere con magiepieRss e funziona.. però in modo strano. ti spiego tempo fa già sollevai questa problematica, in quanto non riuscivo a far richiamare l'immagine contenuto nel topic di wordpress, ma solo il testo.
[...]
Io vorrei che lo script rilevasse tutto il contenuto del topic, e si fermasse fin dove è presente il link "continua" quindi non stampandolo tutto per intero.
Qualcuno un pò più esperto mi saprebbe aiutare?'
grazie.a parte che il link che circonda l'immagine del convegno sul blog è sbagliato...
il testo lo devi prendere dal tag rss
content:encoded
dove c'è la versione completa e con html
e non da
<description>
dove c'è una versione senza html e abbreviata...visualizza la versione sorgente del feed rss e vedrai che è più facile capire dove sono i contenuti che ti interessano...