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

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

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

چنین مواردی را در جستجوی تصاویر گوگل مشاهده کرده‌اید. در جستجوی تصاویر گوگل هر بار که به انتهای صفحه می‌رسید مجدداً تصاویر جدیدی بارگذاری می‌شوند طوری که انگار صفحه پایانی ندارد!
تمام این موارد بدون رفرش صفحه انجام می‌گیرد که به فناوری آجاکس ارتباط دارد!

برای انجام این کار مراحل زیر را دنبال کنید:

نحوه‌ی نمایش مطالب بیشتر با Ajax (لود بی نهایت)

مرحله‌ی اول) اضافه کردن فایل جی‌کوئری به وردپرس

برای شروع کار در قالب خود یک فایل به نام myloadmore.js بسازید. در این فایل فعلاً کدی قرار نمی‌دهیم. فقط در این مرحله می‌خواهیم به کمک یک تابع وردپرسی فایل myloadmore.js را به قالب خود اضافه کنیم.

بنابراین وارد فایل functions.php قالب سایت خود شوید و کد زیر را در آنجا paste‌ کنید:

این قطعه کد کوچک به ما اجازه می‌دهد پارامترهای مورد نیاز فایل جی‌کوئری را تنظیم و ارسال کنیم. توجه کنید که اگر فایل myloadmore.js را داخل فولدر یا مسیر دیگری ایجاد کرده‌اید این آدرس را در wp_register_script قرار دهید.

 

مرحله دوم) ایجاد فایل myloadmore.js برای ایجاد ajax در اسکرول

در فایل جی‌کوئری که در مرحله‌ی قبل ساخته بودید، کدهای زیر را قرار دهید:

این کد مشخص می‌کند زمانی که اسکرول به ۱۰۰۰ پیکسلی انتهای صفحه رسید درخواست آجاکس ارسال شود. می‌توانید این اندازه را باتوجه به نیاز خود تغییر دهید.

در خط ۲۲ این قطعه کد، آیدی تگی را وارد کنید که قرار است پست‌های جدید به آن اضافه شوند. مثلاً اگر در صفحه‌ی آرشیو خود می‌خواهید پست‌ها به داخل تگ ul اضافه گردنند برای ul یک آیدی در نظر بگیرید و آن را به جای main# بنویسید. به جای کلمه‌ی article هم تگ نگهدارنده‌ی هر پست را وارد کنید. مثل li

مرحله سوم) ایجاد handler برای آجاکس

در این مرحله باید کد آجاکس مخصوص به وردپرس را بنویسیم. کافیست تابع زیر را در فایل functions.php قالب خود قرار دهید:

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

دو اکشن وجود در این قطعه کد مشخص می‌کنند که نمایش مطالب بیشتر با Ajax  برای چه کاربرانی باشد! در واقع کاربران لاگین کرده و وارد نشده را می‌توان به کمک این actionها جدا کرد!

حالا بعد از ذخیره سازی فایل‌های بالا صفحه‌ی موردنظر خود را رفرش کنید و پست‌های مدنظر را با ajax به صورت لود بی نهایت دریافت کنید!