فاکس بلاگ

۱۰ تابع ناشناخته در وردپرس !

۱۰ تابع ناشناخته در وردپرس !

TOP-TEN-UNKNOWN-WORDPRESS-FUNCTIONS

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

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

get_post_field

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

get_post_field( $field, $post_id, $context );

این تابع خودش گویای همه چیز است.

Codex it!

wp_list_pluck

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

wp_list_pluck( $list, $field );

Codex it!

Antispambot

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

antispambot( $emailaddy, $mailto );

Codex it!

Checked / Selected

شما احتمالا تعداد زیادی گزینه های انتخابی با دستور if دیده اید که برای بررسی اینکه آیا یک مقدار مشخص انتخاب شده است یا نه، مورد استفاده قرار می گیرد. خوب، وردپرس یک تابع بسیار جذاب برای هر کدام از آنها دارد. این دو تابع تمام کارهای سخت را برای شما انجام می دهند. مثال زیر به سادگی بررسی می کند که آیا $foo مساوی با ۱ است یا نه و اگر هست، وردپرس از درستی ویژگی های آن اطمینان حاصل خواهد کرد.

استفاده از دستورات استاندارد if:

<input type='checkbox' name='options[postlink]' value='1' <?php if ( $foo == 1 ) echo 'checked="checked"'; ?> />

استفاده از تابع checked وردپرس:

<input type="checkbox" name="options[postlink]" value="1" <?php checked( $foo, 1 ); ?> />

استفاده از دستورات استاندارد if:

<select name="foo"> <option value="1" <?php if ( $foo == 1 ) echo 'selected="selected"'; ?>>1</option> <option value="2" <?php if ( $foo == 2 ) echo 'selected="selected"'; ?>>2</option> <option value="3" <?php if ( $foo == 3 ) echo 'selected="selected"'; ?>>3</option></select>

استفاده از تابع selected وردپرس:

<select name=foo"> <option value="1" <?php selected( $foo, 1 ); ?>>1</option> <option value="2" <?php selected( $foo, 2 ); ?>>2</option> <option value="3" <?php selected( $foo, 3 ); ?>>3</option></select>

body_class

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

<body <?php body_class(); ?> >

Codex it!

human_time_diff

این تابع شبیه به تابع محبوب توییتر یعنی “time ago” است، تابع را دوبار تصویب می کند، آن را با یک اختلاف زمان قابل خواندن توسط انسان تمبر می زند. زمانی که یک پست برای آخرین بار اصلاح شده است، این تابع کاملا مفید است (به عنوان مثال: آخرین به روز رسانی ۱ ساعت ۳۰ دقیقه ی پیش).

human_time_diff( $from, $to );

Codex it!

wp_send_json_success/error

این دو جفت تابع جدید در وردپرس ۳.۵ است که برای بازگرداندن یک موضوع JSON، کمی زمان (و کد) ذخیره می کند. در واقع، این تابع به جای ایجاد یک صف به کار می رود، آن را رمزگذاری و سپس منعکس می کند. ساده، اما موثر!

wp_send_json_success( $data );

Codex it!

wp_send_json_error( $data );

Codex it!

wp_remote_get/post

این تابع کمکی، به جلو راندن / ارسال داده ها از / به منابع دور، با تلاش های محدود را بسیار آسان می کند.

شما معمولا چیزی شبیه به این می نویسید

$ch = curl_init();$timeout = 5;curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);$data = curl_exec($ch);curl_close($ch);

اما در حال حاضر همه ی آنچه که باید بنویسید این است:

wp_remote_get( $url, $args );

Codex it!

همچنین لینک wp_remote_post را ببینید

get_template_part

این تابع بخش قالب را در یک قالب دیگر بارگذاری می کند. این تابع برای قطعات دوباره استفاده شده ی یک قالب، بسیار مفید است، و به شما کمک می کند تا برای فایل های تم خود را شسته و رفته نگه دارید (که همیشه چیز خوبی است). این به فایل های گروهی در تم شما کمک می کند، مانند همه ی فایل های استفاده شده برای “حلقه”.

get_template_part( 'loop', 'index' );

Codex it!

خوب، اینها دقیقا ۱۰ عدد تابع نبودند (مگر اینکه دسته بندی شده ها را هم بشمارید)، اما شرط می بندم که نمی توانید برای استفاده کردن از یکی از آنها بیشتر از این صبر کنید!

من همه ی توابع را نمی شناسم (البته هنوز نمی شناسم ؛))، بنابراین اگر تابعی را می شناسید که من نمی شناسم، و یا اگر با یک تابع فوق العاده برخورد کرده اید، لطفا آن را با ما هم درمیان بگذارید!

برنامه نویسی به شما خوش بگذره.

  •      
  • رضا ایرانی
  • 27 دسامبر 2013
  • نظرات: ۰
توجه: پسورد تمامی فایل ها www.foxblog.ir می باشد.
۰ نظر به ثبت رسید ه است
نظری بدهید

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