Techorati, Link e Citazioni ad Articoli Singoli (Per WordPress)

 

Techorati, Link e Citazioni ad Articoli Singoli (Per WordPress)

Posted by DElyMyth on Thu, 2005-06-02 16:56 in

Continuo a dire che non voglio piu' programmare.
Continuo a dire che mi son stufata.
Ma accolgo troppo volentieri le "sfide".
Ed eccomi qui, con un pezzetto di codice davvero utile allo scopo.
(Update: plugin zippato pronto alla consegna)

L'ispirazione mi e' venuta da un discorso su Blog Italiani, per ora questo pezzetto di codice e' implementato solo nel template di default, un giorno forse lo aggancio a tutti i template (cioe' ne faccio un include perche' sono pigra).
In caso, quel giorno sara' o oggi o domani, prima devo riassestarne un po' l'estetica.

La "richiesta" riguardava la comodita' di avere, all'interno della singola pagina, l'elenco dei post scritti da altri che linkino ad uno specifico post, basandosi su Technorati, considerato (per motivi vari) la migliore fonte di informazioni per sapere chi linka cosa (a patto che ovviamente il linkante pinghi Technorati o sia comunque indicizzato da loro).

La cosa bella e' che Technorati implementa Feed dinamici a richiesta, cioe' tu chiedi a lui chi linka cosa, e lui ti passa l'elenco di chi linka, anche via Feed RSS, senza la necessita' di crearsi una Watchlist.
La Watchlist servirebbe per tenere traccia di (appunto) chi linka cosa, e sono disponibili per tutti gli iscritti al servizio.
A pensarci pero' e' un grandissimo sbattimento quello di creare una Watchlist per ogni articolo (non per altro, ma solo qui sarebbero quasi 2000, e sono decisamente tante), molto piu' comodo sfruttare i Feed dinamici di Technorati, che vengono costruiti in questa maniera:
http://feeds.technorati.com/cosmos/rss/?url=
Seguito dal permalink al post che volete seguire.

Da qui all'inserimento della lista risultante nei template di WordPress, il passo e' davvero breve, dal momento che la versione 1.5 (e superiori) integra al suo interno un feed-parser, utilizzato nella Dashboard del pannello di amministrazione.
Basta dare un'occhiata alla index.php del pannello di amministrazione di WP per avere un'idea di come implementare il "coso".

