如何解决如何使 BuddyBoss BuddyPress 活动流与 DIVI Builder 兼容?
与https://www.codementor.io/@robertverdes一起
我们修复了 DIVI 和 BuddyBoss 之间的活动流兼容性问题——它显示的是短代码。更改将在 buddyboss-theme/buddypress/activity/entry.php 文件中进行。
'''
<div class="activity-inner"><?php
$res=preg_replace('#\[[^\]]+\]#','',bp_get_activity_content_body());
$pos=strpos($res,"[");
if($pos>0){
$posEnd = strpos($res,"…",$pos);
if($posEnd>$pos){
$replaceStr=substr($res,$pos,$posEnd-$pos);
$res = str_replace($replaceStr,"",$res);
}
}
echo $res;
?></div>
'''
解决方法
注意:可能有更好(更干净/更安全)的方法,但不值得花时间分析整个插件以找到正确的位置...
哦,还有,搜索功能仍然显示短代码,因此也需要修复
buddyboss-platform\bp-templates\bp-nouveau\buddypress\search\loop\activity.php
,这是新的搜索activity.php文件
'''
<li class="bp-search-item bp-search-item_activity <?php bp_activity_css_class(); ?>" id="activity-<?php bp_activity_id(); ?>" data-bp-activity-id="<?php bp_activity_id(); ?>" data-bp-timestamp="<?php bp_nouveau_activity_timestamp(); ?>">
<div class="list-wrap">
<div class="activity-avatar item-avatar">
<a href="<?php bp_activity_user_link(); ?>">
<?php bp_activity_avatar( array( 'type' => 'full' ) ); ?>
</a>
</div>
<div class="item activity-content">
<div class="activity-header">
<?php echo bp_get_activity_action( [ 'no_timestamp' => true ] ); ?>
</div>
<?php if ( bp_nouveau_activity_has_content() ) : ?>
<div class="activity-inner"><?php
$res=preg_replace('#\[[^\]]+\]#','',bp_get_activity_content_body());
$pos=strpos($res,"[");
if($pos>0){
$posEnd = strpos($res,"…",$pos);
if($posEnd>$pos){
$replaceStr=substr($res,$pos,$posEnd-$pos);
$res = str_replace($replaceStr,"",$res);
}
}
echo $res;
?></div>
<?php endif; ?>
<div class="item-meta">
<a href="<?php bp_activity_thread_permalink(); ?>">
<time>
<?php echo human_time_diff( bp_nouveau_get_activity_timestamp() ) . ' ' . esc_html__( 'ago','buddyboss' ) ?>
</time>
</a>
</div>
</div>
</div>
</li>
'''
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。