campaign-off40

دوره مجازی قالب وردپرس (جلسه 50):Page Template + پیاده سازی پنل کاربری + پروفایل کاربر



visibility  
mode_comment   ۴۵

به نام خدا و سلام. در جلسه 50 ام از دوره مجازی وردپرس در خدمت شما هستیم با پیاده سازی پنل کاربری پیشرفته در وردپرس. در این قسمت قصد داریم پنل کاربری شامل گزینه های مختلف رو طراحی کنیم که بخش پروفایل کاربری رو به طور کامل پیاده سازی می کنیم و بخش های دیگه رو به عنوان تمرین برای شما باقی می ذاریم ^_^. اول از همه با استفاده از page template  بخش پنل کاربری رو پیاده سازی می کنیم و بخش های مختلف رو با استفاده از منوی سفارشی پیاده می کنیم و سپس با فرم طراحی شده موارد خاصی از اطلاعات کاربر رو نشون میدیم و سپس اونو رو ذخیره می کنیم.

 

در این جلسه خواهیم دید :

  • پیاده سازی page template
  • پیاده سازی پنل کاربری
  • نمایش فرم پروفایل کاربر
  • دخیره اطلاعات پروفایل
info توجه

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

ثبت نام در پکیج آموزش طراحی قالب وردپرس

comment دیدگاه کاربران
reza_yki replyپاسخ

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

کیوان علی محمدی

خواهش میکنم دوست عزیز.

زمان الله ابراهیمی replyپاسخ

سلام خسته نباشید استاد
استاد آیا اگه بخواهیم یک سبد خرید به قالب اضافه کنیم خیلی کار داره
آیا با افزونه هم میشه اینکار کرد یا خیر
توی این آموزش این مورد هم است یا خیر

کیوان علی محمدی

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

darin replyپاسخ

استاد من پیوندهای یکتا راروی پیشفرض تنظیم کرده ام، وقتی متغیر tab را با متد get میفرستم چون نام صفحه جاری هم با متغیر get مشخص شده است ، نام صفحه جاری را پاک میکند و متغیر ارسالی را ست میکند و باعث خارج شدن از صفحه میشود.
استاد من یک مشکل دارم وقتی پیوندهای یکتا را روی نام صفحه ست میکنم وردپرس نمیتواند صفحه را پیدا کند و خطا ی not found رخ میدهد، قبلا هم با شما مطرح کردم و لطف کردید راه کارهایی را عرض نمودید ولی متاسفانه مشکلم حل نشد.
الانم با این مشکل نمیتوانم پروفایل را پیاده سازی کنم
تصویری از خطا رخ داده را هم آپلود کرده ام، اگر زحمت نیست یک نگاه بندازید
uupload.ir/files/lx73_2016-01-20_10-20-22.jpg
استاد ممکن است که مشکل از ومپ سرورم باشد؟

کیوان علی محمدی

شما کانفیگ های جلسه اول رو پیاده سازی کردین؟

darin replyپاسخ

استاد پیداش کردم
مشکلم حل شد
باید در فایل کانفیگ وب سرور تغییراتی انجام شود تا لینک ها شناسایی شوند.
کد LoadModule rewrite_module modules/mod_rewrite.so باید علامت # ان برداشته شود و عبارت AllowOverride none به AllowOverride all تبدیل شود.

کیوان علی محمدی

خوشحالم حل شده مشکلتون.

majid zare replyپاسخ

سلام
جناب علی محمدی
اگر مایل باشیم در صفحه پروفایل، رمز عبور کاربر را هم نمایش بدیم و امکان ویرایش آن را فراهم کنیم از نظر امنیت چه نکاتی را باید رعایت کنیم.
ممنون

کیوان علی محمدی

سلام حتما برای فرم مورد نظر از wp nonce استفاده بشه و دسترسی های غیر مجاز رو هم باید بلاک کنید فقط کاربر لاگین شده بتونه اون فرم رو ارسال کنه. در صورت موجود نبودن کاربر جدید wp_die ایجاد بشه چون احتمال زیاد درخواست به صورت csrf ارسال شده و برای آدرس صفحه profile هم بهتره wp nonce در اون قرار بگیره و موقع لود شدن صفحه verify بشه.

