18
تشکر

آموزش وصل کردن یک قالب به وردپرس – بخش سوم

وردپرس

وردپرس

در بخش پایانی این سری از آموزش ها به اتصال بخش Sidebar به وردپرس و ایجاد فایل single.php و comments.php میپردازیم.

اگر قالب را از مطالب پیشین در اختیار ندارید, میتوانید دانلود کنید.

Sidebar

ابتدا باید کدهای بخش سایدبار را از فایل index.php جدا کرده و به فایل sidebar.php منتقل کنیم (خطوط 54 تا 99). سپس به جای این خطوط در فایل index.php کد زیر را قرار میدهیم. کد زیر باعث میشود کدهای فایل sidebar.php در این خط قرار داده شوند.

<?php get_sidebar(); ?>

خب حالا به فایل sidebar.php میرویم. در سایدبار ما سه قسمت داریم. دسته بندی, آخرین مطالب, آرشیو ماهانه

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

<?php wp_list_categories(); ?>

حال اگر قالب را دوباره بارگذاری کنیم میبینیم که دسته ها نمایش داده میشوند.

برای نمایش آخرین مطالب باید ابتدا یک کوئری از دیتابیس بگیریم. سپس به ترتیب آن ها را نمایش دهیم. مانند زیر:

<?php
	$my_query = new WP_Query('showposts=20');
	while ($my_query->have_posts()):
	 $my_query->the_post();
	 $do_not_duplicate = $post->ID;?>
	 <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a>	</li>
<?php endwhile; ?>

برای نمایش آرشیو کد زیر را قرار میدهیم.

<?php wp_get_archives("type=monthly"); ?>

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

<?php wp_get_jarchives("type=monthly"); ?>

همانطور که در کد بالا میبینید نوع آرشیو ماهانه است میتوان از گزینه های yearly, daily, weekly هم به جای monthly استفاده کرد.

Single.php

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

مثلا وردپرس برای نمایش یک پست از فایل single.php استفاده میکند اما اگر این فایل وجود نداشته باشد از فایل index.php استفاده میکند. به همین دلیل شما همین الان هم میتوانید روی یک پست کلیک کنید و آن پست در صفحه خودش نمایش داده می شود.

اما یک مشکلی وجود دارد. زمان نمایش یک پست باید قسمت نظرات هم فعال باشد. حتی به همین یک دلیل هم ما باید فایل single.php را ایجاد کنیم و کدی که باعث نمایش نظرات میشود را در آن فایل بنویسیم.

برای اینکار ابتدا یک کپی از فایل index.php میگیریم و با اسم single.php ذخیره میکنیم. سپس فایل دیگری به نام comments.php هم ایجاد میکنیم, در این فایل میتوان قسمت نظرات را اختصاصی کرد. سپس هر دو فایل را باز میکنیم.

در فایل comments.php کدهای زیر را قرار میدهیم:

<?php
  wp_list_comments('avatar_size=120');
  
  comment_form();
?>

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

نکته: سایت Gravatar دارای APIهای متنوعی برای کاربران است. شما میتوانید حتی در پروژه های خودتان که نیاز به آواتار کاربر دارید از این سایت استفاده کنید و از دردسرهایی مثل آپلود, اندازه, ذخیره و… عکس را نکشید. برای گرفتن آواتار یک کاربر از سایت Gravatar فقط به ایمیل کاربر احتیاج داریم.

خب حالا به فایل single.php میرویم و در قسمتی که میخواهیم نظرات دیده شود کد زیر را قرار میدهیم:

<?php comments_template('', true); ?>

میتوان گفت این دوره آموزش سایت آپارنت به اتمام رسیده است. همانطور که در بخش اول این سری از آموزشها گفتیم شما میتوانید صفحات دیگری مثل footer.php, 404.php و … هم ایجاد کنید که بستگی به قالب سایتتان دارد. به عبارتی اگر مثلا در قالبتان بخشی برای صفحه 404 طراحی کرده اید پس باید این صفحه را درست کنید, بستگی به خودتان دارد.

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

میتوانید قالب را با تغییرات بالا از اینجا دانلود کنید.

مطالب مرتبط:

آموزش وصل کردن قالب به وردپرس – بخش اول

آموزش وصل کردن قالب به وردپرس – بخش دوم

این مطلب از سری مطالب، متصل کردن قالب به وردپرس است
  • milad می‌گه:

    سلام من چطور میتونم قسمت ادامه مطلبم رو از برگه ها حدف کنم؟
    مثلا فرم تماس میذارم با افزونه,ادامه مطلب میاد پایین فرمه
    یعنی هرچی مطلب میاد تو قسمت محتوا ادامه مطلبم داره

  • milad می‌گه:

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

  • milad می‌گه:

    نه منظورم فوتر بود

    • محسن شفیعی می‌گه:

      من در این تم فایلی به نام footer تعریف نکردم، و کدهای footer رو داخل همون فایل index.php قرار دادم. همون قسمت سیاه رنگ پایین صفحه منظورمه.
      باید باشه.

  • milad می‌گه:

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

  • milad می‌گه:

    و اینکه footeram نشون نمیده

  • milad می‌گه:

    سلام اموزشای خیلی خوبی بود خسته نباشید فقط ارور
    Fatal error: Call to undefined function wp_get_jarchives() in C:\wamp\www\wordpress\wp-content\themes\myft-finish\myft\sidebar.php on line

    تو قسمت ارشیو چیه؟

    • محسن شفیعی می‌گه:

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

  • میلاد می‌گه:

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


  • نظرات این مطلب بسته است.