چگونه شمار اطلاعیه های بادی پرس را در قالب وردپرس نمایش دهیم؟

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

در کدی که آقای کول جسینگر ارائه کردن، یک تابع جدید در فایل functions.php موجود در قالب تعریف می کردیم اما تابع bp_core_get_notifications_for_user از نسخه ۱.۹ به بعد بادی پرس حذف شده و جای خودش رو به توابع خیلی بهتری داده مثل:

bp_notifications_get_unread_notification_count( bp_loggedin_user_id() )

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

<?php
        //test if user is logd in or not
        if ( is_user_logged_in() ) {
            //get current logd in user data
            global $current_user;
            echo '<ul>
						<li>
                            <a style="background-color: #303030; border: 1px solid #982828; border-radius: 10px; padding: 1px;" href="' . bp_core_get_user_domain(bp_loggedin_user_id()) . 'notifications/">' . bp_notifications_get_unread_notification_count( bp_loggedin_user_id() ) . '</a>
                        </li>
                 </ul>';
        }
?>
شمار اطلاعیه های بادی پرس
شمار اطلاعیه های بادی پرس

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

موفق باشید!

محمد عنبرستانیمشاهده نوشته ها

Avatar for محمد عنبرستانی

توسعه دهنده و طراح وب و همچنین مهندس عمران هستم و البته به موضوعاتی مثل برندینگ، طراحی آرم (لوگو)، رسم و نقاشی، معماری و سایر هنر های بصری علاقه مند هستم! اینجا سعی می کنم اطلاعات مفید و آموزنده که در زمینه کاریم و علایقم هستن رو با شما به اشتراک بگذارم.

بدون دیدگاه

دیدگاهتان را بنویسید