آموزش طراحی قالب وردپرس #۵(حلقه)

سلام

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

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

wamp،مرورگر وب و فولدر آموزش ما مثل همیشه باز هستن تا درس شماره 5 رو شروع کنیم!

نفس عمیق!

در درس قبلی ساخت هدر رو تموم کردیم و حالا میخواهیم بریم پایین!

یک تگ نامرئی(div) زیر هدر میسازیم و id اون رو content می نهیم!!! که معنای محتوا رو میده!

در مجموع جلسه قبل و امروز داریم:

<body>
<div id=”header”>
<h1><a href=”<?PHP bloginfo(‘url’);?>”><?PHP bloginfo(‘name’);?></a></h1>
<h2><?PHP bloginfo(‘description’);?></h2>
</div>

<div id=”content”>

</div>
</body>

همه چیز فکر میکنم واضح بوده و هست فقط یه نکته در مورد کد نویسی و اون اینکه این فاصله هایی که من میدم و شما هم انشاالله میدهید برای چک کردن و دوباره خواندن کد در آینده به ما کمک زیادی میکنه تا گیج نشیم! توجه داشته باشین که به جای استفاده از کلید space برای فاصبه های زیاد مثل خط دوم و سوم این کد از کلید tab استفاده کنید!

خوب حالا در content کد زیر را بنویسید.

<?PHP if (have_posts() ) : while (have_posts() ) : the_post(); ?>

<?PHP endwhile; ?>

<?PHP endif ?>

میدونین حلقه چیه؟

حلقه یعنی اینکه تا زمانی که به چیزی که مد نظر ماست برسیم یک کد تکرار میشه!

الان ما در اینجا حلقه ساختیم! ولی قبل از اون یک شرط گذاشتیم که با if ساخته میشه:

یعنی نوشتیم اگر ( if ) ما پستی (مطلبی) داشتیم برو به مرحله ی بعد اگر نداشتیم برو تا بعد از شرط یعنی بعد از endif !!

حالا در مرحله ی بعد while یک حلقه ایجاد میکنه که تا زمانی که پست داریم یعنی have_posts برقرار است این حلقه تا endwhile میره سر راه the_post رو فراخوانی میکنه و باز برمیگرده!

یادتون هست که گفته بودم هر چیزیو که باز میکنیم به ترتیب میبندیم؟

دلیل اینکه while قبل از if بسته شد هم از اون قانون نشأت میگیره!

خوب میریم و قبل از endwhile تابع the_title رو فراخوانی میکنیم تا مثل درس قبلی که عنوان وبلاگ رو فراخوانی کردیم اینبار عنوان پست یا پست هامون رو فراخوانی کنیم تا داشته باشیم:

<?PHP if(have_posts()): while(have_posts()):the_post();?>

<?PHP the_title() ?>

<?PHP endwhile; ?>

<?PHP endif ?>

کار خودمون رو ذخیره میکنیم و میریم در داشبورد یا همون پیشخوان خودمون تا چند پست امتحانی بدیم!

حتما میدونین که محل پست کردن مطالب جدید در این آدرس است:

http://localhost/wordpress/wp-admin/post-new.php

بعد از اینکه دو،سه تا پست دادیم میریم ببینیم سایتمون در چه وضعیتی است!

در این عکس صفحه ی ما تا اینجای کار رو میبینید به همراه تابع هایی که در کنار هر کدوم از اثرات خودشون با رنگ قرمز مشخص شده اند!

و میبینیم که عنوان پست های ما پشت سر هم و بیریخت و… در کنار هم توسط the_title فراخوانی شده اند!

خوب اگه ولگرد وب (وب گرد) باشید مثل من! حتما در وبلاگ های مختلف دیدین که با کلیک روی هر عنوان مطلب میتونین به صفحه ی اصلی اون پست برین و در واقع هر عنوان یک لینک به همون مطلبه!

حالا ما همونطور که عنوان سایت رو تبدیل به لینک کردیم این کارو با عنوان مطلب هم میکنیم:

<a href=”#”> <?PHP the_title() ?> </a>

با این کار عنوان هامون تبدیل به لینک هایی شدن که همه سر به یک بیابان میگذارند! و آن بیابان # است!

