افزونه محدود کردن مطالب برای کاربران عضو

همانطور که در افزونه های مختلف دیده اید بعضی از افزونه ها برای نمایش خروجی و یا انجام دادن یک کار یک کد کوتاه یا همان شورتکد را در اختیار شما قرار می دهند به عنوان مثال افزونه table press که پس از ایجاد کردن جداول دلخواه به شما یک شورتکد می دهد و شما می توانید با استفاده از آن در هر صفحه یا نوشته جداول خود را نمایش دهید.

یا افزونه های فرم سازی همچون گرویتی فرم، اسمارت اسلایدر پس از اینکه شما یک فرم یا یک اسلایدر طراحی می کنید یه شورتکد می دهند که در هر بخشی بخواهید می توانید آن را قرار دهید.

شورتکد در وردپرس چیست و چطور می توان از آن استفاده کرد؟

شورتکدها در وردپرس همانطور که از نام آنها مشخص است یک کد بلند را کوتاه می کنند و در قالب یک دستورالعمل در اختیار شما قرار می دهند تا خروجی آن را مشاهده کنید.

در این آموزش قصد داریم با استفاده از شورتکدها افزونه ای را طراحی کنیم که وضعیت لاگین کاربر را بررسی کند و اگر کاربر لاگین نکرده باشد بخشی از محتوایی را که مختص کاربران عضو می باشد را مخفی و یک پیغام به کاربر نمایش دهیم.

خب! برای شروع کافیه یک دایرکتوری برای افزونه در دایرکتوری plugins ایجاد کنیم. من نام دایرکتوری را vip-users انتخاب  و یک فایل php به همین نام هم در دایرکتوری ایجاد می‌کنم. ساختار و شناسنامه پلاگینم رو ایجاد می‌کنم و شروع می‌کنیم به کد نویسی.

مثل همیشه ابتدا کدهای زیر رو در ابتدای فایل می‌نویسیم.

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

حالا باید چک کنیم که کاربر لاگین کرده است یا نه!. برای چک کردن وضعیت لاگین کاربر از کد زیر استفاده می‌کنیم.

function check_vip_users(){
    if (!(is_user_logged_in())){
        echo '< h3>شما باید در سایت عضو باشید.</ h3>'; 
}
 }

توضیح کد:

برای بررسی اینکه کاربر لاگین کرده است یا نه از تابع is_user_login استفاده می‌کنیم و برای مشخص شدن وارد نشدن در سایت از عملگر ! استفاده کردیم درون {}می توانید دستوراتی که میخواهید در صورت لاگین نبودن کاربر انجام شود را می توانید بنویسید.

استفاده از add_shortcode برای انجام دستورات

حالا باید بتوانیم کد را اجرا کنیم. همانطور که می بینید این کد تا زمانی که فراخوانی نشود عملا کاری را انجام نمی دهد. پیش از این کار با add_action و do_action را یاد گرفتید و متوجه شدید که چطور باید از آنها برای انجام یک تک کد استفاده کنید.

برای شرایط فعلی این دو دستور کاربردی ندارد. ما میخواهیم بخشی از مطلبی که منتشر کردیم توسط کاربران غیر عضو دیده نشود. برای اینکار بهتر است از دستور add_shortcode یک شورتکد تعریف و هر جا به آن نیاز بود شورتکد را فراخوانی کنیم.

کافی است بعد از این تابع دستور add_shortcode را به شکل زیر فراخوانی کنیم.

add_shortcode('vip-user','check_vip_users');
توجه: اگر با نحوه استفاده از add_shortcode آشنا نیستید بهتره پست مربوط به add_shortcode را مطالعه نمایید.

با استفاده از دستور add_shortcode فوق ما یک شورتکد به نام vip-user به وردپرس معرفی کردیم که بعد از فعال کردن افزونه به آن دسترسی داریم. حالا کافی است در نوشته یا برگه ای که می خواهید کاربران غیر عضو نتوانند مطالبی را ببینید کافی است از شورتکد را به شکل زیر فراخوانی کنید.

[vip-user]
محتوایی که نمیخواهید کاربران غیر عضو ببینند
[vip-user/]

کار تمام است! شما به سادگی تونستید یک افزونه برای مشاهده مطالب vip طراحی کنید.

اگر سوالی داشتید می‌تونید در بخش نظرات سوالات خودتون رو مطرح کنید.

برای اینکه مطالب این پست رو کامل درک کنید حتما پستهای زیر رو بخونید.

دیدگاهتان را بنویسید