wp-design

سلام

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

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

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

نفس عمیق!

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

یک تگ نامرئی(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>

حله؟

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

نوش جان!

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

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

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

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

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

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

دیدین چی شد؟

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

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

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

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

موفق باشین

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

بابای…

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

مطالب مشابه

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

آموزش شماره پانزده از سری آموزشهای طراحی قالب وردپرس،
آموزش افزودن امکان ترجمه به قالب و فارسی سازی تم به صورت کامل+آموزش css در زمینه ی راست چین کردن نوشته ها

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

  1. محمد گفت:

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

    [پاسخ]

    admin پاسخ در تاريخ اردیبهشت ۱۲ام, ۱۳۸۸ ۶:۱۸ ب.ظ:

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

    [پاسخ]

  2. حجت گفت:

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

    [پاسخ]

    سياوش کشميري پاسخ در تاريخ تیر ۲۷ام, ۱۳۸۸ ۱۰:۰۲ ب.ظ:

    مرسی، بله! البته که داره! مرسی واقعا
    به خودم امیدوار شدم!!

    [پاسخ]

  3. بهادر گفت:

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

    [پاسخ]

    سياوش کشميري پاسخ در تاريخ تیر ۲۷ام, ۱۳۸۸ ۱۰:۱۳ ب.ظ:

    بهادر جان من که کسی نیستم بخوای بخش بهم اختصاص بدی اما اگه خواستی از سایت استفاده کنی مانعی نداره و من نه تنها مشکلی ندارم خیلی هم خوشحال میشم افراد بیشتری از این مطالب استفاده کنن ;)

    [پاسخ]

    بهادر پاسخ در تاريخ تیر ۲۹ام, ۱۳۸۸ ۴:۳۱ ب.ظ:

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

    [پاسخ]

    سياوش کشميري پاسخ در تاريخ تیر ۲۹ام, ۱۳۸۸ ۶:۴۸ ب.ظ:

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

  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
    ۰۷/۲۳/۰۹ ۰۹:۵۷:۵۶
    Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9

    [پاسخ]

    سياوش کشميري پاسخ در تاريخ مرداد ۱ام, ۱۳۸۸ ۱۰:۲۷ ب.ظ:

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

    [پاسخ]

  5. علي گفت:

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

    [پاسخ]

  6. حسین گفت:

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

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

    ”& gt ;

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

    [پاسخ]

    سیاوش کشمیری پاسخ در تاريخ شهریور ۳۰ام, ۱۳۸۹ ۹:۳۳ ب.ظ:

    من سوالتون رو متوجه نشدم متاسفانه

    [پاسخ]

  7. balochkhan گفت:

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

    [پاسخ]

    blogadmin پاسخ در تاريخ فروردین ۶ام, ۱۳۹۰ ۵:۱۴ ق.ظ:

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

    [پاسخ]

  8. mojtaba گفت:

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

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

    [پاسخ]

    blogadmin پاسخ در تاريخ فروردین ۶ام, ۱۳۹۰ ۵:۱۳ ق.ظ:

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

    [پاسخ]

  9. صلاح گفت:

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

    [پاسخ]

    blogadmin پاسخ در تاريخ اردیبهشت ۱ام, ۱۳۹۰ ۴:۰۵ ب.ظ:

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

    [پاسخ]

  10. Meysam گفت:

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

    [پاسخ]

    blogadmin پاسخ در تاريخ شهریور ۱۴ام, ۱۳۹۰ ۶:۱۰ ق.ظ:

    تابع the_post هیچ پارامتری نمیگیره و هیچ چیزی هم خروجی نمیده، تنها کاری که انجام میده تکرار حلقه (یا لوپ ) ماست، توضیحات تکمیلی رو میتونین اینجا بخونین http://codex.wordpress.org/Function_Reference/the_post

    [پاسخ]

  11. hossein گفت:

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

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

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

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

    [پاسخ]

    سیاوش کشمیری پاسخ در تاريخ شهریور ۳ام, ۱۳۹۳ ۱۱:۲۵ ق.ظ:

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

    [پاسخ]

پاسخ دادن به Mahdi لغو پاسخ

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

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>