Короткі URL від bit.ly для записів у WordPress

69

Короткие URL от bit.ly для записей в WordPress

Доброго дня!
Короткі посилання для ваших записів, це не примха і не черговий наворот, це норма, навіть якщо хочете необхідність, враховуючи зростаючу популярність мікро-блогінгу, де паровозом виступає всім відомий Twitter. Не будемо зупинятися на сферах використання вкорочених url, вони можуть стати в нагоді в різних ситуаціях, будь то коментування статей або ж при спілкуванні в соціальних мережах і форумах.
Сьогодні розповім, як можна з допомогою спец-сервісу, в даному випадку ми будемо використовувати bit.ly, без особливого напрягу організувати систему коротких посилань в WordPress, з можливістю виводу безпосередньо в записах, в будь-якому зручному для вас місці.

Движок WordPress продуманий і звичайно має базові функції формування коротких посилань, за замовчуванням будь-який пост має посилання виду http://вашсайт/?p=21, де 21 — це ID запису, скільки не змінюйте структуру посилань, все одно ваші записи залишаться доступні за посиланнями такого виду. Якщо потрібно вивести скорочену посилання на пост, створену на основі вбудованої в WordPress функції, то використовується: .

Існують і спеціалізовані плагіни WP, для створення вкорочених url. Якщо не особливо горите бажанням колупатися у функціях і кодах шаблону, то варто придивитися до плагіну URL Shortener, який з легкістю допоможе вам організувати переклад звичайних посилань в укорочені.
Не всіх влаштовує використання базових функцій WP, так і захаращення движка плагінами, не завжди є добре, в плані швидкості, продуктивності і навантажень на сервер. Так що давайте розглянемо ще один альтернативний спосіб створення коротких посилань з використанням сервісу bit.ly.

Сподіваюся з bit.ly всі знайомі, якщо ні, то мабуть і читати далі немає сенсу, так як будемо працювати саме з цим сервісом для скорочення посилань. Для початку необхідно отримати зареєстрований акаунт у bit.ly і отримати API KEY — ключ програмного інтерфейсу програми. Ваш логін та api key будуть грати ключову роль у функції автоматичного створення коротких посилань при додаванні нових записів.

Щоб підключити до роботи в блозі WP програмний інтерфейс bit.ly, необхідно внести деякі зміни в файл function.php вашої теми, а конкретніше додати наступну функцію:

add_action('publish_post', 'create_bitly');
function create_bitly($postID) {
global $wpdb;
$login = 'YOUR LOGIN'; // змінити свій логін
$apikey = 'YOUR API KEY'; // вписати свій API key
$longURL = get_permalink($postID); // тут ми отримуємо постійну посилання на свій пост
// Це виклик API для вибірки скорочення URL
$apiurl = 'http://api.bit.ly/v3/shorten?longUrl='.urlencode($longURL).'&login='.$login.'&apiKey='.$apikey;
// Використовуємо cURL
$curl = curl_init();
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $apiurl);
$results = json_decode(curl_exec($curl));
curl_close($curl);
$shortURL = $results->data->url; // короткий URL
update_post_meta($postID, 'bitlyURL', $shortURL); //додаємо короткий URL з ім'ям bitlyURL в поле запису
}

add_action(‘publish_post’, ‘create_bitly’);
function create_bitly($postID) {
global $wpdb;
$login = ‘YOUR LOGIN’; // змінити свій логін
$apikey = ‘YOUR API KEY’; // вписати свій API key
$longURL = get_permalink($postID); // тут ми отримуємо постійну посилання на свій пост
// Це виклик API для вибірки скорочення URL
$apiurl = ‘http://api.bit.ly/v3/shorten?longUrl=’.urlencode($longURL).’&login=’.$login.’&apiKey=’.$apikey;
// Використовуємо cURL
$curl = curl_init();
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $apiurl);
$results = json_decode(curl_exec($curl));
curl_close($curl);
$shortURL = $results->data->url; // короткий URL
update_post_meta($postID, ‘bitlyURL’, $shortURL); //додаємо короткий URL з ім’ям bitlyURL в поле запису
}

Для більшої ясності, вписав невеликі пояснення.

Щоб повністю підмінити базову функцію WP створення коротких посилань в голові html сторінки записи, які ви можете спостерігати в розділі тегу head, вашим новим коротким url, і зробити цей процес на повному автоматі. У той же файл вашої теми function.php додаємо наступне:

remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 ); // видалення вкорочених посилань за замовчуванням
add_action( 'wp_head', 'bilty_shortlink_head'); // додавання нових скорочених посилань bit.ly
function bilty_shortlink_head() {
global $post;
$shortURL = get_post_meta($post->ID, 'bitlyURL', true);
if(!empty($shortURL)) {
echo ''."\n";
} else {
echo ''."\n";
}
}

remove_action( ‘wp_head’, ‘wp_shortlink_wp_head’, 10, 0 ); // видалення вкорочених посилань за замовчуванням
add_action( ‘wp_head’, ‘bilty_shortlink_head’); // додавання нових скорочених посилань bit.ly
function bilty_shortlink_head() {
global $post;
$shortURL = get_post_meta($post->ID, ‘bitlyURL’, true);
if(!empty($shortURL)) {
echo “.”\n”;
} else {
echo ‘ID'” />’.”\n”;
}
}

За великим рахунком, це все, залишається підказати WP показувати ваші нові короткі URL, Ви можете зробити це, використовуючи `wp_get_shortlink () ` функцію, додавши фільтрування цій самій функції:

add_filter('pre_get_shortlink', 'get_bitly_shortlink'); // додаємо фільтрування WP функції
function get_bitly_shortlink() {
global $post;
$shortURL = get_post_meta($post->ID, 'bitlyURL', true);
if(!empty($shortURL)) {
return $shortURL;
} else {
return get_bloginfo('url').'?p='.$post->ID;
}
}

add_filter(‘pre_get_shortlink’, ‘get_bitly_shortlink’); // додаємо фільтрування WP функції
function get_bitly_shortlink() {
global $post;
$shortURL = get_post_meta($post->ID, ‘bitlyURL’, true);
if(!empty($shortURL)) {
return $shortURL;
} else {
return get_bloginfo(‘url’).’?p=’.$post->ID;
}
}

Завершальним акордом всіх наших маніпуляцій буде сам висновок скорочених посилань безпосередньо в тілі записів, на початку або в кінці, це вже кого як вставить. Для цього внесемо корективи в файл single.php вашої теми, там де на вашу розумінню і непереборному бажанню, повинні бути народу укорочені посилання на запис, вставляєте наступне:

Короткий URL: ID); ?>

Короткий URL: ID); ?>

На цьому все, таким ось нехитрим способом, ви надасте своїм читачам можливість побачити, а згодом при необхідності і використовувати, укорочені посилання на ваші записи за допомогою сервісу bit.ly. Чи є від цього користь, кожен може вирішувати сам, було б запропоновано, а там……
До речі, на цьому блозі використовується саме такий метод скорочення посилань. Ідеєю і технічним рішенням, з усієї інтернет-братією поділився Bavota San.

Якщо ви ведете свій блог на WordPress і ви хочете дізнатися щось нове про це популярному движку, раджу відвідати дуже цікавий тематичний блог про wordpress, і впевнений, цей маленький «хак», про який я написав сьогодні, не буде здаватися вам чимось складним і незрозумілим.