Facebook Tab: nascondere il contenuto ai non fan

Aggiornamento: Gennaio 2012

Layout preconfigurato per ospitare una landing page su Facebook.

La particolarità di questa tab è che potete decidere quale contenuto mostrare ai fans e quale ai non fans.
E’ necessario avere la libreria Facebook PHP sul proprio server. Scaricate lo .zip da questo link: Libreria facebook.php e scompattatelo sul vostro server, possibilmente nella stessa cartella dove risiede la landing tab (in modo da avere index.php e facebook.php nella stessa cartella).

Ricordatevi di sostituire tutti i campi necessari nel codice a seguire, come ad esempio “YOUR APP ID” ecc ecc.
Per far funzionare il pulsante like dovete inserire l’url completo dell’app al posto di “FACEBOOK URL TO REFRESH” come da esempio (riga 54): http://www.facebook.com/yourfanpage?sk=app_###############

Infine in riga 33 e 35 potete inserire due contenuti diversi per fans della vostra pagina e chi invece ancora non lo è. Considerateli come due diversi div e inserire il codice html.

<?php
require 'facebook.php';
 
$app_id = "YOUR APP ID";
$app_secret = " YOUR APP SECRET";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
 
$signed_request = $facebook->getSignedRequest();
$like_status = $signed_request["page"]["liked"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>YOUR PAGE TITLE HERE</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
 
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.Canvas.setSize();
}
// Do things that will sometimes call sizeChangeCallback()
function sizeChangeCallback() {
FB.Canvas.setSize();
}
</script>
 
<base target='_blank' />
</head>
 
<body>
 
<div id="container">
 
<?php if ($like_status) { ?>
FAN CONTENT HERE
<?php } else { ?>
NONFAN CONTENT HERE
<?php } ?>
 
</div>
 
<div id="fb-root"></div>
<script src="https://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'INSERT YOUR APP ID HERE',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
 
window.fbAsyncInit = function() {
FB.Canvas.setAutoResize();
}
</script>
<script>
FB.Event.subscribe('edge.create',
function(response){
top.location.href = 'FACEBOOK URL TO REFRESH';
});
</script>
 
</body>
</html>

Se questo articolo ti è stato di aiuto puoi votarlo, commentarlo o condividerlo con i tuoi amici, grazie!

About Giovanni Sacheli

Senior SEO & SEM Analyst
Fondatore di EVE Milano.
About me | Il mio profilo su Google+

Se potessi cambiare i colori di questo sito, cosa sceglieresti?

Guarda i risultati

Loading ... Loading ...

EVE Milano usa il Framework Genesis

Genesis Framework

Il Framework Genesis consente di creare rapidamente e facilmente incredibili siti web con WordPress. Genesis fornisce una piattaforma sicura e ottimizzata per i motori di ricerca e con un solo acquisto si ha diritto ad aggiornamenti a vita.

Scopri le caratteristiche incredibili e la selezione di temi professionali. E' così semplice - inizia a utilizzare Genesis ora!

Comments

  1. Ermanno says:

    Sto provando questo script da stamattina, ma non funziona!!!! Ho creato l’applicazione, sostituisco l’ID e il codice segreto, scarico il jdk php, ma nulla: MI DICE SEMPRE “NON FAN”….BOOOOOOOOOOOO

  2. Ciao Ermanno,
    prova a testare l’app in modalità anonima con chrome. se sei loggato come admin lo script non funziona

  3. Ermanno says:

    Innanzitutto grazie per aver risposto… Beh ho provato ad entrare con un profilo diverso dal mio, per ovviare al fatto di essere amministratore dell’applicazione, ma mi sembra che non cambi granché… non saprei… Il fatto è che ho l’impressione che non si riesca ad interagire con l’applicazione in quanto provando ad ottenere il valore della variabile $like_status questa risulta vuota per cui va da se che la condizione impostata nello script mi restituisca “NON FAN…” . Provo ad ottenere altri parametri tipo l’ID o il CODICE SEGRETO, sempre interrogando FACEBOOK, beh questi me li restituisce tranquillamente…. Ora non capisco dove sia l’errore !!!!

  4. Ermanno says:
  5. Marco says:

    Ciao,
    volevo chiedere se c’è modo di verificare se un user è fan di una determinata pagina facebook anche al di fuori di una tab facebook ma direttamente su php/html/wordpress.

    Esempio:
    Vorrei far vedere sul mio sito wordpress, all’interno di un articolo, un certo codice se l’user che sta visitando è fan della mia pagina su facebook oppure visualizzare un altro codice e il tasto per diventare fan se non lo è ancora

    grazie,
    ciao

  6. Ciao marco,
    potresti valutare l’utilizzo del plugin ufficiale di Facebook per WordPress oppure implementare il badge della pagina o il pulsante like inserito a mano con URL fissato alla pagina Fan su Facebook, se un utente non è fan della pagina vedrebbe il bottone come “non fan”

Speak Your Mind

*

More in How To, Social Media Marketing
post-facebook
Facebook ADS: il punteggio qualità e costo per click

Come Google Adwords, anche Facebook ADS utilizza un indicatore di qualità per determinare il costo...

post-how-to
27 consigli per rendere più veloce il web server

Ci sono tanti motivi per rendere il tuo sito web più veloce: i tassi di...

post-how-to
Web Reputation tools gratuiti

Problemi di Brand Reputation? Aggiornamento: Maggio 2013 Aggiungimi su Linkedin Monitorare la propria reputazione online è...

Close