دوره مجازی قالب وردپرس (جلسه 39):پیاده سازی صفحه category و متاباکس نمایش سایدبار در برگه ها

دسته بندی: وردپرس
زمان مطالعه: 1 دقیقه
۱۹ آذر ۱۳۹۴

به نام خدا و سلام.در جلسه 39 ام از دوره مجازی طراحی قالب حرفه ای وردپرس در خدمت شما هستیم با پیاده سازی صفحه category برای نمایش مطالبی که در یک دسته بندی قرار دارند.برای این کار یک فایل loop ایجاد و در تمام صفحات آرشیو شامل category,tag,archive ,... استفاده خواهیم کرد. در ادامه هم متاباکس مورد نیاز برای نمایش ساید بار در صفحه page رو پیاده سازی خواهیم کرد و نکاتی رو برای زیباسازی اون خدمت شما عرض می کنیم.

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

  • پیاده سازی متاباکس نمایش سایدبار در صفحه page
  • ایجاد فایل loop
  • پیاده سازی صفحه category
:: توجه

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

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

چه امتیازی به این مقاله می دید؟
نویسنده
یادگیرنده ی همیشگی،برنامه نویس،نویسنده،عاشق خلق چیزهای عجیب،عاشق تحلیل داده ها، مسئول بخش فنی و هم بنیان گذار در سون لرن.

جلسات دوره

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

ttttttttt

سلام خسته نباشید کد مشابه شما نوشتم و درست هم کار میکنه اما وقتی میزنم روی دکمه انتشار یا بروز رساین مینویسه برز رسانی ناموفق یا انتشار باشه انتشار ناموفق بعد از چند ثانیه هم مینویسه ذخیره سازی پست انتشار هم داده میشه اما دلیل این انتشار و بروز رسانی ناموفق درچ هست و اینکه بعد از این کد این ایراد اومد

saman masoomi

سلام
دوست عزیز من یه custom post tyle و یک taxonomy از نوع دسته بندی ساختم. حالا میخوام مطالب هر دسته توی این taxonomy رو به صورت جداگانه نمایش بدم.
چیکار باید بکنم ؟؟ هرکاریییی که میشد کردم ولی نشون نمیده.
ممنون میشم اگر سریع جواب بدین.
مرسی از آموزش های عالی و کاملتون

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

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

saman masoomi

کسی نیست جواب بده ؟؟

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

جواب ارسال شد.

Mehdi Soli

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

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

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

وحید نوبخت

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

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

سلام. واضح تر توضیح بدین.

Hoom@n

سلام به دکتر آوند عزیز
دکتر جان ظاهراً این شورت کدی که برای نوشتن کد در کامنت ها در نظر گرفته شده درست کار نمیکنه. من میخواستم یه کد تو کامنت بگذارم و وقتی از این گزینه استفاده کردم یه کادر تک خطی باریک و خالی به جای کد من نمایش داده شد. البته چند بار هم دیده بودم که دوستان دیگه همین مشکل رو داشتند. صرفاً جهت اطلاع گفتم که اگه ممکن باشه مشکلش رفع شه.

لقمان آوند

لطفا بگید کجا چنین مشکلی دیدید. آدرس بدید که بررسی کنیم

Hoom@n

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

لقمان آوند

ندیدم من!
لطف می کنید دقیقا آدرس صفحه مربوطه رو بدید؟

Hoom@n

