- 22, Oct 2024
- #1
Я использую Buddypress для создания классов, где только члены определенного класса могут видеть комментарии своих одноклассников и отвечать на них. Я добился этого путем фильтрации
function filter_the_comments( $array ) {
$comment_IDs = array();
foreach ( $array as $key => $val ) {
array_push($comment_IDs, $val->comment_ID);
}
foreach ( $array as $key => $val ) {
if ( !in_array( $val->comment_parent, $comment_IDs ) && $val->comment_parent != 0 )
unset( $array[ $key ] );
}
return $array;
};
add_filter( 'the_comments', 'filter_the_comments', 10, 1 );
, querying for the user_id
членов класса.
Однако преподаватели могут быть членами более чем одного класса, поэтому мне нужно было также отфильтровать их ответы на комментарии учеников, которые не входят в класс вошедшего в систему ученика.
Я придумал следующее решение:
pre_get_comments
Это работает, но как человек, который больше сапожник, чем программист, я беспокоюсь, что это может быть неэффективно, и мне интересно, есть ли лучший способ достичь того же результата.
Спасибо.
#комментарии #buddypress