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

مستندات فنی افزونه تاریخ شمسی و فارسی‌ساز وردپرس یا WP Shamsi برنامه نویسی شده توسط wpvar.com و منتشر شده در wordpress.org در این صفحه توضیح داده خواهد شد.

این مستندات مناسب برنامه‌نویسان و افراد آشنا با برنامه‌نویسی به زبان PHP می‌باشد.

هوک‌های Filter

هوک‌ها در وردپرس محتویات فانکشن را تغییر می‌دهند. در ادامه هوک‌های ثبت شده توسط افزونه توضیح داده خواهند شد.

wpsh_date

خروجی اصلی تاریخ را هوک می کند. برای مثال برای عدم نمایش تاریخ در صفحات:

if(is_page())
{
	add_filter('wpsh_date', '__return_false');
}

wpsh_date_before

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

add_filter('wpsh_date_before', 'wpvar_date_before');

function wpvar_date_before($go)
{
	if (!empty($_GET['page']) && $_GET['page'] == 'test') {
		$go = false;
	}

	return $go;
}

wpsh_num_ignore

هوک برای جلوگیری از فارسی‌سازی اعداد در کلاس ویا آی‌دی های تعریف شده. برای مثال:

add_filter('wpsh_num_ignore', 'wpvar_num_ignore');

function wpvar_num_ignore($ignore)
{
	$js = $ignore;

	/**
	 * فانکشن داخل هوک به زبان جاواسکریپت می‌باشد. مشخص کردن هرسه متغیر الزامی است
	 *
	 * متغیر اول: نام المنتی که فقط درصورت وجود آن اجرا خواهد شد
	 * متغیر دوم: نام المنتی که اعداد درون آن فارسی سازی نشوند
	 * متغیر سوم: درصورت وارد کردن ۱ در سیستم فارسی‌سازی زنده هم اعمال خواهد شد. برای غیرفعال‌سازی ۰ وارد کنید
	 */
	$js .= 'wpshNumIgnore(".entry-content", ".entry-date", 0);';

	return $js;
}

wpsh_date_replace_formats

از این هوک برای ویرایش فرمت های تاریخ استفاده می‌شود. برای مثال:

add_filter('wpsh_date_replace_formats', 'wpvar_edit_filter');

function wpvar_edit_filter($filter)
{
	$filter = str_replace('F j, Y', 'Y-m-d', $filter);

	return $filter;
}

wpsh_date_skip_formats

فرمت های اضافه شده به این هوک توسط افزونه شمسی‌سازی نخواهند شد و به صورت میلادی نمایش داده خواهد شد. برای مثال:

add_filter('wpsh_date_skip_formats', 'wpvar_skip_filter');

function wpvar_skip_filter($skip_formats)
{
	$add_format = array('F j, Y');

	$skip_formats = array_merge($skip_formats, $add_format);

	return $skip_formats;
}