7
تشکر

نمایش اطلاعات نویسندگان در وردپرس

وردپرس - WordPress

وردپرس – WordPress

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

در ادامه همراه ما باشید…

چیزی که ما میخواهیم به آن برسیم مانند باکس سمت چپ سایت آپارنت به نام نویسندگان است.

برای اینکار ابتدا به فایل functions.php در پوسته خودتان (در صورت نبودن این فایل یکی بسازید) بروید. و تابع زیر را درون تگ php قرار دهید.

function author_info() {
  global $wpdb;
  $top_posters = $wpdb->get_results("SELECT $wpdb->users.ID as ID, COUNT(post_author) as postcount FROM $wpdb->users LEFT JOIN $wpdb->posts ON $wpdb->users.ID = $wpdb->posts.post_author WHERE post_type = 'post' AND post_status = 'publish' GROUP BY post_author ORDER BY postcount DESC LIMIT 5");
  echo '<ul>';
  foreach($top_posters as $top_poster){
    $user = get_userdata($top_poster->ID);
    $user->postcount = $top_poster->postcount;
    echo "<li><a href='" . get_author_posts_url($user->ID) . "'>$user->display_name</a>";
    echo "($user->postcount)  <br />";
    echo "<div style='text-align: left;'>"; 
    if ($user->user_email !="") {echo "<a href='mailto:$user->user_email' >Email</a>";}
    if ($user->user_url !="") {echo " | <a target='_blank' href='$user->user_url'>Blog</a>";}
    if ($user->twitter != "") {echo " | <a target='_blank' href='$user->twitter'>Twitter</a>";}
    if ($user->facebook != "") {echo " | <a target='_blank' href='http://www.facebook.com/$user->facebook'>Facebook</a>";}
    echo "</div></li>";
  }
  echo '</ul>';
}

این تابع ابتدا لیست نویسندگان را از دیتابیس فراخوانی میکند (خط سوم), این فراخوانی, ID هر نویسنده را به ما میدهد سپس با استفاده از ID نویسنده و تابع get_userdata اطلاعات هر نویسنده را درون یک متغیر میریزیم (خط ششم). ادامه کدهای تابع هم برای نشان دادن اطلاعات نویسنده است.

این تابع اطلاعات نام نویسنده, تعداد مطالب ارسالی, آدرس وبلاگ, ایمیل, تویتر و فیسبوک نویسنده را نمایش میدهد. همچنین لیست نویسندگان بر اساس تعداد مطالب ارسالی مرتب میشود.

برای استفاده از این تابع در هر کجا که میخواهید فقط کافی است کد زیر را بنویسید.

<?php if (function_exists(author_info())) {author_info();} ?>
  • مانی می‌گه:

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

  • علی می‌گه:

    مرسی
    خسته نباشی

  • مهدی می‌گه:

    خیلی ممنون.


  • نظرات این مطلب بسته است.