خانه » آموزش وردپرس » معرفی ۱۲ تابع مفید برای وردپرس که نادیده گرفته شدن!
آقای وردپرس
تابع

معرفی ۱۲ تابع مفید برای وردپرس که نادیده گرفته شدن!

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

تابع Antispambot() :

در طول این سال ها، من نسبت به این تابع توجه ویژه ای را داشته ام. به نظر می رسد که این دستور از آن دسته توابعی است که در مجموعه توابع وردپرس بیشترین مظلومیت را کشیده است. با استفاده از الگوی دستوری <code>antispambot()</code> می توانید کاراکترهای مورد نظر خود را با موجودیت های تحت HTML که یک روش به منظور مخفی سازی آدرس های ایمیل از دسترس افراد سودجو و خرابکار است استفاده کنید.

$email = 'mymail@ARTABAZ.IR';
echo 'You can contact me at ' . antispambot( $email ) . ' any time'.

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

 

تابع Human_time_diff() :

زمانی که برای اولین بار حدود یک سال پیش من با کارکرد این تابع آشنا شدم فکر کردم که این دستور باید یک تابع جدید بوده که من در لیست تغییرات بارها با آن برخورد کرده ام. در حالی که به هیچ وجه اینطور نبود. این تابع که وظیفه محاسبه و نمایش اختلاف بین دو واحد زمانی را بر عهده دارد بعد از نسخه ۱.۵ وردپرس که به سال ۲۰۰۵ میلادی بر می گردد به مجموعه توابع وردپرس اضافه شده است.
تکه کد کاربردی زیر که من آن را از سایت the codex پیدا کرده ام نشان می دهد که چه مدت پیش، پست فعلی منتشر شده است.
این تابع از تاریخ انتشار پست به عنوان آرگومان اول و تاریخ فعلی به عنوان آرگومان دوم استفاده می کند.

echo ‘This post was published ‘ . human_time_diff( get_the_time( ‘U’ ),
current_time( ‘timestamp’ ) ) . ‘ ago’;

 

تابع Get-post_metaI() :

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

 

$all_meta = get_post_meta( 14 );

 

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

 

تابع Wp_upload_bits() :

با این تابع شما می توانید امکان آپلود فایل را به صورت مستفیم تحت سیستم وردپرس خود فعال کنید. این تابع فایل مورد نظر برای آپلود را به پوشه uploads منتقل نکرده و در عوض آن را به بخش رسانه وردپرس یا WordPress media section منتقل خواهد کرد. کار با این تابع فوق العاده راحت بوده و برای انجام باقی کارها می توانید از تابع <code>wp_insert_attachment()</code> استفاده کنید.

 

$upload = wp_upload_bits( $file[‘name’], null, file_get_contents( $file[‘t
mp_name’] ) );

 

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

 

تابع Get_post_field() :

در طی سال ها تجربه در زمینه کدنویسی تحت وردپرس دیده ام افرادی که حلقه ای را برای شمارش تعداد کامنت های بازدیدکننده ها از یک پست خاص را می نوشتند یا حتی برخی یک کوئری اختصاصی برای این منظور در نظر می گرفتند. اما باید بدانید که دیگر نیاز به استفاده از این روش های به نسبت خسته کننده ندارید تنها کاری که لازم است برای نیل به این هدف انجام دهید استفاده از الگوی دستوری <code>get_post_field()</code> می باشد. کار اصلی این تابع این است که مقدار یک فیلد منفرد را برای یک پست منفرد در پایگاه داده بازیابی می کند. برای درک بهتر به نمونه کد زیر دقت کنید :

 

This post has <?php echo get_post_field( ‘comment_count’, 4124 ) ?> c
omments.

 

تابع Wpautop() :

این تابع اخیرا کمی مورد توجه کدنویسان قرار گرفته، اما با این وجود هنوز هم نسبتاً برای خیلی از افراد ناشناخته است. طرز کار این تابع مشابه PHP native nl2br است، با این تفاوت که به جای ایجاد خطوط جدید، محتوای شما را در دل پاراگراف ها قرار می دهد.
اجازه دهید با ذکر یک مثال با طرز کار دقیق این تابع بیشتر آشنا شویم با ما همراه باشید.
فرض کنید که شما یک کادرمتن دارید و می خواهید مطمئن شوید زمانی که کاربران پاراگراف ها را با انفصال دو خطه ایجاد می کنند آن پاراگراف ها در بخش جلویی و انتهایی نیز باقی می مانند.

 

