/ در آموزش ها, آموزش وردپرس, اشتراک رایگان / توسط
آخرین زمان ویرایش:

نمایش آخرین نویسنده های فعال در وردپرس

(جهت اطلاعات بیشتر به ادامه مطلب مراجعه نمائید)


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

اگر شمادارای سایت وردپرسی هستید که نویسندۀ زیادی دارد، امکانش هست بخواهید بدانید کدام یک از آنها دارای فعالیت خوب و تعداد مطلب بیشتری ارسال کرده است . یکی از راه های دستیابی به این اطلاعات این راه است که چگونگی کش کردن اطلاعات با استفاده از WordPress Transients API را نشان می دهد به شرح زیر می باشد:

ابتدا فانکشن را در فایل functions.php بسازید. از قرار دادن آن در میان تگ باز php اطمینان حاصل کنید :

[cc lang=”php” tab_size=”۲″]function get_latest_authors( $number_of_authors = 10 ) {
$args = array(
‘orderby’ => ‘modified’,
‘post_type’ => ‘post’,
‘post_status’ => ‘publish’,
‘numberposts’ => ‘-۱′
);

$count = 1;
$recent_posts = wp_get_recent_posts( $args );
$latest_authors_array = array();

foreach( $recent_posts as $the_post ) {
if ( $count == $number_of_authors ) break;
if ( ! in_array( $the_post[‘post_author’], $latest_authors_array ) ) {
$latest_authors_array[] =$the_post[‘post_author’];
$count++;
}
}

$latest_authors = ‘
‘;
foreach( $latest_authors_array as $author_id ) {
$latest_authors .= ‘

‘.get_the_author_meta( ‘display_name’, $author_id ).’

‘;
}
$latest_authors .= ‘

‘;

return $latest_authors;
}[/cc]

 

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

حال باید اطلاعات بدست آمده را خروجی بدهید:

[cc lang=”php” tab_size=”۲″]
[/cc]

 

از آنجایی که تابعی مانند این، هر بار که به آن نیاز می شود این فرایند را طی می کند، ما می توانیم از WordPress Transients API به منظور کش کردن اطلاعات به دست آمده، بهره بریم. با این راه، تابع با توجه به زمانی که برای انقضای transient تنظیم کرده ایم اجرا خواهد شد. برای انجام این عمل تنها چیزی که نیاز است کمی کدنویسی است :

[cc lang=”php” tab_size=”۲″]function get_latest_authors( $number_of_authors = 10 ) {
if ( false === ( $latest_authors = get_transient( ‘latest_authors’ ) ) ) {

$args = array(
‘orderby’ => ‘modified’,
‘post_type’ => ‘post’,
‘post_status’ => ‘publish’,
‘numberposts’ => ‘-۱′
);

$count = 1;
$recent_posts = wp_get_recent_posts( $args );
$latest_authors_array = array();

foreach( $recent_posts as $the_post ) {
if ( $count == $number_of_authors ) break;
if ( ! in_array( $the_post[‘post_author’], $latest_authors_array ) ) {
$latest_authors_array[] =$the_post[‘post_author’];
$count++;
}
}

$latest_authors = ‘
‘;
foreach( $latest_authors_array as $author_id ) {
$latest_authors .= ‘

‘.get_the_author_meta( ‘display_name’, $author_id ).’

‘;
}
$latest_authors .= ‘

‘;

set_transient( ‘latest_authors’, $latest_authors, 60 * 60 * 1 ); // one hour
}
return $latest_authors;
}
[/cc]

 

با انجام تغییرات بالا، تابع ما در اول وجود ترنزینت (transient) را چک می کند. در صورت بودن ترنزینت، به اطلاعات دسته بندی شده بر می گردد . در غیر این صورت تابع را اجرا و اطلاعات به دست آمده را در ترنزینتی که پس از یک ساعت غیرفعال می شود

(۶۰ * ۶۰ * ۱)

 

ذخیره می کند. شما به راحتی می توانید با اصلاح آخرین پارامتر در تابع

set_transient

 

زمان غیر فعال شدن ترنزینت را تغییر دهید.

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

موفق باشید …

نوشته های مشابه

دانلود مجموعه ۲ وکتور روبان نشانگر

(جهت دانلود و اطلاعات بیشتر به ادامه مطلب مراجعه نمائید) (بیشتر…)

نمایش پربازدیدترین مطالب وردپرس

(جهت اطلاعات بیشتر به ادامه مطلب مراجعه نمائید) (بیشتر…)

 کانال تلگرام داده باران شارژ آنلاین

نظری بدهید

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