Ostatnio bardzo dużo siedzę w WordPressie. Piszę wtyczki, przerabiam szablony. Nauczyłem się przy tym bardzo dużo nowych rzeczy w ciągu ostatniego tygodnia. Oto jedna z nich: jak pobierać z bit.ly skrócone linki. Bit.ly stosuje bardzo prostą metodę zamiany linków z użyciem najprostszych żądań HTTP.
1. Trzeba założyć konto na bit.ly, ponieważ do działania skryptu będzie niezbędny API Key. Po założeniu konta pobieramy klucz, który znajduje się pod adresem http://bit.ly/a/your_api_key.
Jest kilka formatów, w jakich możemy pobierać dane z bit.ly. Można zażądać odpowiedzi w formacie JSON, XML lub TXT. Ten ostatni jest bardzo prosty (pozostałe dwa też nie są skomplikowane) i o nim będzie tu mowa.
2. Szablon adresu bit.ly, pod którym otrzymamy skrócony link wygląda następująco:
http://api.bit.ly/v3/shorten?login=login&apiKey=apikey&longUrl=url_do_skrocenia&format=txt
Zastępujemy oczywiście login i apikey naszymi danymi (z URL trzeba chwilę się wstrzymać), a jako format wybieramy txt.
3. Enkodujemy nasz długi URL. Nie może on zawierać żadnych znaków typu &, /, @, : itp. Nie robimy tego za pomocą „encji”, ale poprzez wbudowaną funkcję php urlencode:
urlencode("długi url");
4. Pobieramy odpowiedź z tak zbudowanego adresu:
$short = file_get_contents("http://api.bit.ly/v3/shorten?login=$bitlylogin&apiKey=$bitlyapi&longUrl=" . urlencode($dlugi_link) . "&format=txt");
I to wszystko. Teraz w zmiennej $short mamy nasz krótki link i możemy go dalej wykorzystywać w skrypcie.
PS fopen w tym przypadku nie zadziała.

[...] się linkiem do strony czy wpisu, bez konieczności korzystania z zewnętrznych usług takich jak Bit.ly czy [...]