majid zare

ممنون
از wp_nonce_field و wp_verify_nonce مطابق با شرح صفحه زیر استفاده کردم.

https://codex.wordpress.org/Function_Reference/wp_nonce_field

به نظر شما کافی هست؟
ممنون

کیوان علی محمدی

سلام در این سطح کافی هستش.

هادی مصلی نژاد replyپاسخ

با سلام
من میخوام هنگامیکه کاربر در سایت لاگین میکنه نام کاربری اون در منوی بالای سایت نمایش داده بشه ،که از آموزش خوب شما در نمایش اطلاعات کاربر در پیشخوان وردپرس استفاده کردم و کدی رو که برای نمایش نام کاربری قرار دادید ( current_user->display_name$) در قسمت منوی سایت خودم قرار دادم و نام کاربری که لاگین کرده نمایش داده میشه ، میخواستم بدونم این کار روش صحیحی است و مشکلی نداره؟ کدی که نوشتم به صورت زیر است :
<?php
global $current_user;
if ( is_user_logged_in() ) {
echo '’.’درود’.$current_user->display_name.”;
}
?>

کیوان علی محمدی

سلام مشکلی نداره.

سهیل محمدی replyپاسخ

سلام استاد
اگه بخایم برای قسمت ارسال مطلب جدید توسط کاربر کار کنیم باید چه کار کنیم ؟،با پلاگین؟ با غیر پلاگین چطور؟
بعضی سایتها مثل همین سون لرن از داشبورد خود وردپرس استفاده میکنند برای کاربرانشون! این مورد در اموزش هست؟ اگر نیست چگونه ؟

کیوان علی محمدی

سلام راستش من پلاگین مناسبی برای این کار ندیدم. ولی خودتون به راحنی می تونید این کارو انجام بدید اولش باید چک کنید کاربر لاگین کرده. بعدشم یه فرم درست کنید و فیلد های مثل عنوان مطلب و محتوای و مطلب و درسته بندی ها رو براش نمایش بدین و بعدشم با توابعی مثل wp_insert_post این مطلب رو در سیستم ثبت کنید. اعتبار سنجی و و بقیه موارد رو هم بلدین دیگه/

سهیل محمدی

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

کیوان علی محمدی

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

سهیل محمدی replyپاسخ

استاد هم این جلسه هم جلسات قبلی سوال پرسیدم هنوز در انتظار بررسی ! استاد کجایین اخه

کیوان علی محمدی

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

سهیل محمدی

شما باید ما رو ببخشید ک همش مزاحم اوقات شما میشیم. با عرض معذرت.ایشالله خدا بهتون عمر با عزت بده

کیوان علی محمدی

خواهش میکنم جناب محمدی. پاسخ گویی به موقع و مناسب به کاربران سون لرن وظیفه ماست .

سهیل محمدی replyپاسخ

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

کیوان علی محمدی

چون تصاویر جزء attachment ها هستند به عنوان یک مطلب در وردپرس ذخیره میش برای اینکه به صورت سفارشی تصویر برای یک مطلب ثبت کنی میتونی از تابع wp_insert_attachment استفاده کنی و بهتره مستنداتش رو کامل بخونی.
https://codex.wordpress.org/Function_Reference/wp_insert_attachment

سهیل محمدی

ممنونم استاد. الان این تابع ک فرمودید رو میشع برای مطالب ارسالی کاربر هم استفاده کرد ؟ یا باید از تابع جداگانه wp insert post استفاده کرد؟

کیوان علی محمدی

برای ثبت اطلاعاتی مثل عنوان و متن مطلب از تابع wp_insert_post استفاده کنید. بعدشم برای ثبت تصویر در مطالب ارسالی کاربر از تابع wp_insert_attachment .

محمد نيك عيش replyپاسخ

سلام استاد اگه امکانشه منوهای والکر هم آموزش بدید که چطوری خودمون به ul وli و زیر منوها کلاس بدیم مثلا همین منوهای بوت استرپ رو چطوری داینامیک کنیم… با تشکر

کیوان علی محمدی

سلام مطلبش داره آماده میشه و بعد از تکمیل میاد روی سایت چون جزئیات زیادی داره.

