گروه آموزش طراحی سایت 11 تیر 1394 20 2235 بازدید آموزش وردپرس

در ادامه ی مباحث آموزش طراحی قالب وردپرس، نوبت به ساخت یک Template File دیگر در قالب وردپرس مان می رسد. در این فیلم آموزشی بر اساس ساختار و اصول WordPress Hierarchy که در آموزش قبل به آن پرداخته شد، به سراغ ساخت فایلی می رویم که بعد از index.php بیشتری پوشش را در قبال template file های یک قالب وردپرس دارد.

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

  • بررسی نقش archive.php در بین فایل های قالب وردپرس و هم پوشانی ای که در قبال سایر template file های یک قالب وردپرس دارد
  • آموزش ساخت archive.php
  • افزودن توابع شرطی وردپرس، جهت استفاده از Archive.php به جای فایل های category.php, author.php, tag.php, date.php و … در یک قالب وردپرس

زمان این فیلم آموزشی 27 دقیقه و 14 ثانیه است.

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

خرید این فیلم آموزشی به صورت تک (2800 تومان) :
28,000 ریال – خرید
ثبت نام و دسترسی کامل به تمام فیلم ها و محتوای دوره آموزش طراحی قالب وردپرس قبلا ثبت نام کرده ام؛ ورود

دسترسی سریع :

