آموزش طریقه ساخت قالب نوشته های تکی یا Custom Post Templates

در آموزش قبلی راجع به اینکه Custom Post Templates چیست و چرا باید از آن در قالب و سایت خود استفاده کنیم، توضیحات کاملی را خدمت شما ارائه کردیم. برای استفاده از چنین قابلیتی، که بتوان نوشته هایی را درون سایت منتشر کرد که از نظر ظاهری ویژگی های خاصی داشته باشند، پوستۀ سایت باید از چنین قابلیتی پشتیبانی کند. برای اینکه بررسی کنید که آیا این پشتیبانی انجام می شود یا خیر، می توانید به صفحه ارسال نوشته تازه مراجعه کنید. اگر جعبه ای با یک فهرست کشویی با نام قالب نوشته یا قالب برگه وجود داشت، یعنی اینکه این پوسته از Custom Post Templates پشتیبانی می کند. اگر این طور نبود، خود شما می توانید طبق توضیحاتی که در ادامه خواهند آمد، اقدام به ساخت Custom Post Templates برای پوسته وردپرس خود کنید.

آموزش طریقه ساخت قالب نوشته های تکی یا Custom Post Templates

آموزش طریقه ساخت قالب نوشته های تکی یا Custom Post Templates

اما قبل از اینکه دست به کار شوید، باید آگاه باشید که تغییر در پوسته ای که از مخزن وردپرس دریافت کردید، یا پوسته ای که در آینده ممکن است نسخه جدیدی از آن عرضه شود، به منزلۀ این است که با بروز شدن آن، تمامی تغییراتی که اعمال کردید از بین خواهد رفت. اما اگر پوستۀ شما سفارشی برای خودِ سایت شما طراحی شده باشد، یا اینکه در حال کار کردن روی یک Child Theme یا پوستۀ فرزند هستید، نباید نگران این موضوع باشید.

جعبه ویژگی های برگه

ساخت قالب سفارشی نوشته در وردپرس

اولین کاری که باید بکنیم، این است که یک سند خالی در یک ویرایشگر متنی مثل Notepad باز کنیم و خطوط زیر را در آن قرار دهیم.

<?php
/*
* Template Name: قالب تمام عرض
* Template Post Type: post, page
*/
 
get_header(); ?>

این کد مشخص می کند که یک قالب جدید برای نوشته ها و برگه ها با نام “قالب تمام عرض” ساخته شده و از آنجایی که مقدار روبروی عبارت Template Post Type مقادیر post و page است، برای برگه ها و نوشته ها این قالب قابل نمایش و استفاده است. اصل قضیه همین چند خط کد است. حالا می توانیم حتی از کدهای فایل single.php که شامل ساختار صفحات نوشته ها است، درون این سند هم استفاده کرده و ساختار این قالب نوشته را تعیین کنیم. مثلاً به منظور نیاز ما که می بایستی نوار کناری حذف شود، اگر کد get_sidebar() از محتویات سند single.php را حذف کنیم و درون این سند بگذاریم، کار تمام است. البته نیاز به اندکی تغییرات هم در کدهای CSS هم هست که باید فایل style.css را هم ویرایش نماییم.

یک آموزش جذاب دیگه!  Custom Post Template چیست ؟

حالا این سند را با نام دلخواه و پسوند php ذخیره می کنیم. مثلاً میتوان از نام wpt-single-post.php استفاده کنیم. حالا این سند را درون ریشه مسیر پوسته وردپرس، روی هاست سایت آپلود می کنیم و کار تمام است. اگر به صفحه ویرایش یا افزودن نوشته تازه مراجعه کنید، خواهید دید که یک جعبه با عنوان ویژگی های نوشته به مجموعه جعبه های صفحه افزوده می شود و شما باید از طریق فهرست کشویی موجود در این جعبه اقدام به انتخاب قالب نوشته کنید. قالبی که همین چند لحظه پیش به واسطه ساخت یک سند درون پوشه قالب سایت خود ایجاد کردید.

قالب نوشته تکی بر اساس دسته بندی

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

/*
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
 
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_template');
 
/**
* Single template function which will choose our template
*/
function my_single_template($single) {
global $wp_query, $post;
 
/**
* Checks for single template by category
* Check by category slug and ID
*/
foreach((array)get_the_category() as $cat) :
 
if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';
 
elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';
 
endforeach;
}

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

یک آموزش جذاب دیگه!  ساخت قالب صفحه تمام عرض با Fullwidth Page Templates

پس با استفاده از FTP یا File manager وارد فضای میزبانی سایت خود شده و به مسیر /wp-content/themes/your-theme-folder/ بروید. در این مسیر باید یک پوشه با نام single بسازید. سپس وارد این پوشه شده و یک فایل با نام single-cat-{category-slug}.php بسازید. به جای {category-slug} نامک دسته بندی مورد نظر باید قرار گیرد. حالا این دسته بندی هر چه می تواند باشد. پس اگر شما دسته بندی با نامک news دارید، نام فایلی که می سازید باید single-cat-news.php باشد.

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

قالب نوشته تکی بر اساس نویسنده

دقیقاً همان کاری که برای قالب نوشته تکی بر اساس دسته بندی می توانستیم انجام دهیم، برای نویسنده ها هم می توان انجام داد. یعنی اگر خواسته باشید نوشته های نوشته شده توسط تعداد خاصی از نویسنده ها قابلیت انتخاب قالب را داشته باشد، ابتدا باید داخل سند توابع قالب functions.php کد زیر را قرار دهید.

/**
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
 
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_author_template');
 
/**
* Single template function which will choose our template
*/
function my_single_author_template($single) {
global $wp_query, $post;
 
/**
* Checks for single template by author
* Check by user nicename and ID
*/
$curauth = get_userdata($wp_query->post->post_author);
 
if(file_exists(SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php';
 
elseif(file_exists(SINGLE_PATH . '/single-author-' . $curauth->ID . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->ID . '.php';
 
}

اگر از قبل پوشه /single/ در مسیر قالب های نصب شده وردپرس داشته باشید کافی است وارد آن شده و یک سند با نامی با ساختار single-author-{author).php بسازید. که به جای {author) باید نام کاربری آن نویسنده در سایت را قرار دهید. حالا به مانند قالب نوشته های مختص دسته ای خاص، آن را ویرایش نمایید.

این بود از آموزش آموزش طریقه ساخت قالب نوشته های تکی یا Custom Post Templates که سعی شد به طور کامل و صریح تمامی کارهایی که بایستی انجام می دادید توضیح داده شود. با دیگر ترفندهای طراحی قالب وردپرس و هک های وردپرس همراه ما باشید.

۱۳۹۷/۰۶/۲۱

قالب وردپرس
بدون دیدگاه

ارسال دیدگاه

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

آموزش جامع وردپرس

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

آموزش افزونه Yoast SEO

درباره ®WPTutorial

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