محمد نيك عيش

با تشکر از زحماتتون

علی replyپاسخ

سلام
در مورد اینکه چطور میشه کاربر مطلب جدید بذاره از همین صفحه
و یا مطالبی که کاربر گذاشته در بخش مطالب من لیست بشه هم یه توضیحی میدادید بد نبود
به طور کلی یه طوری میخوام بشه که بجای ارسال مطلب پیش فرض خود وردپرس، از همین صفحه مطلب ارسال بشه با تمام تنظیمات صفحه ی افزودن مطلب خود وردپرس . مثل انتخاب دسته بندی .. تصویر شاخص .. و تنظیم زمانبندی و …
ممنونم

کیوان علی محمدی

سلام ارسال مطلب در دوره آموزش جدید وردپرس قرار داده شده و کاملا آموزش داده میشه.

hadi ala replyپاسخ

سلام استاد خسته نباشید این سوال خیلی برام مهمه اگر میشه زودتر جواب بدید
من پنل رو پیاده کردم و به خوبی کار میکنه اما من می خوام برای شش کلاس درس پیادش کنم و مطالب مورد نظر برای هر کلاسی جدا باشه برای یک کلاس آمادش کردم و خوبه اما نمیدونم چطور پنل کلاس درس دیگه متفاوت باشه تا دسته بندی دیگری رو براش نمایش بدم
http://cdn.persiangig.com/preview/N8ihbjMv9S/large/myprofile.png

کیوان علی محمدی

دقیق تر توضیح بدین.

hadi ala

یعنی 6 گروه مختلف از کاربران دارم مثل کلاس اول دبستان, دوم دبستان و … . حالا پنل این گروه ها با هم فرق باید داشته باشه. ایا باید پنل های جدایی رو تعریف کنم تا این امکان فراهم بشه. البته صفحه پروفایل بین گروه ها مشترکه طبیعتا

کیوان علی محمدی

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

hadi ala replyپاسخ

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

کیوان علی محمدی

شما باید نقش های کاربری رو ایجاد کنید برای هر دسته و منوی های پنل رو هم طبق همون نقش کاربری تعریف کنید. حالا محتوا هر جی میخواد باشه دیگه طبق منو و محتوای اون باید نشون داده بشه. مثلا دسته بندی های مختلفی ایجاد کردین و هر دسته بندی متعلق به یک نقش کاربری میشه که محتوا های اون دسته بندی فقط برای اون دسته رو باید نمایش بدین.

hadi ala replyپاسخ

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

کیوان علی محمدی

سلام. در این دوره هم آموزش داده میشه. در دوره چگونه می توانم کامل تر و مفصل تر هستش.

hadi ala replyپاسخ

سلام استاد
با راهنمایی شما و جستجو در اینترنت موفق شدم محتوای پنل رو سفارشی کنم به این صورت که هر کاربر بر اساس رول خودش مطالب رو می بینه اما مسئله اینه که مدیر سایت هم زمان نمیتونه همه محتوا ها رو ببینه آیا گر یک فرم با 6 سابمیت مختلف بزارم بهتره؟
به این صورت که
وقتی روی سابمیت یک میزنه محتوای گروه یک رو ببینه
وقتی روی سابمیت دو میزنه محتوای گروه دو رو ببینه
و …

کیوان علی محمدی

بهتره یک تابع درست کنید که چک کنه چه کسی میتونه محتوا رو ببینه. وقتی کاربر جاری مدیر سایت باشه این تابع مقدار true برمیگردونه و میتونه همه موارد رو ببینه.

علی رشیدی replyپاسخ

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

کیوان علی محمدی

منظورتون از محیط کاربری یک جای اختصاصی هست یا همین پنل کاربری خود وردپرس؟

علی رشیدی

سلام مجدد استاد
پنل کاربری استاد
ممنون

علی رشیدی replyپاسخ

ای خداااااااااااااااااااااااااااااااااا
میشه جواب بدید استاد

ارسال نظرات

کاربر گرامی، امکان ارسال نظر و پشتیبانی برای دوره های مجازی فقط برای دانشجویان این دوره امکان پذیر می باشد.