نظرات کاربران (20)




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

    • گروه آموزش طراحی سایت

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

  2. احمد

    شما وقتی گزاره های شرطی رو در فایل archive.php قرار میدادید، فقط شروط مربوط به tag و category و تاریخ هارو چک کردید.

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

    چطور باید کل مقالات رو زیر هم نمایش بدم؟
    فرض کنید از هر مقاله فقط عنوان و تصویر شاخص و خلاصه مطلب رو بخوام نمایش بدم و زیرش دوباره مقاله بعدی به همین ترتیب…
    طبیعات نیاز به صفحه بندی هم خواهد داشت.

    • گروه آموزش طراحی سایت

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

      • احمد

        با عرض پوزش، شاید من سوالمو واضح مطرح نکردم.

        ببینید من اگر بخوام فایل archive.php رو بسازم و توش هیچ شرطی به کار نبرم؛ یعنی اصلا کاری به tag و category نداشته باشم.
        صرفا میخوام توی فایل archive.php کل خلاصه مقالات رو زیر همدیگه داشته باشم.
        در این صورت باید از حلقه اصلی وردپرس استفده کنم یا از کوئری های دلخواه؟
        آیا صفحه بندی هم میتونم داشته باشم؟

        • گروه آموزش طراحی سایت

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

  3. احمد

    سلام.

    فرض کنید توی منوی نویگیشن سایت، ما یه گزینه آرشیو مقالات داریم؛ وقتی فایل archive.php رو ساختیم، چطور باید لینک بدیم به گزینه “آرشیو مقالات ” در منوی سایت؟

    • گروه آموزش طراحی سایت

      با عرض سلام و احترام خدمت شما
      در صفحه ی ساخت منو، از قسمت “پیوندها” یک پیوند دلخواه بسازید با متن دلخواه. سپس آدرس همان صفحه ی مربوط رو هم بعنوان مقدار آدرس لینکی که دارید میسازید، بهش انتساب بدید.

  4. احمد

    در خط 23 از در فایل archive.php متغیر nickname از کجا اومده؟ چون جایی تعریف نشده.

    • گروه آموزش طراحی سایت

      با عرض سلام و احترام خدمت شما
      توجه داشته باشید که در خط 22 از فایل archive.php توابع get_userdata و get_user_by یک شیء (object) را بر میگردانند و آن را به متغیر curauth انتساب میدهند که متغیرهای مختلفی را در درون خودش دارد و nickname یکی از این مقادیر است.
      در صورتی که مایل به دانستن سایر مقادیر متغیرهای نسبت داده شده به curauth هستید، میتوانید در خط 24 قالب وردپرس تان این کد را اضافه کنید و مجدد به صفحات آرشیو نویسنده در وردپرس تان بروید تا نتایج جالبی که به دنبال آن هستید را بگیرید:
      print_r($curauth); // note that this code prints all values of $cuauth object

      • احمد

        خیلی ممنون از راهنمایی تون.

  5. احمد

    سلام.

    1- آیا بهتره که در همه پروژه ها ما با افزودن توابع شرطی وردپرس به فایل archive.php در واقع همه فایل های category.php, author.php, tag.php, date.php رو در دل فایل archive.php جا بدیم؟

    2- اصولا چه مواقعی باید هر کردم از فایل های archive.php , category.php , tag.php, date.php به صورت جداگانه داشته باشیم و چه مواقعی باید همه اینهارو در فایل archive.php خلاصه کنیم؟

    3- امکانش هست که مثلا فایل های tag.php و category.php رو با استفاده از توابع شرطی وردپرس، در دل فایل archive.php جا بدیم اما مثلا فایل date.php رو جداگانه داشته باشیم؟ اصلا همچین نیازی در پروژه ای ممکنه پیش بیاد؟

    • گروه آموزش طراحی سایت

      با عرض سلام و احترام خدمت شما
      با توجه به سه بخشی بودن پرسش شما، پاسخ را میتوانم در یک بند و به شرح ذیل تقدیم تان کنم:
      اصولا هنگامی که در طراحی یک قالب وردپرس، هر کدام از بخش های مختلفی که توسط archive.php قابل پوشش هستند، از جمله date.php, tag.php, category.php نحوه ی نمایش صفحه متفاوت باشد و ویژگی های خاصی داشته باشد، باید برای هر کدام از آنها، فایل مربوطه به صورت جداگانه ساخته شود، منتها در صورتی که تفاوت میان فایل های مذکور، در حد جزئی باشد، مطابق مثالی که ارائه شد، میتوان تمام آن ها را با archive.php پوشش داد.
      اما مثلا پروژه ای را در نظر بگیرید که صفحه ی date.php آن مثلا بگراند ها و چیدمان های خاصی را میخواهد داشته باشد (شبیه این عکس)، به طوری که کاملا نسبت به صفحه ی category.php که مانند یک گالری باید نمایش داده شود (مثل این عکس)، تفاوت دارد؛
      البته در اکثر سفارشات طراحی قالب های وردپرس شرکتی، شخصی و … مانند مثالی که در فیلم آموزشی زده شد، این صفحات شبیه به یکدیگر هستند و کمتر این نیاز هست که فایل های مربوطه به صورت جداگانه ساخته شوند، اما به هر حال باید این نکات در طی دوره آموزش طراحی قالب وردپرس؛ خدمت شما ارائه شوند تا بتوانید سفارشات مختلف طراحی قالب وردپرس را انجام بدهید.

      • احمد

        خیلی ممنون از پاسخ کاملتون.

  6. احمد

    خیلی ممنون از پاسخ ها.

    فقط من پاسخ شماره 3 رو متوجه نشدم. آرشیوهای صفحه بندی شده یعنی چی؟
    منظورتون اینه که آرشیوهارو صفحه بندی کردید؟ در این صورت مگه نباید از افزونه wp-page-navi استفاده کرد؟
    اگر خط شماره 25 رو توضیح بدید ممنون میشم. چون در فیلم هم اشاره ای بهش نشد.

    • گروه آموزش طراحی سایت

      با عرض سلام و احترام خدمت شما
      در مورد خط 25 که در سوال دیگرتان پاسخ کامل ارائه شد. در این مورد هم توجه داشته باشید که صفحه بندی خود وردپرس که توسط افزونه هایی که معرفی شد، انجام میشوند. و اما وقتی که در URL مربوطه paged قرار داشته باشد (بصورت متد GET به صفحه ی مربوطه ارسال شده باشد) شرط مربوطه true تفسیر میشود (تابع is_set در php شرط مربوطه را چک می کند)

      • احمد

        من خیلی متوجه توضیحات شما درباره صفحه بندی در صفحه آرشیو نشدم.

        الان من اگر بخوام صفحه آرشیو رو صفحه بندی بکنم باید از افزونه wp-page-navi استفاده بکنم یا باید کدی که در خط شماره 25 نوشتید استفاده کنم؟

        • گروه آموزش طراحی سایت

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

  7. احمد

    سلام.

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

    1- در مورد آرایه $_GET اگر امکان داره توضیح بدید. از آرایه های خود وردپرس هست؟ چه پارامترهایی در این آرایه ذخیره میشه؟

    2- درمورد توابع get_user_by و get_userdata هم ممنون میشم یه توضیح مختصری بدید که کاربردشون چیه و چه خروجی دارن.

    3- در صفحه archive.php خط شماره 25 رو من درک نکردم که چکار انجام میده.

    4- در فایل archive.php خط 93 تا 102 اضافی نیست؟ چون یه همچین قسمتی باید برای فایل search.php باشه.

    • گروه آموزش طراحی سایت

      با عرض سلام و احترام خدمت شما
      1- خیر، استاندارد خود PHP است.
      2- این توابع اطلاعات کاربر را دریافت می کنند؛ اگر مایل باشید میتونین نام این توابع رو همانند آن چه که چند بار در فیلم های آموزشی خدمت تان توضیح داده شده است، جستجو بفرمایید تا در بخش مستندات رسمی وردپرس با آن ها آشنا شوید.
      3- برای آرشیو های صفحه بندی شده است.
      4- متن پیام رو میشه بهتر انتخاب کرد ولی توجه داشته باشید که این پیام در صورتی که مطلبی پیدا نشود (حالت else برای if(have_posts) هست.