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

زمینه های سفارشی وردپرس , WordPress Custom Fields 

در این آموزش قصد داریم به صورت کامل در مورد زمینه های سفارشی وردپرس یا همان custom fields و کاربردهای آن ها صحبت کنیم. برای یادگیری کامل به تمام جزئیات باید توجه داشته باشید تا با پروسه ی کار زمینه های سفارشی وردپرس آشنا شوید.

پس در ادامه این آموزش وردپرس که مربوط به زمینه های سفارشی وردپرس و کاربرد آن هاست، موضوعات زیر را بررسی می کنیم:

  1. زمینه های سفارشی و یا custom fields چه هستند؟
  2. چگونه زمینه های سفارشی را به پست های وردپرس خود اضافه کنیم؟
  3. چگونه زمینه های سفارشی اضافه شده به هر پست را در صفحه ی مربوط به آن پست نمایش بدهیم؟
  4. نمایش پست ها در صفحه ی اصلی و یا حلقه ها بر اساس custom fields  و مقادیر آن ها.

خوب بیایید شروع کنیم:

1. زمینه های سفارشی و یا custom fields چه هستند؟

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

مطمئن هستم بعضی از شما این سوال براتون پیش میاد و می پرسید چرا ان اطلاعات اضافی رو به متن نوشته ای که داریم اضافه نکنیم؟

اجازه بدید با یک مثال توضیح بدم:

فرض کنید یک سایت موزیک دارید. در سایت های موزیک، موزیک ها را بر اساس زمان انتشار، خواننده، سبک موزیک، زبان خواننده و ویژگی های مختلف دیگر به نمایش می گذارند.

حال اگر شما همه ی این اطلاعات را به متن نوشته اضافه کنید، نمی توانید موزیک ها را بر اساس آن ها دسته بندی کنید، چرا که استخراج این اطلاعات از متن نوشته و نمایش بر اساس آن ها کاری غیر ممکن و یا زمان بر است.

شاید بگید که دسته های وردپرس همین ویژگی را دارند. اشتباه نکنید فرض کنید در همین سایت موزیک حدود 2000 خواننده دارید، آیا یاید 2000 دسته به وردپرس خود اضافه کنید تا هر وقت خواستید موزیک های یک خواننده خاص را به نمایش بگذارید، آن دسته را نمایشش دهید؟ خوب واضحه که این کار معقولانه نیست.

خوب وقتی که از زمینه های سفارشی در پست ها استفاده کنید، کافی است هنگامی که یک موزیک جدید به سایت اضافه می کنید در قسمت زمینه های سفارشی اسم خواننده را بنویسید.

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

2. چگونه زمینه های سفارشی وردپرس را به پست های وردپرس خود اضافه کنیم؟

خود سیستم وردپرس این ویژگی را به پست های به صورت پیش فرض پس از نصب وردپرس اضافه کرده است. اما

اما خود وردپرس برای مدیریت زمینه های سفارشی در صفحه ی زیر به ما پیشنهاد داده که از یک افزونه استفاده کنیم. وما هم همین پیشنهاد را می کنیم و از افزونه ی زیر که advanced custom fields نام دارد استفاده می کنیم.

پیشنهاد سایت اصلی وردپرس برای زمینه های سفارشی استفاده از افزونه advanced custom fields است ( آخر صفحه زیر ).

زمینه های سفارشی در وردپرس

لینک دانلود افزونه ی advanced custom fields  از مخزن وردپرس

دانلود advanced custom fields

اگر با نصب افزونه در وردپرس آشنا نیستید برای نصب افزونه مورد نظر می توانید آموزش نصب افزونه در وردپرس را مشاهده کنید.

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

خوب بعد از نصب افزونه بر روی لینک زمینه های سفارشی کلیک کنید:

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

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

پس برای این کار بر روی افزودن کلیک می کنیم و مانند زیر عمل می کنیم:

در تصویر بالا همه ی قسمت ها به صورت واضح توضیح داده شده اند. اما همان طور که می بینید این گروه زمینه هنوز فاقد زمینه می باشد. برای اضافه کردن زمینه کافی هست مانند آن چه که می بینید بر روی دکمه ی +افزودن زمینه کلیک کنید.

بعد از کلیک بر روی افزودن زمینه نصویر زیر رو می بینیم که توضیحات مورد نیاز را در تصویر می بینید:

قسمت های مختلف به صورت کامل توضیح داده شده است. حال بر روی انتشار کلیک کنید.

بعد از انتشار گروه زمینه ما به صورت زیر می باشد.

زمینه ای به اسم signer ساخته شد.

مجددا بر روی + افزودن زمینه کلیک کنید و یک زمینه دیگر برای زمینه ای که قرار است اطلاعات مربوط به زمان انتشار موزیک را در خود ذخیره کند، بسازید. مراحل مانند ساخت زمینه signer می باشد با تفاوت زیر:

نام این زمینه را publish-date می گذاریم. توجه کنید هیچ دو زمینه نباید دارای نام یکسانی باشند.  بعد از ساخت زمینه publish-date این گروه زمینه به شکل زیر می باشد:

