دوره مجازی قالب وردپرس (جلسه 40):pagination صفحات داخلی و صفحه tag و archive



visibility  
mode_comment   ۴۳

یه نام خد و سلام. در جلسه 40 ام از دوره مجازی در خدمت شما هستیم با پیاده سازی pagination صفحات داخلی و هم چنین پیاده سازی صفحات tags و archive. در ابتدا لینک های tag و category رو در صفحات سینگل نمایش میدیم و سپس این موارد رو برای نمایش کامل اونها پیاده سازی می کنیم. هم چنین نحوه نمایش taxonomy های سفارشی رو هم بررسی می کنیم.

 

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

  • پیاده سازی pagination در صفحات داخلی
  • پیاده سازی صفحه tag
  • پیاده سازی صفحه archive
  • پیاده سازی نمایش دسته بندی های و برچسب ها در صفحات single
info توجه

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

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

comment دیدگاه کاربران
زمان الله ابراهیمی replyپاسخ

سلام خسته نباشید این جلسه هم عالی بود استاد دست شما درد نکنه
فقد است من نتوستم مشکل صفحه مثل سون لرن درست کنم که لینک همه مطالب نمایش داده بشه
وقتی میزنم بره به یک صفحه خاص مثال http://www.7learn.com/page/1
ممنون میشم که توی جلسه های بعدی یک اشاره به قضیه بکنید تشکر 😥

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

سلام بله حتما این مورد هم اشاره می کنیم.

sara salami replyپاسخ

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

وحید صالحی

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

darin replyپاسخ

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

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

سلام در کوئری اصلی دیتابیس مشخص هست که در هر صفحه باید چی نشون داده بشه وقتی در این کوئری مشخص شده باشه که باید مطالب نویسنده نشون داده بشه تمام مطالب اون نویسنده بر اساس شناسه کاربری دریافت میشه و نشون میده.برای سوال دوم هم بهتره از حلقه اصلی استفاده کنید ممکنه شما تمام موارد از جمله صفحه بندی رو پشتیبانی نکرده باشین که وردپرس خودش این مورد رو پیاده کرده.

majid zare replyپاسخ

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

majid zare replyپاسخ

ببخشید منظور من صفحه بندی دسته های اختصاصی بود.
یعنی مطالب یک پست اختصاصی را در دسته خاصی قرار دادیم حال با فراخوانی آن دسته مطالب بر اساس wp_query درخواستی نمایش داده می شوند و در اینجا نیاز به نمایش صفحه بندی داریم.
نکته جالب اینکه کدهای صفحه بندی در آرشیو کار می کنند و مشکلی نیست اما برای دسته ها صفحه 2 به بعد خالی نمایش داده می شود.
ممنون

majid zare replyپاسخ

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

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

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

majid zare replyپاسخ

با سلام
برای نمایش تگها در صفحه tag-slug.php از چه کدی استفاده کنم.
با تابع the_tags هر چه تلاش کردم باز به صفحه tag.php ارجاع داده شد در حالی که صفحه tag-slug.php را هم ساختم.

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

سلام تابع the_tags لیست تگ های اون مطلب رو نشون میده. در حالی که فایلی با نام tag-slug.php برای نمایش لیست مطالبی استفاده میشه که در اونها تگ slug استفاده شده.

majid zare replyپاسخ

بله
منظور بنده این بود که لینک تگها ، مطالب مرتبط را در صفحه tag.php باز می کنند در حالی که اگر مطلب در دسته خاص و در پست اختصاصی خاص باشه این امکان هست که لینک به صفحه tag-slug.php ارجاع داده بشه.
اگر غیر از این هست بفرمایید

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

بله درسته.

majid zare replyپاسخ

به عنوان مثال اگر یک tag متصل به سه مطلب از نوع دانلود هستند با کلیک روی این tag مطالب مرتبط با ساختار تعیین شده در فایل tag-download.php نمایش داده شوند.

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

من حس میکنم سو تفاهم ایجاد شده . فایل tag-download.php فقط وقتی در وردپرس استفاده میشه که کاربر روی نگی با slug download کلیک کنه.این فایل رو با فایل single-download.php نباید اشتباه بگیرید.

majid zare replyپاسخ

این تگ با slug download چطور ایجاد میشه؟
من یک کلمه خاص را به سه مطلب از پست اختصاصی دانلود که در دسته دانلود هم هستند تگ کردم فکر می کردم با کلیک روی این تگ خاص ،این سه مطلب بایستی در صفحه tag-download.php باز شوند.
غیر از این است؟

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

بله درسته و غیر از این هم نیست.

majid zare replyپاسخ

