نماد سایت بیگ تم

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

نویسنده های فعال

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

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

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

یکی از راه های دستیابی به این اطلاعات این راه است که چگونگی کش کردن اطلاعات با استفاده از WordPress Transients API را نشان می دهد که برای این منظور باید به صورت زیر عمل کنید دوستان:

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

نکته : قطغه کد زیر را در فایل functions.php در میان دو تگ باز و بسته php قرار دهید

function get_latest_authors( $number_of_authors = 10 ) {
$args = array(
‘orderby’ => ‘modified’,
‘post_type’ => ‘post’,
‘post_status’ => ‘publish’,
‘numberposts’ => ‘-1’
);
$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;
}

نکته:

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

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

برای این منظور باید از کد زیر استفاده کنیم دوستان

lang=”php” tab_size=”2″

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

کد اجرای تابع با توجه به زمان انقضای transient

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’ => ‘-1’
);
$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;
}

شرح کد

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

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

البته باید توجه کنید که در هنگام قرار دادن کد ها در وب سایت وردپرسی خود از تمامی فایل های موجود نسخه پشتیبان تهیه کنید تا بتوانید خیلی ساده نسخه پشتیبان را در صورتی که مشکلی ایجاد شد بازگردانی کنید و کار را به اتمام برسانید چون این مورد در امنیت وب سایت اهمیت بسیار بسیار زیادی دارد

سخن آخر

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

منبع: بیگ تم مرجع اموزش وردپرس و قالب وردپرس

خروج از نسخه موبایل