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

مدرسه وبمیکرز: ساخت قالب اختصاصی برای صفحات مختلف در وردپرس
  • 1392/5/29
  • omid.kamangar
  • 6

themes-01

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

یک پوسته ساده؛
در ساده ترین حالت پوسته های وردپرس از دو فایل تشکیل می شوند:
style.css
index.php
فایل index.php بسیار انعطاف پذیر است به طوری که می تواند تمامی ویژگی های وبسایت را در خود جای دهد. این فایل می تواند قابلیت های فایلهای header, sidebar, footer, content, categories, archives, search, error و… را در خود جای دهد همچنین به صورت عمومی و به نحوی در بهترین حالت می تواند به چندین فایل تقسیم شده و با بارگذاری مشترک صفحه را تشکیل دهند.
و در کنار اینها ممکن است شما یک فایل را برای قالبتان نسازید که در این حالت ممکن است وردپرس خود دارای توابع و دستورات پیشفرضی برای پر کردن جای خالی آنها باشد. به عنوان مثال شما اگر فایل searchform.php را در پوسته تان نساخته باشید وردپرس خود از توابع جایگزینی برای آن استفاده خواهد کرد.
بعضی از فایلهای مفید برای افزودن به قالب؛
comments.php
comments-popup.php
footer.php
header.php
sidebar.php
برای استفاده از این دستورات در سایت باید آنها را با استفاده از تگ هایی درون فایل index.php قرار دهید.
برای اضافه کردن هدر: get_header().
برای اضافه کردن سایدبار: get_sidebar().
برای اضافه کردن فوتر: get_footer().
برای اضافه کردن فرم جستجو get_search_form().
یک مثال برای قرار دادن سایدبار و فوتر؛
<?php get_sidebar(); ?>
<?php get_footer(); ?>

قالب اختصاصی برای یک صفحه
ممکن است بخواهید برای یک صفحه خاص در سایتتان یک پوسته اختصاصی اعمال کنید. این کار به آسانی امکان پذیر است؛
برای این کار ابتدا یک فایل به عنوان مثال با نام chachi.php بسازید و در پوشه پوسته قرار دهید. سپس کد زیر را در بالای محتوی فایل قرار دهید.

<?php
/*
Template Name: Chachi
*/
?>

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

  • با ساختن قالب برای صفحه های مورد پشتیبانی توسط وردپرس

برای استفاده از این روش شما با ساختن الگو برای صفحات خاص باعث نادیده گرفته شدن index.php خواهید شد.
به عنوان مثال شما وقتی فایل category.php را ایجاد کرده اید و قالبی را برای صفحه موضوعات در نظر گرفته اید با این کار باعث می شوید هنگام وارد شدن به صفحه category دیگر فایل index.php بارگذاری نشود و به جای آن از category.php استفاده خواهد شد.
در این ضمینه شما می توانید پشرفته تر نیز عمل کنید، به عنوان مثال با ایجاد فایل category-6.php به موضوعاتی که شماره آی دی آنها 6 است قالب جداگانه ای اعمال می کنیم.
برای پیدا کردن شماره آی دی یک موضوع، در صفحه مدیریت به بخش دسته ها رفته و با قرار دادن موس بر روی یک موضوع می بینید که لینک آن شبیه این فرمت می باشد ‘…categories.php?action=edit&cat_ID=3’ که عدد جلوی ID شماره آی دی آن موضوع است.

  • استفاده از تگ های شرطی در حلقه های قالب

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

<?php
if ( is_category( ‘9’ ) ) {
get_template_part( ‘single2’ ); // اعمال بر روی پست های موضوعات با شماره آی دی 9
} else {
get_template_part( ‘single1’ ); // اعمال بر روی سایر پست ها در موضوعات دیگر
}
?>

این کد پستهای یک دسته بندی خاص را با ظاهر متمایز نشان می دهد.
و همچنین با استفاده از کویری، این کد مورد استفاده قرار خواهد گرفت:

<?php
$post = $wp_query->post;
if ( in_category( ‘9’ ) ) {
get_template_part( ‘single2’ );
} else {
get_template_part( ‘single1’ );
}
?>

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

دیدگاه خود را وارد کنید
تعداد دیدگاه ها : 6 دیدگاه
  1. من چطور میتونم برای دسته های مختلف سایت زیر قالبهای متفاوت بزارم

    http://www.smsjokes.ir/

    1. با ایجاد فایل category-6.php به موضوعاتی که شماره آی دی آنها ۶ است قالب جداگانه ای اعمال می کنیم.
      __________________________________________
      مقاله رو می‌خوندید متوجه می شدید

  2. سلام چجوری می تونم به طور مثال دسته بازی نامکشو game کنم؟
    خواهش می کنم زودتر جواب بدید به این کار خیلی نیاز دارم.

  3. سلام اون وقت این صفحه جداگانه جز ایندکس های سایت محصوب میوشود و در گوگل بالا میاد یا بهتر است از ساب دامین استفاده کرد؟

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