میتونین با ذخیره کردن صفحه و دیدن صفحه سایت این نکته رو تست کنین.

میبینیم که همه ی عنوان ها تبدیل به لینک های به درد نخوری تبدیل شدن که هیچ غ.. نمیکنن!

اما برای اینکه یه غ… بکنن و لینکشون تبدیل به آدرس اون پست بشه از تابع the_permalink استفاده ، و اون رو جایگزین # میکنیم.

این تابع چون تابع php است میدونیم که چه کنیم:

<a href=” <?PHP the_permalink() ?>”> <?PHP the_title() ?> </a>

حله؟

حالا لطفا پاشین یک عدد سیب میل بفرمایین تا چشماتون هم یه استراحتی بکنه و یه ویتامینی چیزی هم برسه به بدن مبارک! البته من سیب ندارم پرتقال میخورم! اینم قبوله! 😀

نوش جان!

حالالینکهامون درست شدن! میدونین که تا اینجا چی شد؟!

حلقه while به تعداد پست هایی که داریم میره و خط زیرش رو تکرار میکنه و یک کار رو با همه ی اونها انجام میده! یعنی عنوان پست رو تبدیل به لینک همون پست میکنه و میره سراغ پست بعدی!

حالا با این شکل ناجور چه کنیم؟!

یادتون هست که گفته بودم header چیست و تگ مربوط به اون در xhtml چیه؟

این عنوان ها هم header هستند دیگر!؟

خوب خط کدی که نوشتیم رو بین تگ h میگذاریم تا ابهت یک عنوان رو داشته باشه! اما این بزرگی به عظمت نام و عنوان سایت ما نیست!! پس به جای h1 از h2 که کمی کوچکتر است استفاده میکنیم! سپس save و refresh!!

دیدین چی شد؟

<h2> <a href=” <?PHP the_permalink() ?>”> <?PHP the_title() ?> </a> </h2>

خوب منم دیدم! تازه داریم یه کارایی میکنیم!

در درس بعدی کار قشنگی میکنیم که اونم نشون دادن متن پست های قشنگون است!!

برای این درس فکر میکنم بس باشد.

موفق باشین

مواظبت نمایید!

بابای…

