مشاوره رایگان کسب و کار اینترنتی

نمایش مشخصات کاربران در وردپرس

نمایش مشخصات کاربر در وردپرس

چکیده‌ی مطلب

۱۹ آبان ۱۳۹۷ ۲۳۴‍۰ بازدید 4 دقیقه
اگر می‌خواهید نام، تاریخ عضویت، ایمیل و اطلاعات دیگری از کاربر وارد شده به وب سایت را بدون نیاز به افزونه و با چند خط کد ساده به نمایش در بیاورید، این مقاله را تا انتها مطالعه نمایید.

گاهی در وب سایتمان نیاز داریم تا مشخصات کاربری که به سایت وارد شده (لاگین کرده) است را نمایش دهیم. برای مثال لازم است برای کاربر وارد شده، صفحه‌ی پروفایل بسازیم یا نام کاربر را در هدر سایت به نمایش بگذاریم. در گذشته برای نمایش مشخصات کاربر از تابعی به نام ()get_currentuserinfo در وردپرس استفاده می‌شد. این تابع در وردپرس ۴.۵ منسوخ شده و تابع دیگری به نام ()wp_get_current_user جایگزین آن شده است. بنابراین ما نیز از همین تابع استفاده خواهیم کرد.

نمایش اطلاعات کاربر با استفاده از تابع وردپرس

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

حالا برای نمایش مشخصات بعد از لاگین کاربر، تابع ()wp_get_current_user را فراخوانی کنید. این تابع یک شیء از WP_User برمی‌گرداند که می‌توان از آن یک خروجی گرفت تا اطلاعاتی همچون تصویر زیر را دید.

نمایش مشخصات کاربر لاگین کرده در وردپرس

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

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

نمایش اطلاعات کاربری در وردپرس

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

کنترل ورود کاربر در وردپرس

از کاربردهای دیگر این تابع چک کردن ورود کاربر است. برای مثال در قسمتی از هدر می‌خواهیم پیام خوش آمد گویی به کاربر را بعد از ورود (login) نمایش دهیم. برای این کار کافی است از کد زیر استفاده نماییم.

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

مریم جعفرپور مدت عضویت: ۱ سال
فارغ‌التحصیل رشته‌ی مهندسی‌ کامپیوتر، فعال در زمینه‌ی برنامه نویسی تحت وب

نظرات کاربران

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

  2. بابک آفنداک گفت:

    با سلام و عرض ادب
    ممنون بخاطر مطالب خوبتون…
    من حدودا یه ماهه که هاست و دامین خریدم و قالب سایتم آنفولد هستش. تازه کارم ولی می خوام سایت خوبی داشته باشم.
    افزونه عضویت ultimate member رو واسه عضویت نصب کردم.
    من می خوام کاربر موقع ورود به سایت بهش خوش امد گفته بشه.
    و تو هدر بالا (مثل هدر بالای شما که تب جستجو گذاشتید) وقتی کاربر وارد شد عبارت "سلام-نام کاربر-نام خانوادگی کاربر-خوش آمدی!" تو سمت چپ نشون داده بشه.
    این کدی رو که شما گفتین کجای قالب و به چه شکلی قرار بدم تا کار کنه؟

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

    • سلام دوست‌عزیز ورودتون رو به جمع ادمین‌سایت‌ها خوش‌آمد میگم.

      برای مورد اول کافیه کدی که در بخش "کنترل ورود کاربر در وردپرس" نوشته شده رو کپی کنید و به جای خط ۶ آن کد خوش‌امد گویی خودتون رو بنویسید. ( برای کد خوش‌امد گویی از خطوط ۲و۵و۶ کد بخش "نمایش اطلاعات کاربر با استفاده از تابع وردپرس" استفاده کنید )
      این کد باید در فایل header.php قالب قرار داده بشه.

      مورد دوم مقداری به برنامه‌نویسی احتیاج داره. می‌تونید از آموزش قرار داده شده در لینک زیر استفاده کنید.
      https://www.w3schools.com/howto/howto_js_dropdown.asp

      موفق باشید

  3. بابک آفنداک گفت:

    با سلام مجدد
    و تشکر بخاطر راهنمایی خوبتون
    من این کد رو در بخش header.php قرار دادم درست کار کرد و اسم کاربر رو آورد با پیام تبریکش ولی تو یه هدر جداگونه میاره و تو هدر های قالب آنفولد نمیاره

  4. یحیی میرزایی گفت:

    سلام من می خواهم مطلبی خاص برای نقش کاربری خاصی نمایش داده شود
    در تابع بالا میتونم یک شرط دیگه بزارم که اگر کاربر کنونی نقش کاربریش مثلن wholesale_customer بود این مطلب براش نمایش داده شود میخاستم بدانم این تابع به چه صورت است?

    • سلام کافیه ابتدا با تابعی که گفته شده یا با تابع is_user_logged_in در داخل if چک کنید که کاربر وارد شده یا خیر.
      اگر وارد شده بود یعنی داخل بدنه if باید به کمک تابع wp_get_current_user() اطلاعات کاربر فعلی رو دریافت کنید. اگر خروجی این تابع رو در یک متغیر ذخیره کنید مثلا در user$ اونوقت به کمک user->roles$ میتونید نقش کاربر رو دریافت کنید که برای چک کردن نقش خاص فقط نیاز به یک If داره.

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

نشانی ایمیل شما منتشر نخواهد شد.