it-swarm.com.de

benutzerdefiniertes Feld mit der Gesamtzahl der Facebook-Likes, -Kommentare und -Freigaben

ich möchte eine benutzerdefinierte Datei erstellen, die die Anzahl der Facebook-Likes für die Post-URL enthält, um die Likes zu erhalten, die ich für diesen Code verwendet habe

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;}

ich weiß nicht, wie ich die Facebook-Daten in einem benutzerdefinierten Ordner speichern soll. Ich habe diesen Code ausprobiert, aber er funktioniert nicht

<?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); ?>

ich will wissen, was ich falsch mache

2
Shady M Rasmy

Ich habe es geschafft, hier ist der vollständige Code:

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');

Kopieren Sie diesen Code einfach in die Datei functions.php. Die Daten werden in einem benutzerdefinierten Feld namens likes_count gespeichert. Ich hoffe es hilft

2
Shady M Rasmy

Für die Anzeige der Anzahl der Facebook-Fans im Volltext habe ich diesen Teil des Codes verwendet:

$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;

"IHRE SEITEN-ID" -> die ID der Facebook-Seite. Ich hoffe nützlich zu sein.

0
user24259

Siehe Abrufen von Facebook-Likes, -Freigaben und -Kommentarzahlen mit der PHP -Funktion .
Es ist eine neuere Version, in der Sie die Anzahl der Facebook-Likes, -Kommentare und -Freigaben über Facebook FQL abrufen und über JSON abrufen und als Text anzeigen können. Sie können die Ansicht nach Ihren Wünschen bearbeiten und gestalten. Es ist so praktisch, einfacher Code und so nützlich

0
wilbert