سلام مجدد و تشکر از پاسختون. من هم همین رو میخواستم بدونم که ممکن هست این تابع خارج از حلقه هم جواب بده یا نه که البته در عمل دیده بودم داره کار میکنه، ولی چون شما استاد ما هستید خواستم با تایید شما مطمئن بشم.
این رو هم متوجه هستم که خود وردپرس حلقه ای رو که در صفحات page.php و single.php استفاده بشه براشون فقط یک مطلب که مربوط به اون صفحه یا اون پست هست رو لود میکنه و به همین دلیل اگه سایدبار هم داخل حلقه فراخوانی بشه مشکلی پیش نمیاد (البته باز هم این کار غیر اصولی به نظر میاد که ما در این صفحات سایدبار رو داخل حلقه فراخوانی کنیم و ممکنه به یک عادت اشتباه و بد تبدیل بشه).
اما شک من از این بود که میدیدم هم در قالب شما و هم در قالب من، سایدبار خارج از حلقه فراخوانی شده، اما شما تو فیلم فرمودین به دلیل این که تابع داخل حلقه هست ;()get_the_ID داره آی دی رو بر میگردونه و همین موضوع باعث شد یه لحظه دچار شک بشم که نکنه حلقه دیگری هم وجود داره و یا مفهوم حلقه چیزی به جز اونی هست که من متوجه شدم. 😀
به هر حال ممنون از پاسختون و زحماتی که برای آموزش ما میکشین. استاد من هر قسمت از آموزشتون رو دهها بار دیدم و باز هم میبینم و هر دفعه که میبینم یه سری نکات جدید یاد میگیرم. الان هم یکی از آرزوهای بزرگم اینه که شما شخصاً آموزشهای مراحل پیشرفته تر طراحی قالب و کلیه نکات فوق پیشرفته وردپرس و همچنین آموزشهای مربوط به طراحی قالب و افزونه های ووکامرسی رو هم بگذارید که با کمک این آموزشها ما در عمل تمامی نکات مربوط به وردپرس رو بفهمیم.
استاد عزیز، ممنون از آموزشهای خوبتون و ممنون از اینکه با نشان دادن همه اتفاقات و اشتباهاتی که ممکنه موقع طراحی قالب پیش بیاد و همچنین با نشون دادن راه حل های مختلف برای هر کدام از مسائل و آموزش روش صحیح مطالعه و جستجو، ما رو در راه حرفه ای شدن کمک میکنید.

سلامت، سربلند و پیروز باشید.

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

ممنونم از شما و موفق باشید.

Hamid reza Emamverdi

سلام
من کارشناس شبکه هستم و برنامه نویس نیستم اما تفریحی با آموزش های شما جلو رفته ام تا حالا هم سوال نپرسیدم اما الان یه سوال دارم که ممنون می شم پاسخ بدید
با آموزش ورد پرس شما قدم به قدم جلو رفتم اما حالا اسلایدر من که 3 تا عکس تاره وقتی داره کار می کنه یه عکس خالی چهارمی می یاد که باعث می شه صفحه یه پرش داشته باشه خودم قادر به حل این مسئله نیستم ممنون می شم بگید چطوری درستش کنم هر نوع دسترسی هم اگر بخواهید می دم خدمتتون مثل دسترسی به پنل سایت
آدرس سایت tehran-net.com
در ضمن من تا جلسه 39 با شما پیش رفتم
ممنون و سپاس فراوان

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

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

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

لزوما حلقه ودرپرس باری مطالب با تعداد بالا نیست و ممکنه فقط یک مطلب داشته باشه مثل صفحات single.php و page.php و … اگه اینجا سایدبار رو داخل حلقه هم بذاریم فرقی نمیکنه چون فقط یک مطلب وجود داره. در مورد حلقه هم باید بگم برداشت شما درسته و همون کد if(have_posts) و … هستش . اینکه get_the_ID خارج از حلقه کار کرده رو دلیل رو دقیقا نمیتونم بگم فقط اینکه تابع get_the_ID وابسته به تابع get_post هستش و این تابع هم global $post رو استفاده میکنه و با این احتساب ناممکن نیست که نتونه ID مطالب رو خارج از حلقه برگردونه ولی ما بهتره طبق مستندات خود وردپرس عمل کنیم تا از صحت اجرای کد مطمئن باشیم.

Hoom@n

