سلام

امروز میخوایم با هم یه صفحه در وردپرس بسازیم که نام کاربران رو لیست کنه و همچنین صفحه بندی هم داشته باشه.  استفاده از برچسب پوسته بهمراه یک کوئری از اطلاعات و نمایش این اطلاعات در صفحه عمومی سایت میتونه راه خیلی خوبی باشه. بعنوان مثال ما برای نشون دادن اسم نویسنده از the_author() و برای نشون دادن نام پست از the_title() استفاده می کنیم.

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

ایجاد صفحه سفارشی برای پوسته

اول از همه تو پوشه پوسته فعالتون یه فایل PHP بسازین. تو این مثال من پوسته TwentyTwelve رو میخوام دستکاری کنم. پس کدهای زیر رو به فایلم اضافه میکنم که باعث میشه یه صفحه به صفحات سفارشی وردپرس اضافه بشه.

حالا برین قسمت برگه ها و یه برگه جدید ایجاد کنین و حالا قسمت صفحات برگه بخش قالب میتونین گزینه خودتون یعنی “صفجه کاربران” رو ببینین.

user-page

یادتون باشه از اسامی پیشفرض برای قالب استفاده نکین. مثلا نباید اسم فایلتون  author.php باشه. من که اسم فایل رو گذاشتم user-page.php

گرفتن کوئری

خب حالا برا کوئری گرفتن اول یه فرمول بنویسیم. اول از همه لازمه که تعداد کاربران در هر صفحه رو مشخص کنیم. ما این رو با متغیر $number مشخص میکنیم. هر وقت هم خواستیم این مقدار ور تغییر بدین براحتی این مارو بکنین.

حالا کد زیر رو برای شماره صفحه فعلی بنویسید.

بعدش با استفاده از کد زیر تعداد کاربرایی که باید اصلاحا offset بشن رو در بیاریم.

حالا تعدا کل کاربرا رو لازم داریم:

بعدش تعداد کاربرایی که باید در بیاریم و همچنین offset رو مشخص میکنیم:

تعداد کل صفحات رو با کد زیر مشخص میکنیم:

نمایش کاربران

حالا که فمولمون رو برا گرفتن کاربرا تکمیل کردیم نوبتش رسیده که کاربرا رو رو صفحه نمایش بدیم. تو این مثال فقط یه سری اطلاعات کاربرا رو نشون میدیم مثل: آواتار، نام کامل و همچنین یه بیوگرافی کوتاه.

ایجاد صفحه بندی

مطمئنا ما نمیخوایم هزار تا کاربر تو یه صفحه لیست بکنیم. پس باید برا خودمون لینک صفحه بندی ایجاد بکینم. برای این صفحه بندی هم از تابع paginate_links() استفاده می کنیم.

 

تمام کد های یکجا

اینم تمام کدها یکجا تقدیم شما:

یه استایل خوب هم خودتون بدین چون فعلا از نظر استایل کدمون درب و داغونه!

منابع:


 
ما مایلیم مطالب جدید را در کانال تلگرام به شما اطلاع دهیم.