‏35 دیدگاه برای ”آموزش طراحی قالب وردپرس #۵(حلقه)

  1. سلام خيلي دوست دارم واقعا عالي و بي نقص فقط يه كم سريع تر پيش برو نه هر چند روز يه پست خيلي با مرامي و واقعا زكات علم را داري ميدي اميد وارم هميشه سپيد باشي و پيروز

    1. خيلي ممنون از توجهي که دارين!
      آقاي برادر به خدا من شاغل و محصل رو با هم يه جا هستم!:D سعي ميکنم سريعتر پيش برم اما اگه بشه!!
      در يک جمله چشم! سعي ميکنم

  2. سياوش دمت گرم، من که شخصاً خيلي دوستت دارم، البته دل به دل راه داره نه؟؟؟
    در يک جمله ي مشهدي خيلي جيگر طٍلايي برار!!!
    مواظبتِ خودت باش…

  3. با سلام
    من يک فروم ساختم که فعلا آدرسش اين هست: http://www.travian.parsbox.com
    مايلم آن را با شما اشتراک بگذارم و بخشي خواست را به شما و سايت شما اختصاص بدهم. اگر شما هم به اين امر مايل هستيد از طريق ايميل من را در جريان بگذاريد.
    اين موضوع باعث جلوگيري از قرار گرفتن نظرات بيهوده و پرششي و کلکل هاي بي مورد مي شود.
    اگر مايل هستيد اين نظر را پاک کنيد و تاييد براي نمايش نکنيد.
    من منتظر پاسخ شما هستم :d
    با تشکر

    1. بهادر جان من که کسي نيستم بخواي بخش بهم اختصاص بدي اما اگه خواستي از سايت استفاده کني مانعي نداره و من نه تنها مشکلي ندارم خيلي هم خوشحال ميشم افراد بيشتري از اين مطالب استفاده کنن 😉

      1. من از شما ممنون هستم.
        ولي من احساس کردم بازديد کننده هاي سايت شما مايل به صحبت با شما و صحبت با هم ديگر هستند و يک فروم بهترين جا براي اين موضوع مي باشد.
        همان طور که ديدي اين فروم تازه کار است و اگر شما از آن پشتيباني نکنيد به اين زودي ها رشد نمي کند. 🙂

        1. آره ولي فکر کنم اولين زمينه ي پيشرفت يک سايت و فروم اينه که واقعا سايت باشه! به نظرم يک هاست و دومين اختصاصي که اين روزها خيلي هم گرون نيست تهيه کنيد. منم هر فرومي بگي عضوم اما کلا 30 تا پست هم ندادم چون خيلي سرم شلوغه
          موفق باشي

  4. چرا وقتي اين کد رو اجرا مي کنم‘ اين پيغام رو ميده؟
    Object not found!

    The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

    If you think this is a server error, please contact the webmaster.
    Error 404
    localhost
    07/23/09 09:57:56
    Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9

    1. يعني فقط با تمي که شما ساختي مشکل داره يا اصلا وردپرس رو هم لود نميکنه؟! به نظرم اشکال از برنامه ي wamp يک بار پاک کنيد و دوباره نصب کنيد شايد درست شد!

  5. سياوش جان بابت ديشب متاسفم!يه سوال پست جديدي که مينويسم جاي پست قبلي رو ميگيره يعني تو سايت يه پست بيشتر ندارم اونم آخرين پستي که نوشتم!؟راهکار؟

  6. با سلام و خسته نباشید. بابت این آموزش خوبتون. اجرتون با امام زمون.

    فقط توضیح ندادید که من این خط کد را کجا قرار بدهم ؟داخل حلقه ،بیرون یا بالای حلقه.

    ”& gt ;

    البته من هر جا میزارم یه مشکلی باهاش دارم . مرسی.

  7. خب این درس رو هم یاد گرفتیم فقط به نظرتون بهتر نیست برای برجسته شدن عناوین مطالب از h3به جای h2استفاده کنیم
    چون اگه یادتون باشه قبلا از h2برای نمایش توضیحات استفاده کردیم

    1. این تگ ها کاربردی که خیلی مهمه در موردشون برای موتورهای جستجو هست، باید سعی کنیم تیتر های اصلی بزرگتر و تیترهای بعدی به ترتیب h2 h3 و … باشن

  8. نظرتون راجع به طراحی قالب
    با برنامه artsteer
    چیه؟>؟؟
    جمولا
    وردپرس
    نیوک و …
    همه رو داره
    کامل کامل

    ولی من میخوام یاد بگیرم

    1. برای کار راه انداختن خوبه، ولی من تا اونجایی که یادم میاد زیاد جالب کار نمیکرد، و اگرم میخوای یاد بگیری که اصلن به درد نمیخوره

  9. سلام استاد
    به خدا همه ی کد ها رو خودم نوشتم،اصلا تقلب(کپی) نکردم ولی بازم هیچ پستی رو نشون نداد ؟!!!! کمکم کن تو رو خدا .

    1. خب فقط اون دلیلش نیست که:)) دقت کن، خط به خط چک کن، اگه نفهمیدی چیه جریان بفرست برام همه چیو ، استادم خودتی:))

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

  11. سلام
    تابع the_post چه کاری انجام میدهد the_title , عنوان رو لود میکنه , the_content هم محتوای پست , پس the_post چه کاری انجام می دهد ؟ تشکر

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

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

    Parse error: syntax error, unexpected T_ENDIF in C:\wamp\www\wordpress\wp-content\themes\amoozesh\index.php on line 35

    لطفا راهنمایی بفرمایید
    ممنون از زحماتتان

    1. سلام، خواهش میکنم 🙂
      مشکلات اینجوری که براتون پیش میاد کافیه قسمت اولش رو سرچ کنین تا مشکل رو پیدا کنین مثلن در این مورد باید عبارت
      Parse error: syntax error, unexpected T_ENDIF
      رو سرچ کنین ببینین مشکل از چیه معمولن مشکلاتی از قبلی جا انداختن } { ها یا درست باز و بسته نکردن باعث این ارور ها میشه کدتون رو چند بار بررسی کنین و مشکل رو پیدا کنین

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *