web-dev-qa-db-fra.com

Afficher les followers sur Twitter comptent les extraits ne fonctionnent pas

Peu importe ce que j'essaie, je n'arrive pas à obtenir les extraits de code qui affichent le nombre d'adeptes de Twitter. J'en ai essayé plusieurs, car le plug-in que j'utilise ne montre pas du tout le numéro Twitter. Je dois donc chercher des alternatives.

Lorsque j'ai essayé cet extrait , par exemple, j'ai reçu le message d'erreur suivant: http://Pastebin.com/iif9g35a

Quelqu'un a une idée de ce qui ne va pas ici? Je pense qu’il est étrange que le plug-in "Suscribers to text" n’affiche pas le nombre de suiveurs. Dans le cas contraire, je n’aurais pas à chercher de solutions de rechange.

1
japanworm

Aïe, cet extrait est ancien (j'en suis un peu l'auteur, plus précisément adapté à Twitter par un autre extrait). J'envisagerais fortement d'utiliser une solution plus récente.

J'avais fait plus tard et écrit à partir de zéro, essayez-le http://www.rarst.net/script/Twitter-counts-wordpress/

2
Rarst

Deux problèmes:

  1. Le code que vous utilisez nécessite des capacités de rôle d'administrateur
  2. Le code que vous utilisez nécessite des wrappers fopen(), qui peuvent être désactivés par votre hôte.

Vous devriez probablement utiliser wp_remote_get() au lieu de file_get_contents(). Je recommanderais également de mettre en cache le résultat plutôt que de le stocker en tant qu'option de base de données.

Mais commençons par les bases. Je vais supposer que la partie preg_match() du code WPBeginner fonctionne et la ré-envelopper dans une fonction plus flexible.

Essayez de mettre ceci dans functions.php (remplacez $user = 'wpbeginner' par votre propre nom d'utilisateur):

<?php
function mytheme_get_Twitter_follower_count( $user = 'wpbeginner' ) {
    $Twitter_url = 'http://Twitter.com/users/show.xml?screen_name=' . $user;
    $Twitter_data = wp_remote_get( $Twitter_url );
    $xml = $Twitter_data['body'];
    $Twitter_followers = '0';
    if (preg_match('/followers_count>(.*)</',$xml,$match)!=0) {
        $Twitter_followers = $match[1];
    }
    return $Twitter_followers;
}
?>

Ensuite, partout où vous voulez sortir la chaîne, placez ceci dans votre fichier de modèle:

<p>Twitter Followers: <?php echo mytheme_get_Twitter_follower_count(); ?></p>

(Notez que vous pouvez obtenir le nombre d'abonnés pour tous les utilisateurs en appelant mytheme_get_Twitter_follower_count( 'username' );.)

MODIFIER

De votre message d'erreur:

Abonnés Twitter: Erreur fatale: Appel de la fonction non définie mytheme_get_Twitter_follower_count () dans /hermes/bosweb25a/b155/ipg.zoomingjapancom/wp-content/plugins/php-code-widget/execphp.php(44): e code (d) sur la ligne 1

  1. Où placez-vous l'appel de fonction mytheme_get_Twitter_widget_follower_count()?
  2. Où définissez-vous la fonction mytheme_get_Twitter_widget_follower_count()?
  3. Pourquoi utilisez-vous un plugin d'exécution de code PHP?
  4. Pourquoi ce plugin contient-il du code eval ()?
2
Chip Bennett

L'extrait de code fonctionne probablement, vous ne l'avez tout simplement pas mis en œuvre correctement.

Où avez-vous enregistré le code de la première section de code dans cet exemple? D'où venez-vous including le code?

en gros, l'erreur est que le chemin d'accès au fichier n'est pas correct, le fichier Twitter.php que vous essayez d'inclure est introuvable.

MODIFIER -

si le fichier Twitter.php se trouve à la racine de votre répertoire de thème, essayez de l'inclure comme suit:

include( TEMPLATEPATH . '/Twitter.php' );
1
Milo

Si le fichier se trouve dans votre dossier de thème, au lieu d'utiliser include, essayez get_template_part . get_template_part( 'Twitter.php' );

1
chrisguitarguy