طراحی و بهینه سازیمشاهده





 

آموزش وردپرس WordPressآموزش وردپرس WordPress سایت

آموزش جی کوئری jQueryآموزش جی کوئری jQuery جاوا اسکریپت

آموزش انگولار جی اس Angular JS آموزش انگولار جی اس 2 AngularJS 

آموزش اچ تی ام ال HTML5 CSS3آموزش HTML5 و CSS3 اچ تی ام ال 5

آموزش پی اچ پی PHPآموزش پی اچ پی PHP پک 1 برنامه نویسی وب

آموزش سئو SEO آموزش سئو سایت و وردپرس SEO گوگل 

آموزش هک قانونی آموزش هک قانونی - نفوذ و امنیت - پک1

آموزش برنامه نویسی اندروید استودیو  آموزش برنامه نویسی اندروید استودیو  

آموزش زامارین Xamarinآموزش زامارین Xamarin برنامه نویسی موبایل

هاست

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

آموزش ها , مقالات,آموزش,ترفند , وردپرس
تغییر مسیر کاربران به صفحات دلخواه بر اساس نقش آنهاReviewed by جواد on Dec 10Rating: 5.0تغییر مسیر کاربران به صفحات دلخواه بر اساس نقش آنهاوردپرس هر روز، بیشتر و بیشتر به عنوان یک چارچوب برنامه وب استفاده می شود. این همه موارد استفاده، شرایط خاصی را به وجود می آورد که وردپرس آنها را پوشش نمی دهد. آیا واقعا دوست دارید که کاربران شما، بخش مدیریت وردپرس را ببینند؟

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

راه اندازی تنظیمات

اجازه دهید این کار را با ساخت یک افزونه شروع کنیم. شما باید این کار را در یک پلاگین انجام دهید زیرا این کار شبیه به این است که، طراحی تم خود را تغییر بدهید و هنوز هم بخواهید که توانایی تغییر قابلیت ها را هم داشته باشید. می دانید که اگر بخواهید هر گونه عملکردی را در طراحی کنونی تم جا دهید، باید آن را در یک پلاگین انجام دهید.
یک پوشه ی پلاگین جدید در فهرست 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 آماده شده است، در اختیار داریم. در صورتی که تعریف شده است، ما در حال اجرا یک تماس AJAX و ما می خواهیم به جست و خیز کد تغییر مسیر.

نتیجه گیری

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


به کانال تلگرام بیست اسکریپت بپیوندید !

دانلود






دستگاه جوجه کشی


مطلب مفیدی بود ؟
نویسنده : admin تاریخ : 1392/09/19 0 آموزش ها , مقالات,آموزش,ترفند , وردپرس

لینک کوتاه مطلب : http://www.20script.ir/?p=2053

کلمات کلیدی پست :
درگاه پرداخت
مطالب مرتبط
2,827انیمیشن های متحرک با موضوع آتش به صورت HTML5 تاریخ : 1395/04/31
30,083افزونه چند زبانه کردن سایت با WPML نسخه 3.1.8.4 تاریخ : 1393/10/25
1,345شخصی سازی فرم ورود وردپرس با افزونه Custom Login تاریخ : 1396/03/28
1,317افزونه وردپرس اسلایدر مطالب VG PostSlider تاریخ : 1396/01/26
4,327مدیریت تبلیغات در وردپرس با WP PRO Advertising System تاریخ : 1394/01/5
2,155افزایش سرعت بارگذاری سایت با افزونه WP Fastest Cache تاریخ : 1395/04/24
2,975اسکریپت فروشگاه ساز ایجکس اینترنتی LivelyCart تاریخ : 1393/12/14
3,130اسکریپت شبکه اجتماعی دوست یابی Chameleon نسخه 2.2.1 تاریخ : 1394/08/20
2,845قالب شرکتی Softone به صورت HTML تاریخ : 1393/07/30
7,108ایجاد سایت موزیک پلیر با اسکریپت فارسی Creative Player تاریخ : 1393/04/26
4,684نصب افزونه‌ های مفید وردپرس با یک افزونه وردپرس تاریخ : 1393/12/1
1,722قالب وبلاگی و چندمنظوره Unite برای وردپرس تاریخ : 1395/01/6
برخی از قالب های وبلاگ - بیست اسکریپت
قالب عشق بین انگشت ها
قالب دخترونه و آرایش
قالب زیبای ماشین
قالب فانتزی و طنز چِشم
قالب دختر رویایی
قالب وبلاگ دکوراسیون
قالب وبلاگ کلبه و درخت
قالب دختر زیبا
قالب پسرونه غمگین
قالب عاشقانه قلب