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

تبليغات شما در داده باران
تبلیغات در داده باران

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

نمایش آخرین نویسنده های فعال در وردپرسReviewed by داده باران on May 7Rating:

داده باران | سورس برنامه نویسی ، آموزش

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


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

اگر شمادارای سایت وردپرسی هستید که نویسندۀ زیادی دارد، امکانش هست بخواهید بدانید کدام یک از آنها دارای فعالیت خوب و تعداد مطلب بیشتری ارسال کرده است . یکی از راه های دستیابی به این اطلاعات این راه است که چگونگی کش کردن اطلاعات با استفاده از 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

 

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

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

موفق باشید …

حتما بخوانید  آموزش کامل چگونگی تغییر آدرس ورود به پنل مدیریت سایت
لينك كوتاه اين مطلب : http://www.dadebaran.ir/?p=3365

رمز فايل : DADEBARAN.IR




تبلیغات در داده باران
ارسال دیدگاه

قبل از نوشتن دیدگاه به نکات زیر توجه کنید:
    » نظراتی که با تایپ فارسی نباشند تایید نخواهند شد
    » نظرات تبلیغاتی اسپم محسوب میشوند و IP شخص مسدود خواهد شد.

پاسخ دهید

نکته: نظر شما در انتظار بررسی است و پس از تایید مدیریت در سایت نمایش داده میشود..