<h2>What Our Users Say</h2>
<?php echo wpautop( $user_comment ) ?>

 

تابع Wp_is_mobile :

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

 

The Author Link

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

 

<?php the_author_link(); ?>

این تابع پارامتری ندارد.

The Author Meta

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

 

<?php the_author_meta( $field, $userID); ?>

$field
نوع: رشته

نام مشخصه ی مورد نظر جهت نمایش. مقادیر معتبر:

  • user_login
  • user_pass
  • user_nicename
  • user_email
  • user_url
  • user_registered
  • user_activation_key
  • user_status
  • display_name
  • nickname
  • first_name
  • last_name
  • description
  • jabber
  • aim
  • yim
  • user_level
  • user_lastname
  • user_description
  • rich_editing
  • comment_shortcuts
  • admin_color
  • plugins_per_page
  • plugins_last_view
  • ID
$userID
نوع: عدد صحیح

اگر آیدی کاربر را وارد نمایید، این تابع مشخصات کاربر مد نظر شما را نمایش خواهد داد.

 

تابع DOING_AJAX :

با وجود اینکه این دستور در زمره توابع قرار ندارد و در واقع یک ثابت است اما با این حال چیزی از ارزش کاربردی آن کم نمی کند. با این تابع می توانید حالت های فراخوانی عادی و فراخوانی AJAX را تشخیص داده و با توجه به آن اقدام مورد نظر خود را انجام دهید.

 

if (defined(‘DOING_AJAX’) && DOING_AJAX) {
echo ‘done’;
die()
}
else {
}

 

تابع Wp_redirect :

مثال آخر تابع کاربردی دیگری را به ما نشان می دهد. الگوی دستوری این تابع که به مانند <code>wp_redirect()</code> می باشد باید به جای دستور بومی پی اچ پی در این رابطه یعنی تابع <code>header()</code> قرار بگیرد. تابع مستقیم سازی وردپرس این امکان را به شما می دهد تا یک آدرس دلخواه را برای مستقیم شدن انتخاب کرده و همچنین یک کد وضعیت نیز برای آن تعیین کنید. این روش همچنین برای مدیریت لینک های مستقیم دائمی هم فوق العاده مفید خواهد بود. به نمونه کد زیر دقت کنید :

 

wp_redirect( ‘http://website.com/new-url/’, 301 );

 

تابع Paginate_links() :

نظر شخصی من این است که بخشی از مظلومیت این تابع و کمتر شناخته شدنش به خاطر گسترش استفاده از پلاگین WP-PageNavi می باشد. به طور پیشفرض سیستم وردپرس لینک های بعدی و قبلی شما را در انتهای لیست پست هایتان نمایش می دهد. در واقع کار پلاگین WP-PageNavi این است که این لینک ها را با شماره صفحات جایگزین می کند.
کد نمونه زیر که از وبسایت codex گرفته شده است به شما نشان می دهد که چگونه شما می توانید آن را به یک حلقه پیشفرض اضافه کنید اما اضافه کردن آن به حلقه های سفارشی ، آزادی زیادی را برای ایجاد تغییرات دلخواه به شما نمی دهد.

 

سرانجام و نتیجه گیری :

در این مقاله فقط به ذکر چند تابع مفید که نسبت به باقی توابع کمتر شناخته شده بودند اشاره شد. به عنوان سخن آخر اگر شما هم از این دست توابع کاربردی سراغ دارید با ما و دیگر کاربران وبسایت آقای وردپرس در میان بگذارید.

دانلود فایل

درباره سید حامد حسینی

آقای وردپرس رو با دنیا عوض نمیکنم !

2 دیدگاه

  1. مطلب آموزشی خوب بود..باتشکر

ارسال دیدگاه

ایمیل شما منتشر نخواهد شد فیلد های الزامی مشخص شده اند *

*

x

بیشتر بخوانید

نکاتی در راستای سئو مطالب سایت

نکاتی در راستای سئو مطالب سایت

امروزه بهینه سازی مطالب سایت یکی از دغدغه های مدیران هر سایت شده ، برای ...