دوره مجازی قالب وردپرس (جلسه 29): ajax در وردپرس - بارگذاری مطالب بیشتر وردپرس

- visibility ۵۵ mode_comment

به نام خدا و سلام. در جلسه 29 ام دوره مجازی قالب وردپرس در حدمت شما هستیم. در این جلسه قصد داریم مطالب بیشتر رو با ajax بارگذاری کنیم و در محل مربوطه نمایش بدیم.خوب اول از همه کدهای جی کوئری رو می نویسیم و درخواست رو ارسال می کنیم در سمت سرور داده ها رو چک می کنیم و با استفاده از حلقه WP_Query داده ها رو دریافت می کنیم و بر اساس html مورد نظر برای مطلب محتوای مورد نظر رو ایجاد می کنیم و به صورت json به سمت کاربر برمیگردونیم و نشون میدیم.

wpt-ajax-load-more

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

  • ایجاد کدهای جی کوئری برای ارسال درخواست ajax
  • بررسی داده ها در سمت سرور و ایجاد آرگومان های WP_Query
  • دریافت داده ها و نمایش آنها در حلقه (اضافه کردن به متغییر output_html)
  • نمایش داده های برگشی از سمت سرور در سمت کلاینت
info توجه

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

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

comment دیدگاه کاربران
محمد

سلام و خسته نباشید خدمت آقای علی محمدی
من در قسمت لود مطالب بیشتر طبق مراحل شما پیش رفتم درخواست ها رو دریافت می کنم اما تو صفحه چیزی نمایش داده نمیشه ولی توی حلقه صفحه ajax.php کد های شما رو قرار می دم و نمایش داده میشه
پس صد در صد مشکل کدهای html هست که توی متغییر $output_html ریخته شده
چون اینجا نمی تونم کد های ترکیبی php و html رو قرار بدم کدها رو براتون ایمیل کردم

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

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

مختار اسمعیلی

سلام و خسته نباشی من برای قسمت مطالب تعداد نظرات اون مطلب رو هم گذاشتم. ولی وقتی داخل فایل ajax.php این کد رو قرار میدم مطالب بیشتر لود نمیشه. ممنون میشم راهنمایی کنید

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

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

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

لقمان آوند

مشکلی نداره
با گوشی یا تبلت دانلود نکنید. حتما از pc استفاده شه و مستقیما رو لینک دانلود کلیک شه …

محمد نيك عيش

سلام آقای کیوانی ببخشید شما تو این قسمت انگار حفظی رفتید جلو اصلا توضیح ندادید ونگفتید این اچ تی ام اوت پوت یا تگ های پی اچ پی رو بر میداشتید و count برای چیه من که نفهمیدم قاطی میکنه آآدم … منبع دارید مطالعه کنم با تشکر

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

سلام بنده علی محمدی هستم و اسم کوچیکم کیوان هست دوست عزیز. اون متغییر html_output برای ذخیره سازی تمام محتوایی هستش که میخوایم بوسیله ajax به سمت کاربر برگردونیم.متغییر count هم برای اینه که بدونیم چند تا مطلب باید برگردنیم.

mohamad mohamadi

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

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

سلام. شما کافیه تعداد مطالب مورد نظر رو در سمت سرور به مقدار دلخواه تغییر بدین. در تنظیمات WP_Query

mohamad mohamadi

بعد چجوری کاری کنم برای مطالب بعدی برن پیج بعد

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

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

mohamad mohamadi

میخوام صفحه بندی کنم

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

الان دقیقا مشکلتون با صفحه بندی چیه؟

mohamad mohamadi

mikham safe bandi konam

mohamad mohamadi

میخوام صفه بندی کنم لطفا جواب بدید الان هر سایتی صفحه بندی میکنه

Mehdi Soli

سلام خدمت استاد گرامی، جناب آقای علی محمدی عزیز، من هم می خواستم کاری مشابه کاری که دوستمون در بالا درخواست کرده بود رو انجام بدم، فکر کنم منظور ایشون این هست که وقتی دکمه مطالب بیشتر زده میشه و مثلا 9 تا پست از قبل بوده، 9 تا پست جدید جای اونها لود بشن و قبلی ها نشون داده نشن (که مثلا یه حالتی مثل صفحه صفحه رد شدن پست ها میشه) . من برای این کار از کد زیر در فایل main.js و در بخش جواب ajax استفاده کردم. گفتم اینجا قرار بدم شاید بدرد دوستان بخوره:

بازهم ممنون به خاطر آموزشها ی بسیار خوب شما

Mehdi Soli

فقط یه سوال کوچیک داشتم استاد، چرا بازهم با اینکه data-page رو عوض می کنیم در سورس صفحه عوض نمیشه (البته در هنگام فرستادن درخواست و در بخش هدر کاملا می بینیم که عدد page عوض میشه) یعنی تا آخر همون 2 باقی می مونه؟ و اینکه چیکار کنیم که اگه پست دیگری وجود نداشت این دکمه مطالب بیشتر غیر فعال بشه. بسیار از لطف شما سپاسگزارم

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

سلام. چون تغییرات به صورت DOM Manipulation هستش در سورس صفحه قابل مشاهده نیست. تعداد مطالب برگشتی رو چک کنید و اگه صفر بود خاصیت disabled برای دکمه رو فعال کنید.

Mehdi Soli

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

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
1 2