امروز در مقاله “ساخت افزونه کوتاه کننده لینک برای وردپرس” با ما همراه باشید :
کوتاه کردن URL یک تکنیک است که در آن یک آدرس به طور قابل ملاحظه در اندازه ی کوتاه تری ساخته می شود و همچنان به صفحه ی مورد نظر پیوند می دهد.
این کار با استفاده از تغییر مسیر نام دامنه به یک مسیر کوتاه تر، که خود به صفحه ای با آدرس طولانی تر لینک می دهد انجام می شود.در این مقاله ما به شما آموزش می دهیم که چگونه به کمک کوتاه کننده ی لینک API() گوگل افزونه ای با این قابلیت ایجاد کنید.
چرا به لینک های کوتاه شده احتیاج داریم؟
قبل از اینکه ساخت این افزونه را آغاز کنیم ابتدا نگاهی بیندازیم به این که چرا و چه زمانی به لینک های کوتاه شده نیازمندیم؟ در برخی از صفحات اجتماعی برای ارسال پیام با محدودیت حروف مواجهیم، تصور کنید بخواهیم به پیاممان لینکی را هم اضافه کنیم، چه اتفاقی رخ می دهد؟!!! قسمت قابل توجهی از فضای شما به همین سادگی اشغال می شود.
درکتاب های چاپ شده معمولا از آدرس هایی استفاده می شود که خوانا و قابل فهم باشند.کدهای QR محدودیت کاراکتر دارند، بدین معنی که آدرس های بلند را نمی پذیرند و به این شکل ابزاری برای کوتاه کردن لینک ها مورد نیاز است.
دست یابی به کوتاه کننده لینک API گوگل(Google URL Shortener API )
برای استفاده از کوتاه کننده ی لینک API، ابتدا باید یک کد API داشته باشیم. گوگل از این کد استفاده می کند تا درخواست مختصر سازی شما را پیگیری کند. برای دریافت این کد مراحل زیر را قدم به قدم انجام دهید:
- به کنسول توسعه دهندگان گوگل مراجعه کنید.
- پروژه ای جدید بسازید یا یک پروژه ی موجود را انتخاب کنید.
- در منوی سمت چپ بر روی APIs & auth کلیک کنید و صفحه ی آن را باز کنید.
- سپس روی APIs کلیک کرده و مطمئن شوید وضعیت Google URL Shortener API روی حالت on تنظیم شده باشد.
- در منوی سمت چپ گزینه ی Credentials را انتخاب کنید؛ سپس برای خود یک کد دسترسی بسازید. این کد دسترسی همان API نام دارد.
آدرس ها و فایل های افزونه
این افزونه تنها شامل یک آدرس و یک فایل می باشد، url-shortener و url-shortener.php.
برای نصب افزونه، کد زیر را در فایل url-shortener.php قرار دهید:
URL Shortener Setting
بررسی اجمالی کوتاه کننده ی لینک گوگل
برای مختصرسازی آدرس ها باید یک متن درخواست حاوی کد API و آدرس طولانی خود به این آدرس بفرستید.
نمونه ی یک متن درخواست:
POST httpss://www.googleapis.com/urlshortener/v1/url Content-Type: application/json {"longUrl": "https://www.sitepoint.com/"}
نمونه ی متن جوابی:
{ "kind": "urlshortener#url", "id": "https://goo.gl/fqsT", "longUrl": "https://www.sitepoint.com/" }
توجه داشته باشید که نمی توانید بیشتر از ۱ میلیون درخواست مختصرسازی به این آدرس بفرستید.
نمایش آدرس کوتاه در meta bax
در این قسمت می خواهیم آموزش دهیم که چطور لینک مختصر شده را در یک meta box در صفحه ویرایشگر پست مشاهده کنید.برای ساخت یک meta box از API متاباکس استفاده میکنیم و برای کوتاه کردن لینک از HTTP API
کد نمایش لینک کوتاه در meta box:
function url_shortener_meta_box_markup($object) { $key = get_permalink($object->ID);
if(get_option(‘url-shortener-input-field’, ”) != “”)
{
if(get_option($key, “”) != “”)
{
echo get_option($key, “”);
return;
}
$url = ‘httpss://www.googleapis.com/urlshortener/v1/url’;
$result = wp_remote_post(
add_query_arg(
‘key’,
get_option(‘url-shortener-input-field’),
‘httpss://www.googleapis.com/urlshortener/v1/url’
),
array(
‘body’ => json_encode(array(‘longUrl’ => esc_url_raw($key))),
‘headers’ => array( ‘Content-Type’ => ‘application/json’)
)
);
if(is_wp_error($result)){echo “Error”; return;}
$result = json_decode($result
[‘body’]);
$shortlink = $result->id;
update_option($key, $shortlink);
echo $shortlink;
}
}
function url_shortener_meta_box()
{
add_meta_box(“url-shortener-meta-box”, “Shorten URL”, “url_shortener_meta_box_markup”, “post”, “side”, “default”, null);
}
add_action(“add_meta_boxes”, “url_shortener_meta_box”);
این کد ها به این صورت تغییرات اعمال می کنند:
به کمک تابع add_meta_box یک متاباکس ساختیم.
آدرس های طولانی را به کمک تابع get_permalink() بازیابی کردیم.
سپس چک می کنیم که آیا از قبل آدرس کوتاهی برای این آدرس بلند در پایگاه داده ی سایت موجود است یا خیر، اگر چنین آدرسی موجود است از آن استفاده می کنیم ؛ در غیر این صورت آن را می سازیم.
Meta box ساخته شده در ویرایشگر متن به این صورت نمایش داده می شود:
همچنین ممکن است که بخواهیم لینک کوتاه هر پست زیر آن پست نمایش داده شود.
در اینجا کد مربوط به این ویژگی را مشاهده می کنیم:
function url_shortener_content_filter($content) { if($GLOBALS['post']->post_type != "post") return; $key = get_permalink($GLOBALS['post']->ID); if(get_option('url-shortener-input-field', '') != "") { if(get_option($key, "") != "") { $content = $content . "
Shortern URL: ” . get_option($key, “”) . ”
“; return $content; } $url = ‘httpss://www.googleapis.com/urlshortener/v1/url’; $result = wp_remote_post( add_query_arg( ‘key’, get_option(‘url-shortener-input-field’), ‘httpss://www.googleapis.com/urlshortener/v1/url’ ), array( ‘body’ => json_encode(array(‘longUrl’ => esc_url_raw($key))), ‘headers’ => array( ‘Content-Type’ => ‘application/json’) ) ); if(is_wp_error($result)){echo “Error”; return;} $result = json_decode($result[‘body’]); $shortlink = $result->id; update_option($key, $shortlink); $content = $content . ”
Shortern URL: ” . $shortlink . ”
“; } return $content; } add_filter(“the_content”, “url_shortener_content_filter”);
در این مرحله دقیقا با این کدها همان کارهایی را می کنیم که برای نمایش لینک کوتاه در meta box انجام دادیم. تنها با این تفاوت که به جای انعکاس آن، به الحاق آن به محتوای پست می پردازیم.در نهایت لینک کوتاه به این صورت نمایش داده می شود:
ساخت افزونه ی شگفت انگیز کوتاه کننده لینک برای ورد پرس به پایان رسید!!
افزونه های دیگر و معروف مختصرسازی لینک
اگر مایلید که با افزونه های موجود دیگری آشنا شوید ۲ افزونه از مشهورترین ها در این زمینه را به شما معرفی می کنیم WP URL Shorten. و URL Shortener
اولین افزونه از سرویس ref.li برای کوتاه کردن لینک ها استفاده می کند و دومین افزونه به شما اجازه می دهد بین Bit.ly, Su.pr, YOURLS, Goo.gl و بسیاری سرویس های دیگر خودتان انتخاب کنید(نام این سرویس ها در کد کوتاه شده شما به عنوان یک بخش اصلی وجود دارد مانند https://Goo.gl/urDirectory)
نتیجه گیری:
در این مقاله به شما نشان دادیم که چگونه به سادگی افزونه ی مختصرسازی آدرس را خودتان برای سایت وردپرسی خود بسازید، اکنون به راحتی به سراغ این افزونه بروید و کدهای QR بسازید، از مزیت های دیگر لینک کوتاه استفاده کنید و لذت ببرید!
سلام
میشه از این سایت ۲yjc.ir هم بگید چجور میشه پلاگن درست کرد ؟
خیر – به خاطر زمانبر بودن امکانش نیست
این سایت api مشخصی داره
۲yjc.ir/developer
میشه یه نگاه کوچیک بکنید که با جایگذاری ساده امکان تبدیل وجود داره یا خیر؟
بررسی کردم – زمانبر هست دوست عزیز
بسیار عالی
فقط اگر بخواهیم از API کاستوم و تابع ارسال به صورت GET باشه باید چه تغییری ایجاد کنم؟
دوست عزیز فکر نمی کنم امکانش باشه
برای اطمینان در سایت developer.google.com سرچ کنید
توی مطلبی که ترجمه کردید (httpss://l7l.ir/pJt) یه بخشی هست که در مورد HTTP وردپرس توضیح داده شده (httpss://l7l.ir/q6L5H)
ممنون میشم اون رو هم ترجمه کنید و به این مطلب لینک بدید
و دوباره بابت وقتی که برتی کاربراتون میزارید تشکر میکنم
لینکتون اشتباهه دوست عزیز
با سلام ممنونم از وب سایت عالیتون
ممنونم
سلام روز بخیر
موفق باشید