تـم لایـن | بهترین مرجع قالب و افزونه وردپرس


تغییر مسیر کاربران بر اساس نقش آن ها به صفحه دلخواه

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

آموزش راه اندازی تنظیمات تغییر مسیر کاربر بر اساس وظیفه آن ها به صفحه سفارشی

با ساختن یک افزونه این کار را شروع می کنیم. در یک پلاگین شما می بایست این کار را انجام دهید. چون این کار شبیه این می باشد که طراحی قالب تان را تغییر دهید و باز هم خواهان تغییر قابلیت در آن باشید. این را می دانید که در طراحی کنونی تم هر گونه عملکردی را جای دهید، آن را باید در یک پلاگین انجام دهید.
در فهرست wp-content / plugins خود، یک پوشه ی پلاگین جدید به نام “cm-redirect-by-role” ایجاد کنید و فایلی به نام cm-redirect-by-role.php به آن اضافه کنید. ما قصد داریم که سربرگ افزونه وردپرس اولیه را به همان فایل اضافه کنیم.

بعد از ساخت پلاگین، نگاهی به چگونگی کار ورود کاربر می اندازیم.

جریان ورود کاربر

به طور پیش فرض، از طریق http://yoursite.com/wp-login.php نقطه ای است که یک کاربر می تواند وارد سایت وردپرس تان بشود.

جریان ورود کاربر

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

با هدف گرفتن هدف فعلی کاربرمان ما این فرایند را با wp_get_current_user () شروع می نماییم. با این کار، نام نقش خود را می گیریم و به متغیر ROLE_NAME $ آن را اختصاص خواهیم داد. بعد بررسی می کنیم که آیا ROLE_NAME $ با نقشی که خواهان تغییر مسیرش هستیم مطابقت می کند و یا خیر ؟ اگر این چنین باشد، از wp_redirect برای فرستادن کاربر به جایی که خود انتخابش کرده ایم، استفاده می کنیم.
در حالی که این کار در حال انجام است، هنوز قطعه ی دیگری وجود دارد که باید آن را اضافه نماییم.

Ajax کردن

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

در حال حاضر، تابع تغییر مسیر خود را که برای بررسی برای DOING_AJAX آماده شده است ، در اختیار داریم.

سخن پایانی

تمام کاری که می بایست انجام بدهیم همین بود. هم اکنون می توانیم بر اساس نقش کاربران مسیرشان را به محل های سفارشی در نظر گرفته شده تغییر دهیم. همچنین می توانیم مسیر کاربرها با نقش های متفاوت را به صفحه های گوناگون تغییر دهیم.

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

آموزش حرفه ای وردپرس آموزش وردپرس کد وردپرس

دیدگاه خود را بیان کنید

3 + 5 =