2

连同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,"&hellip;",$pos);
                if($posEnd>$pos){
                    $replaceStr=substr($res,$pos,$posEnd-$pos);
                    $res = str_replace($replaceStr,"",$res);
                }
            }
            echo $res;
            
            ?></div>
'''
4

2 回答 2

0

这是新的搜索 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,"&hellip;",$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() ) . '&nbsp;' . esc_html__( 'ago', 'buddyboss' ) ?>
                    </time>
                </a>
            </div>
        </div>
    </div>
</li>
'''
于 2021-05-06T15:23:22.777 回答
0

注意:可能有更好(更清洁/更安全)的方法,但不值得花时间分析整个插件以找到正确的位置......

哦,还有,搜索功能仍然显示短代码,所以也需要修复

buddyboss-platform\bp-templates\bp-nouveau\buddypress\search\loop\activity.php

于 2021-05-06T15:10:48.327 回答