file_get_contents - riusciti a flusso aperto
-
16-10-2019 - |
Domanda
Ho questo codice sul mio functions.php per ottenere SHORTURL oltre bit.ly
function bitly() {
global $post;
$bitly = file_get_contents('http://api.bit.ly/v3/shorten?login=USER&apiKey=KEY&longUrl='.urlencode(get_permalink($post->ID)).'&format=txt');
echo $bitly;
}
, ma, a volte ho avuto errore come questo "Function.file-get-contents]: non è riuscito a flusso aperto: HTTP richiesta non riuscita HTTP / 1.1 403 Forbidden in functions.php on line 614"
Linea 614 è il codice dall'alto. Quello che voglio è quello di gestire tale errore e non mostrarlo agli utenti. Ma invece di mostrare bit.ly url breve, se l'errore 404 è lì, voglio mostrarvi url wp.me predefinita per gli utenti o se non è possibile, allora wp.me intero URL.
EDIT Ho fissato questo con questo codice
function bitly() {
global $post;
$bitly = wp_remote_retrieve_body (wp_remote_get('http://api.bit.ly/v3/shorten?login=USERNAME&apiKey=APIKEY&longUrl='.urlencode(get_permalink($post->ID)).'&format=txt'));
if( is_wp_error( $bitly ) ) {
echo wp_get_shortlink($post->ID); }
else { echo $bitly; }
}
Soluzione
Sono d'accordo che questo è il PHP piuttosto che WP domanda.
Per renderla più vicina al WP Vi suggerisco di dare un'occhiata alle seguenti funzionalità:
- HTTP API è altamente consigliato per effettuare richieste HTTP;
-
add_post_meta()
e meta relative funzioni alle informazioni post-specifiche negozio; -
the_shortlink()
funzione, che viene suggerito tag modello da utilizzare per la funzionalità di collegamento corto natvie (e gancio in per terze parti).