In primo luogo, bisogna includere in tutte le pagine, il file di funzioni di WP che si occupa della gestione dei feed, aggiungendo questa riga (un po' dove vi pare, basta che sia prima del codice che richiama il parser) al template:
require_once (ABSPATH . WPINC . '/rss-functions.php');
Questo fara' in modo che il Feed venga letto dal programma.

Successivamente serve andare a beccarsi il Feed relativo all'articolo che volete tenere d'occhio:
$rss = @fetch_rss('http://feeds.technorati.com/cosmos/rss/?url='. trailingslashit(get_permalink()) .'&partner=wordpress');
Questa riga non fa altro che inizializzare l'array $rss e popolarlo (in caso) con il risultato della ricerca su Technorati.
Il carattere @ prima della chiamata alla funzione serve a non far comparire errori nella pagina in caso qualcosa vada storto, toglietelo durante i test, ma ricordatevi di rimetterlo dopo (non si sa mai).

Il passo successivo:
if ( isset($rss->items) && 0 != count($rss->items) ) {
serve a controllare se il Feed abbia elementi, e solo in quel caso chiamare il pappardellone che si occupa di visualizzare il risultato della ricerca sulle vostre pagine, ovvero i pezzi seguenti:



Per separare un po' la cosa dal testo dell'articolo

Titolo dell'elenco, con link alla pagina relativa su Technorati:
< ?php _e('Incoming Links'); ?>
Da notare il comando echo prima della chiamata a get_permalink(), attenzione a quando lo mettete.

Formattazione, dato che l'elenco e' in formato lista:

    Inizializzazione del ciclo di visualizzazione:
    < ?php
    $rss->items = array_slice($rss->items, 0, 10);
    foreach ($rss->items as $item ) {

    l'ultimo parametro della chiamata ad array_slice() dice quanti elementi prendere dalla lista, io ho messo 10 perche' era cosi' nella chiamata a Technorati del pannello di amministrazione, ma direi che per un articolo singolo 5 e' un valore sufficiente.

    Adesso arrivano le varianti, perche' e' possibile mostrare anche l'excerpt del post che vi linka, come qui sotto:

  • < ?php echo wp_specialchars($item['title']); ?>
    < ?php echo $item['description']; ?>
  • Oppure eliminare il
    e < ?php echo $item['description']; ?>, che e' poi quello che visualizza la "descrizione".

    Dato che qui mancano dei pezzi, vi riporto il codice com'e' adesso (e come gia' non sara' piu' domani, ma le piccole modifiche ognuno le faccia a suo piacimento e secondo il suo gusto):
    < ?php
    require_once (ABSPATH . WPINC . '/rss-functions.php');
    $rss = @fetch_rss('http://feeds.technorati.com/cosmos/rss/?url='. trailingslashit(get_permalink()) .'&partner=wordpress');
    if ( isset($rss->items) && 0 != count($rss->items) ) {
    ?>

    ;
    < ?php _e('Incoming Links'); ?>

    < ?php } ?>

    L'utilita' esiste, e riguarda la possibilita' per i lettori di seguire una discussione anche in caso di mancanza di commenti, ping e trackback verso l'articolo che avete scritto, in modo che questi possano trovare i riferimenti a voi senza dover necessariamente andare a manina santa su Technorati.

    Il plugin, con codice ovviamente diverso da quello riportato sopra lo trovate qui.
    E' sufficiente uploadarlo nella directory dei plugin della vostra installazione di WordPress (minimo 1.5) e attivarlo perche', in calce ad ogni vostro post inserisca in automatico l'elenco di chi vi linka (attenzione, dato che prendere contenuti dall'esterno rallenta parecchio, il plugin si attiva solo in caso di visualizzazione del singolo post)


    Comment viewing options
    Select your preferred way to display the comments and click "Save settings" to activate your changes.
    Any English document ?

    Hi there,
    I have been looking for plugin like you've provided for a long time, but it's a pitty that I can't realize how to make this active, if you can provide me some clue in English would be great.
    Many thanks,
    Derrick

    Posted by derrick (not verified) on Mon, 2006-06-26 12:20
    Scusa ma oggi non c'ho testa di seguire la logica di programmazi

    Scusa ma oggi non c'ho testa di seguire la logica di programmazione. In cosa è diverso dal plugin di JLuster?

    Posted by bru (not verified) on Thu, 2005-06-02 17:52
    Per prima cosa, dal fatto che non si sa dove si scarichi il suo,

    Per prima cosa, dal fatto che non si sa dove si scarichi il suo, quindi non posso sapere in cosa differisce il codice (la plugin directory ufficiale - qui - non ce l'ha e non si sa su che repository lo abbia messo, almeno in questo momento).

    Diciamo che a farlo ci ho messo 10 minuti, a cercarlo ci metterei di piu'.

    Posted by DElyMyth (not verified) on Thu, 2005-06-02 17:58
    ciao delymyth, sono a casa dei miei e usufruisco di una larga ba

    ciao delymyth, sono a casa dei miei e usufruisco di una larga banda di 56k ;)
    ho messo il plugin, che dice nothing reported in tutti gli articoli, ma se ci clicco finisce sulla pagina di technorati in cui alcuni articoli hanno diversi link. com'è che funziona?

    Posted by eiochemipensavo (not verified) on Thu, 2005-06-02 18:28
    A dire il vero funziona maluccio :) Sull'articolo che avevo rip

    A dire il vero funziona maluccio :)
    Sull'articolo che avevo riportato in ML come esempio infatti adesso il feed risulta vuoto, mentre il link riporta una citazione che non e' quella che compariva nel feed.

    Technorati in effetti non mi permette nemmeno di vedermi il cosmos da qualche mese, l'unico modo che ho per vedermi i link e' andarci dal profilo, e vedo solo gli ultimi in ordine di tempo.

    E anche il coso nella dashboard di WP ogni tanto si pianta.
    Diciamo che e' da prendere "as is" e non farci troppo conto :(

    Posted by DElyMyth (not verified) on Thu, 2005-06-02 19:00
    [...] Come il pezzettino di MagpieRSS nella Dashboard di WordPr

    [...] Come il pezzettino di MagpieRSS nella Dashboard di WordPress, esportato per il mio “technolinks“. Ecco, queste cose, piccole all’apparenza, ma che portano a Linux, Apache, Php [...]

    Posted by DElyMyth - /dev/null - Sui Brevetti Software (not verified) on Fri, 2005-06-24 08:44
    plugin seems to be a little bit ... buggy. writing in article w

    plugin seems to be a little bit ... buggy.
    writing in article with links and plugin activated, the article is only shown till the headline. no text.

    Posted by aba (not verified) on Tue, 2005-07-12 13:41
    I noticed the thing, but I have no clue about it. I use the fee

    I noticed the thing, but I have no clue about it.
    I use the feed reading engine from wordpress, the same as the dashboard one.
    The dashboard too has problems sometimes :(
    Anyway, it happens only at the first access to a post, and then it's working fine (at least it was ok here after a "back to home page and then to the post again")...

    Posted by DElyMyth (not verified) on Tue, 2005-07-12 13:44
    Post new comment
    The content of this field is kept private and will not be shown publicly.
    • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <br> <p>
    • Lines and paragraphs break automatically.
    • Web page addresses and e-mail addresses turn into links automatically.

    More information about formatting options

    CAPTCHA
    This question is for testing whether you are a human visitor and to prevent automated spam submissions.