wordpress - 前端 Buddypress 通知 - 仅显示给当前用户
问题描述
我添加了一个自定义滑出框以在任何页面上显示用户的 Buddypress 通知。
我基本上是在呼应 Buddypress 插件 Youzify(以前称为 Youzer)的模板部分。Youzify 只是重新设计 Buddypress 的扩展,所以我认为这个问题不一定与此有关,而是与原生 Buddypress 有关。
当我在任何标准的 Wordpress 页面上时,我都能获得当前用户的通知。但是,如果我在用户的个人资料中,它会显示他们的通知!我知道默认情况下,如果管理员只是将 /notifications 添加到任何配置文件中,管理员实际上可以看到所有通知,但这也发生在标准用户身上。
这是当前代码:
<?php global $bp;
if( bp_has_notifications($bp->loggedin_user->id) ) : ?>
<?php bp_get_template_part( 'members/single/notifications/notifications-loop' ); ?>
<div class="read-all-notifs"><a href="<?php bp_notifications_unread_permalink($bp->loggedin_user->id); ?>"> View All Notifications</a></div>
<?php else : ?>
<?php bp_get_template_part( 'members/single/notifications/feedback-no-notifications' ); ?>
<?php endif; ?>
我认为这与模板部分和一些在 Buddypress 页面上强制使用 bp_displayed_user ID 的函数有关,那么我如何覆盖它以确保弹出窗口中的通知始终适用于任何页面上的当前用户?有人有想法么?谢谢。
解决方案
我在开发人员的帮助下解决了这个问题。这是初始部分的正确格式:
<?php if ( is_user_logged_in() && bp_has_notifications( array('user_id' => bp_loggedin_user_id(), 'per_page' => 10, 'search_terms' => false ) ) ) : ?>
添加了搜索词部分,因为在任何搜索结果页面上,它都会为每个人显示“无通知”循环。
推荐阅读
- c# - 如何在 Xamarin.Forms 中打开/关闭飞行模式?
- r - 如何获取 R 中临时文件中包含的文件名的向量?
- deep-learning - MobileNet V3 比 V2 快多少?
- docker - “docker-containerd-shim”:在 $PATH 中找不到可执行文件:未知
- jquery - 功能删除未定义 - Jquery (Ajax)
- javascript - ChartJS 工具提示始终显示在图形上(对于“标签/索引”模式)
- java - notifyAll 后 2 个线程如何获取锁?
- java - 谁在阅读 logback.xml
- python - pclpy:python 的 PCL,python 3.7 的安装问题
- python - PySpark 中是否有与 scikit-learn 的 sample_weight 等效的参数?