حال هر دو زمینه ای که نیاز داشتیم آماده است.

به منوی نوشته ها / افزودن نوشته بروید. یک نام عنوان برای نوشته خود بنویسید(مثلا دانلود موزیک محسن چاووشی) و دسته موزیک را برای نوشته انتخاب کنید سپس نوشته را به صورت پیش نویس ذخیره کنید. مطابق عکس زیر:

بعد از ذخیره کردن به پایین صفحه بروید و 2 دو باکس زیر را خواهید دید، به توضیحات توجه کنید:

توضیحات که کاملا واضح هست. بعد ازوارد کردن اسم خواننده و زمان انتشار موزیک پست را ذخیره می کنیم و یا انتشار می دهیم. بعد از انتشار اطلاعات وارد شده در دیتابیس شما ذخیره خواهد شد و همیشه همراه این پست خواهد ماند.

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

برای نمایش و استفاده های مختلف از این زمینه های اضافه شده به پست ها به مرحله بعد بروید.

3. چگونه زمینه های سفارشی اضافه شده به هر پست را در صفحه ی مربوط به آن پست(single.php) نمایش بدهیم؟

خوب حالا که نحوه ی اضافه شدن زمینه های سفارشی به پست ها را یاد گرفتیم اکنون زمان نمایش آن هاست.

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

خوب زباد وارد جزئیات خارج از بحث نمی شویم.

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

فرض کنیم می خواهیم مقداری که در زمینه ی signer ذخیره شده را به نمایش بگذاریم، کافی است کد زیر را را در مکان مورد نظر بنویسید:

<?php    the_field("signer");  ?>

و یا برای نمایش زمینه ی publish-date از کد زیر استفاده می کنیم:

<?php    the_field("publish-date");  ?>

اگر قصد دارید مقادیر این زمینه ها را یعنی همان اسم خواننده یا زمان انتشار را در یک متغیر ذخیره کنید، و این متغیر را در قسمت دیگری مورد استفاده قرار دهید کافی است از کد زیر برای قرار دادن این مقادیر در یک متغیر استفاده کنید:

<?php

	$artist = get_field("signer");

// or to get publish-date

	$published_date = get_field("publish-date");

?>

طرز نمایش هر زمینه سفارشی در صفحات مربوط به هر پست را نیز باد گرفتیم. به مرحله نهایی و بهترین مرحله می رسیم.

4. نمایش پست ها در صفحه ی اصلی و یا حلقه ها بر اساس custom fields  و مقادیر آن ها

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

در مثال زیر می خواهیم در یک صفحه دلخواه تمام آهنگ هایی که خواننده ی آن ها محسن چاوشی بوده را به ترتیب جدید به قدیم به نمایش بگذاریم:

این طور در نظر می گیریم شما یک زمینه سفارشی به نام signer ساختید و در موزیک های محسن چاوشی این مقدار را برابر mohsen-chavoshi قرار داده اید:

<?php	
	$args = array(
              		'posts_per_page' => -1,
              		'meta_query' => array(
                  				array(
                      					'key' => 'signer',
                      					'value' => 'mohsen-chavoshi',
                      					'compare' => '=',
                      				)
                  			)
        );
	$query = new WP_Query ($args) ;
	if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); 
				
			the_title();
			echo "<br>";			

	endwhile;
	endif;

?>

حالا فرض کنید علاوه بر محسن چاوشی قصد دارید آهنگ های یک خواننده دیگر را هم به نمایش بدید مثلا شادمهر. زمینه signer برای شادمهر رو مقدار shadmehr گذاشتید. برای این کار از روش زیر استفاده می کنید:

<?php	
	$args = array(
              		'posts_per_page' => -1,
              		'meta_query' => array(
						'relation' => 'AND',
                  				array(
                      					'key' => 'signer',
                      					'value' => 'mohsen-chavoshi',
                      					'compare' => '=',
                      				),
						array(
                      					'key' => 'signer',
                      					'value' => 'shadmehr',
                      					'compare' => '=',
                      				),	
                  			)
        );
	$query = new WP_Query ($args) ;
	if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); 
				
			the_title();
			echo "<br>";			

	endwhile;
	endif;

?>

 

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

ما تاریخ انتشار موزیک ها را در زمینه ای به اسم published-date قرار داده ایم پس:

<?php	
	
	$query = new WP_Query( 'posts_per_page=-1&meta_key=published-date&orderby=meta_value&order=DESC');
	if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); 
				
			the_title();
			echo "<br>";			

	endwhile;
	endif;

?>

 

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

امیدوارم که به صورت کامل با مبحث رمینه های سفارسی در وردپرس و طرز استفاده از آن ها آشنا شده باشید.

آموزش طراحی وب و برنامه نویسی وردپرس آموزش وردپرس افزونه وردپرس برنامه نویسی وردپرس

To top
ورود | ثبت نام
شماره موبایل یا پست الکترونیک خود را وارد کنید

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

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