سلام مجدد به استاد عزیزم
من کاملاً متوجه هستم که طبق مستندات وردپرس این تابع باید داخل حلقه استفاده بشه و برای همین هم این سوال رو پرسیدم. حتی خود شما وقتی کد کار نکرد به مستندات وردپرس مراجعه کردین و نشون دادین که نوشته این تابع باید داخل حلقه استفاده بشه. اما من امکان نمایش یا عدم نمایش ساید بار رو طبق اون چیزی که آموزش دادین انجام دادم و چون مرحله به مرحله کار کد نویسی رو پیش میبردم ابتدا طبق کدهای اولیه شما که با ;()get_the_ID کد رو نوشته بودین انجام دادم و همه چیز کار کرد، اما مال شما کار نکرد و آی دی رو بر نگردوند. بعد تو آموزش دیدم که شما فرمودین اون قسمت که شرط فراخوانی ساید بار رو نوشتیم داخل حلقه هست و مشکلی نداره اما اون قسمت اول که مربوط به شرط کلاس دهی مناسب به main-content بود گفتین چون خارج از حلقه هست کار نمیکنه و اصلاحش هم کردین و درست شد.
اون موقع من کدهام رو چک کردم و دیدم هم قسمت main-content مثل کدهای شما خارج از حلقه هست و هم اینکه سایدبار خارج از حلقه فراخوانی شده و مشکلی هم وجود نداره.
الان که گفتین ظاهراً طبق مستندات چنین اتفاقی نباید ممکن باشه رفتم دوباره کدهام رو چک کردم و فیلم رو هم یک بار دیدم و متوجه نکته جدیدی شدم. main-content من که مثل مال شما خارج از حلقه هست، اما در مورد فراخوانی سایدبار خواستم بدونم آیا من اشتباه معنی حلقه رو فهمیدم و دارم اشتباه میکنم ؟
در فیلم آموزشی شما فرمودین که شرط فراخوانی سایدبار با توجه به اینکه داخل حلقه هست با ;()get_the_ID کار میکنه و حتی در دقیقه 28 فیلم با Select کردن و هایلایت کردن ;endif و کل حلقه این موضوع رو نشون دادین. اما الان که فیلم رو دیدم متوجه شدم که در کد شما هم شرط فراخوانی سایدبار خارج از حلقه هست چرا که در فیلم این کد در خط 38 نوشته شده و اون ;endif که شما به عنوان پایان حلقه ازش یاد کردین ;endif همین شرط فراخوانی سایدبار بود که در خط 81 کد شماست و ;endif پایان حلقه در خط 37 حلقه رو بسته بود.
آیا من اشتباه میکنم؟
استاد عزیزم ببخشید که با این سوالات وقت شما رو میگیرم، اما چون در مستندات وردپرس هم نشون دادین که گقته این تابع فقط داخل حلقه باید استفاده بشه این سوال برام پیش اومد که پس چطوری داره خارج حلقه کار میکنه؟ خواستم مطمئن بشم که آیا معنی حلقه رو درست فهمیدم یا نه؟
اگه در اینجا منظور از حلقه همین کد if(have_posts) … هست، پس در کد من هر دو قسمت مورد نظر که از ;()get_the_ID استفاده کردیم خارج حلقه هست و در کدهای شما هم فراخوانی ساید بار که با ;()get_the_ID انجام شده خارج از حلقه هست. از نظر اصولی هم شرط فراخوانی سایدبار نمیتونه داخل حلقه باشه چون سایدبار که یه مطلب تکرار شونده نیست که داخل حلقه قرارش بدیم. ممنون میشم که اگه دارم اشتباه میکنم راهنمایی بفرمائید که این موضوع رو درست بفهمم. 😉

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

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

پایان زمان پشتیبانی

دانشجوی گرامی، بازه پشتیبانی فعال برای این دوره ۳ ماه است که برای شما به پایان رسیده است.

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

نیاز به لاگین

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