web-dev-qa-db-fra.com

champ personnalisé avec le nombre total de "j'aime", de commentaires et de partages Facebook

je veux faire la coutume déposée qui contient facebook comme compte pour le post d'URL pour obtenir les goûts que j'ai utilisés ce code

function fb_count(){
$link = get_permalink($post->ID);
$content = file_get_contents("http://api.facebook.com/restserver.php?method=links.getStats&urls=".$link);
$element = new SimpleXmlElement($content);
$shareCount = $element->link_stat->total_count;
return $shareCount;}

que je ne sais pas comment stocker les données de Facebook dans les dossiers personnalisés j'ai essayé ce code mais cela ne fonctionne pas

<?php $like_key = 'likes_count';
     $link = get_permalink($id);
$content = file_get_contents("http://api.facebook.com/restserver.php?   method=links.getStats&urls=".$link);
$element = new SimpleXmlElement($content);
$shareCount = $element->link_stat->total_count;
 $key1_values = get_post_custom_values($like_key, $id);
    foreach ( $key1_values as $value )
     update_post_meta($id,$like_key,$shareCount, $value); ?>

je veux savoir ce que je fais mal

2
Shady M Rasmy

Je l'ai fait, voici le code complet:

function insert_facebook_likes_custom_field($post_ID) {
    global $wpdb;
    if (!wp_is_post_revision($post_ID)) {
        add_post_meta($post_ID, 'likes_count', '0', true);
    }
}
add_action('publish_page', 'insert_facebook_likes_custom_field');
add_action('publish_post', 'insert_facebook_likes_custom_field');

function update_facebook_likes($content = '') {
    global $wp_query;
    $permalink = get_permalink();
    $idpost = $wp_query->post->ID;
    $data = file_get_contents('http://graph.facebook.com/?id='.$permalink);
    $json = $data;
    $obj = json_decode($json);
    $like_no = $obj->{'shares'};
    $meta_values = get_post_meta($idpost, 'likes_count', true);
    if ($like_no == null) {
        $like_no = 0;
    }
    update_post_meta($idpost, 'likes_count', $like_no, false);
    return $content;
}
add_action('the_content', 'update_facebook_likes');

Il suffit de copier/coller ce code dans le fichier functions.php. Les données seront stockées dans un champ personnalisé appelé likes_count. J'espère que ça aide

2
Shady M Rasmy

Pour afficher le nombre de fans Facebook en texte intégral, j'ai utilisé cette partie du code:

$page_id = "YOUR PAGE-ID";
$xml = @simplexml_load_file("http://api.facebook.com/restserver.php?method=facebook.fql.query&query=SELECT%20fan_count%20FROM%20page%20WHERE%20page_id=".$page_id."") or die ("a lot");
$fans = $xml->page->fan_count;
echo $fans;

"VOTRE ID DE PAGE" -> l'identifiant de la page Facebook. J'espère être utile.

0
user24259

Voir Obtenir des préférences, des partages et des commentaires sur Facebook avec PHP Function .
C’est une version plus récente où vous pouvez obtenir les goûts de Facebook, commenter et partager les comptes à l’aide de Facebook FQL, les obtenir via JSON et les afficher sous forme de texte. vous pouvez manipuler la vue et la concevoir comme vous le souhaitez. Son code si pratique, si simple et si utile

0
wilbert