Anteriormente escribimos sobre un código que le permite mostrar el recuento de seguidores de Twitter que fue aportado por Raro. En este artículo, compartiremos un código más avanzado y elegante que le permite mostrar el recuento de seguidores de Twitter en WordPress. Una vez más, este guión también fue aportado por Rarst.
Características
Esta función no se limita al recuento de seguidores. Puede obtener cualquier valor no anidado devuelto por Usuarios de Twitter/mostrar método API.
Tiene dos niveles de caché:
- los valores consultados se almacenan como una matriz en la base de datos, usando las opciones de WP, por $intervalo de segundos;
- Las respuestas de la API se almacenan en la memoria para que pueda consultar cualquier número de campos, sin generar múltiples solicitudes de API.
Esto debería ser seguro de usar para multiplicar valores y multiplicar usuarios al mismo tiempo, sin preocuparse por agotar el límite de API.
Tutorial
Primero abre tu tema funciones.php archivo y agregue el siguiente código:
function rarst_twitter_user( $username, $field, $display = false ) { $interval = 3600; $cache = get_option('rarst_twitter_user'); $url="http://api.twitter.com/1/users/show.json?screen_name=".urlencode($username); if ( false == $cache ) $cache = array(); // if first time request add placeholder and force update if ( !isset( $cache[$username][$field] ) ) { $cache[$username][$field] = NULL; $cache[$username]['lastcheck'] = 0; } // if outdated if( $cache[$username]['lastcheck'] < (time()-$interval) ) { // holds decoded JSON data in memory static $memorycache; if ( isset($memorycache[$username]) ) { $data = $memorycache[$username]; } else { $result = wp_remote_retrieve_body(wp_remote_request($url)); $data = json_decode( $result ); if ( is_object($data) ) $memorycache[$username] = $data; } if ( is_object($data) ) { // update all fields, known to be requested foreach ($cache[$username] as $key => $value) if( isset($data->$key) ) $cache[$username][$key] = $data->$key; $cache[$username]['lastcheck'] = time(); } else { $cache[$username]['lastcheck'] = time()+60; } update_option( 'rarst_twitter_user', $cache ); } if ( false != $display ) echo $cache[$username][$field]; return $cache[$username][$field]; }
Uso
Una vez que haya pegado la función, ahora puede usar el código en cualquier archivo de plantilla de WordPress que desee. Simplemente pegue el siguiente código:
echo rarst_twitter_user('wpbeginner', 'name').' has '. rarst_twitter_user('wpbeginner', 'followers_count').' followers after '. rarst_twitter_user('wpbeginner', 'statuses_count').' updates.';
El código anterior mostrará algo como esto:
Themelocal tiene 5846 seguidores después de 1300 actualizaciones.