پک آموزش قرار دادن آخرین مطالب نویسنده سایت های چند کاربره در ادامه مطلب
با سلام خدمت شما دوستان خوبم, در آموزش امروز قصد داریم در ادامه مطلب آخرین مطالبی که آن نویسنده محترم مطلب را منتشر کرده است را نمایش دهیم.این تکنیک برای سایت هایی که با چندین کاربر فعالیت میکنند کاربرد دارد و بازدید کننده دسترسی و مشاهده بهتری نسبت به عملکرد آن نویسنده خواهد داشت.با ما همراه باشید …
در این روش ما می توانیم به دو صورت استفاده و عمل کنیم: یعنی استفاده از پلاگین و یا کد نویسی.شما کدام را دوست دارید بچه ها؟
با کد نویسی شروع می کنیم.
1- ابتدا فایل functions.php خود را باز نموده و کد فانکشن زیر را که تعریف نموده ایم را در جایگزاری نمائید :
[php]////////////3zar.ir////////////
function get_related_author_posts() {
global $authordata, $post;
$authors_posts = get_posts( array( ‘author’ => $authordata->ID, ‘post__not_in’ => array( $post->ID ), ‘posts_per_page’ => 10 ) );
$output = ‘<li class="related_list">’;
foreach ( $authors_posts as $authors_post ) {
$output .= ‘<h3><a class="soshi" href="’ . get_permalink( $authors_post->ID ) . ‘">’ . apply_filters( ‘the_title’, $authors_post->post_title, $authors_post->ID ) . ‘</a></h3>’;
}
$output .= ‘</li>’;
return $output;
}
عملکرد : بسیار خوب دوستان خوبم در کد بالا شما میاین میگید در پست جدید نویسنده را شناسایی کن و با فراخوانی posts_per_page اعلام میکنید که چه تعداد از آخرین مطالب این نویسنده را نمایش بدهد و نکته دیگه اینکه اومدیم گفتیم اگر در تعداد مطالبی که مشخص کردیم جهت نمایش, اون مطلب همکنون کاربر در حال مشاهده آن است در لیست آورده نشود و به آخرین مطالب یک نوشته دیگر اضافه شود.(هنوز کار تمام نشده)
2- حالا باید این تابع را فراخوانی کنیم. فایل single.php خود را باز کنید و زمانی که حلقه نمایش مطلب که end while است تمام شد و یا جایی که اصلا داخل یک دستور شرطی و کوئری نباشد کد زیر را جایگزاری کنید :
[php]<ul>
<?php echo get_related_author_posts(); ?>
</ul>
خوب کار شما به پایان رسیده است و می توانید نتیجه کار خود را ببینید. با دادن کمی استایل می توانید نحوه نمایش مطلب خود را شیک تر نمائید.
میخواهیم یک کار جالب تر دیگه انجام بدیم !
مثلا من در نظر دارم صفحه ای درست کنم که در اون صفحه بیام آخرین مطالب کلیه نویسندگان سایت را به تفکیک قرار بدهیم. یعنی اینکه مثلا در سایت ما رضا و حمید دو نویسنده سایت سزار هستند میخوام کاری کنم که 10 مطلب از رضا نمایش بده بعد برورد سراغ حمید و 10 مطلب آخری که حمید انتشار داده رو نمایش بدهد.
نحوه کار آسون است و شما باید قطعه کد زیر را هر جای سایتتون (داخل حلقه قرار ندهید) گذاشته و با دادن استایل به نمایش لیست مطالب ارسالی کاربران خود بپردازید, اینم کد مربوطه :
<?php
$blogusers = get_users_of_blog();
if ($blogusers) {
foreach ($blogusers as $bloguser) {
$args = array(
‘author’ => $bloguser->user_id,
‘showposts’ => 10,
‘caller_get_posts’ => 1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
// $user = get_userdata($bloguser->user_id); جهت گرفتن مشخصات نویسنده
// echo ‘This is one post for author with User ID: ‘ . $user->ID . ‘ ‘ . $user->user_firstname . ‘ ‘ . $user->user_lastname;
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<ul><li><a href="<?php the_permalink() ?>" rel="bookmark" title="لینک مستقیم به <?php the_title_attribute(); ?>"><?php the_title(); ?></a> |
<?php the_time(‘F j Y’) ?> توسط <?php the_author_posts_link() ?> <li></ul>
<?php endwhile;
}
}
}
?>
نوبت معرفی پلاگین میشه :
با ایجاد یک باکس علاوه بر نمایش مشخصات نویسنده آخرین مطالب ارسالی آن نویسنده را هم نمایش می دهد.
افزونه ای پیشنهادی ما که بسیار زیبا و جالب است با قابلیت نمایش بیوگرافی و نمایش ارتباطات شما با سایتهای اجتماعی و از همه مهمتر آخرین پست ها.
نمایش لیست آخرین نوشته های نویسنده.
این افزونه با shortcode کار میکند.
قابلیت های بسیار خوبی جهت نمایش آخرین مطالب در اختیار تان میگذارد شامل نمایش تصویر تامنیل , خلاصه مطلب , محدود کردن تعداد کاراکتر های عنوان , تعریف قالب نمایش و …
امیدوارم از این آموزش استفاده لازم را ببرید.
شادی از آن لحظه های شما …
لینک کوتاه : https://3zar.ir/?p=15295
مطلب خوبی بود.تشکر
بسیار زحمت کشیدین، ممنون
مطلب خوبی بود.تشکر
درود..سایت مفیدی دارید
تشکر.
لایــــــــــــــــــــکــ داشت.
🙂
موفق و موید باشید
خیلی دنبالش بودم.تشکر
جالب بود.
خیلی جالب بود آقارضا
فقط سوال اینه که این افزونه اطلاعات نویسنده را فارسی نمایش میده یا انگلیسی ؟
خواهش محمود جان.
آره فارسی نشون میده.چیز خاصی نداره.
سلام خسته نباشید
در مورد افزونه Fancier Author Box
توضیح بدین توی تنظیمات رفتم ولی کدوم قسمت باید متن و شبکه های اجتماعی قرار بدم؟
موفق باشی
باید در قسمت شناسه کاربریتون کدهای شناسه تون را وارد کنید.
سلام
متشکرم خیلی عالی بود و مفید
قربانت رسول جان.
سلام آقا رضا یه سوال داشتم البته بی ربط هستش . میشه ای دی یاهوتون بدین بپرسم ؟
من بصورت آفلاین پاسخگو هستم. شما میتونید بوسیله گوگل تالک با شناسه farrokhi1928 در ارتباط باشید.
سلام
اینطور پلاگینی برای وردپرس شبکه نیست که مطالب زیر دامنه ها رو بتونیم تو سایت اصلی بهمراه عکس نشون بدیم
سلام حامد جان
الان معمولا از فید استفاده میشود.باید بگردم چون خودم هم نیاز دارم.
سلام
خیلی عالی بود! چند روز بود دنبال همچین چیزی بودم این پلاگین بین همشون بهترین هستش!
راستی یه درخواست داشتم این عکس هایی که برا موبایل گذاشتین(دوربین موبایل رو میگیریم جلو این عکس ها میره تو یه لینک) آموزش اینا رو هم بزارین
متشکرم 🙂
چشم.به این ها کوئری کد میگویند که میزارم.
سلام
اگه بخوایم آخرین مطالب همان نویسنده رو با تصویر بند انگشتی نمایش بدیم باید چی کار کنیم؟
سلام
کد بالا را بصورت زیر استفاده نمائید :
[php]
function get_related_author_posts() {
global $authordata, $post;
$authors_posts = get_posts( array( ‘author’ => $authordata->ID, ‘post__not_in’ => array( $post->ID ), ‘posts_per_page’ => 10 ) );
$output = ‘<li class="related_list">’;
foreach ( $authors_posts as $authors_post ) {
if ( has_post_thumbnail()) the_post_thumbnail(‘post-thumb’);
$output .= ‘<h3><a class="soshi" href="’ . get_permalink( $authors_post->ID ) . ‘">’ . apply_filters( ‘the_title’, $authors_post->post_title, $authors_post->ID ) . ‘</a></h3>’;
}
$output .= ‘</li>’;
return $output;
}
[/php]
سلام
مشکل این کد این هست که فقط بندانگشتی همون مطلبو نشون میده نه مطلب های نویسنده و بدون لینک هم هست.!
ممنون میشم راهنمایی کنید