با قرار دادن کد زیر من نتیجه نگرفتم در واقع همه لینک ها به صفحه tag.php ارجاع داده شد.

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

خوب یک بار تابع flush_rewrite_rules رو اجرا کنید.

darin replyپاسخ

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

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

سلام باید به صورت صحیح پارامتر ها در wp_query ست بشه. این مطلب رو بخونید

امین خلیلی

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

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

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

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

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

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

سلام از توابع get_next_post و get_previous_post می تونی استفاده کنی.آرگومان هایی هم برای تعیین دسته بندی و موارد دیگه داره.

فرهنگ replyپاسخ

درود بر شما و با سپاس فراوان بابت دوره های مفید و جامع شما.. بی اغراق دوره ها و مطالبی که در آنها ارایه شده کامل و جامع است. فقط یک انتقاد با پیشنهاد دارم که امیدوارم اساتید محترم بنا بصلاحدید در آموزشهای خود لحاظ گنند. به نظر من ماهیت دوره های مجازی و ضبط شده بصورت ویدیویی، با ماهیت کلاسهای حضوری متفاوت است. مدرسین محترم در این دوره های مجازی هم کم و بیش روند حاکم بر دوره های حضوری را که مبتنی بر تکرار چندباره مطالب هست را در پیش گرفته اند. در حالیکه در دوره ویدیویی یکبار گفتن یک مطلب کافیست، چون امکان تکرار و مشاهده ویدیو به دفعات بینهایت وجود دارد. در دو دوره ای که بنده از این سایت تهیه کرده ام(دوره طراجی وب و دوره طراجی قالب وردپرس)، مدرسین محترم با تسلط عالی تدریس می کنند، ولی متاسفانه مطالب و مباحث رو بارها و بارها تکرار می کنند که همین باعث طولانی شدن جلسات و خستگی دانشجو می شود. اگر دوره های مشابه خارجی را مشاهده فرمایید، جلسات ویدیویی آموزشی بین 5 دقیقه تا حداکثر 20 یا 30 دقیقه است، که دانشجو با مشاهده چندباره ویدیو، مطلب را بطور کامل درک می کند و خستگی هم ایجاد نمی شود. با توجه به زحمتی که در تهیه این آموزشها می کشید، خواستم پیشنهاد خود را برای بهتر کردن کیفیت کار خدمتتان عرض کنم.. با تشکر از شما

لقمان آوند

سلام
حتما مد نظر قرار میدیم و سعی می کنیم نقص ها رو کمتر کنیم.
زمان ویدیوها رو قرار هست بین 20 دقیقه تا حداکثر 1 ساعت بزاریم. چون حجم دوره زیاده نمی شه جلسات رو خیلی ریز کرد.

majid zare replyپاسخ

سلام جناب علی محمدی بزرگوار
برای سئو نیاز هست که لینک های سایت (تگ a)اتریبیوت تایتل داشته باشند آیا امکان ایجاد این خاصیت برای لینک های صفحه بندی در pagination وجود داره. اگر لطف بفرمایید راهنمایی کنید.
با تشکر از لطف شما

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

سلام اگه باشه بد نیست ولی برای بخش pagination فکر نمی کنم الزامی داشته باشه.

majid zare

الزام که نه ولی سوال شده مثلا همین لینک های صفحه بندی نظرات 7learn تایتل دارند اگر امکان داشت نحوه این کار را بفرمایید ممنون میشم خیلی جستجو کردم ولی به نتیجه نرسیدم. همیشه از همه جا که نا امید میشیم به شما رجوع می کنیم. تشکر

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

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

majid zare replyپاسخ

نه متاسفانه از همون pagination_links آموزش شما استفاده کردم

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

با این تابع نمی تونید کاری کنید.مگر اینکه از regex استفاده کنید که کمی دردسر داره.

حسن عباسپور replyپاسخ

سلام استاد عزیز
من از طریقی که آموزش دادید در صفحه category، tag و صفحه search ، به راحتی و بدون مشکل صفحه بندی رو انجام دادم. اما قصد دارم در صفحه اصلی سایت index.php برای پست تایپ post، تمام نوشته های سایت صفحه بندی بشه. در خیلی از سایت ها این رو دیدم. اما با اینکه کوئری گرفته شده از پست ها رو درست به کار بردم اما صفحه بندی به نوشته ها اعمال نمیشه.

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

از چه تابعی استفاده کردید؟

حسن عباسپور replyپاسخ

مشکل حل شد. پارامترهای کوئری ناقص بود. خیلی ممنون

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

موفق باشید.

majazi replyپاسخ

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

majazi

با عرض سلام، مشکل من حل شد، خودم کشف کردم.

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

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

majazi

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

majazi

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

ارسال نظرات

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