post_author; $avatar_url = get_avatar_url( $author_id ); $author = o2_Fragment::get_model_from_userdata( get_userdata( $author_id ) ); $is_xpost = ! empty( $o2_fragment['is_xpost'] ); $post_title = $o2_fragment['titleFiltered']; $is_untitled = ! empty( $o2_fragment['isUntitled'] ); // Use the preview the `o2_post_fragment` filter (`Grid_View::format_post_preview`) // already built. That filter blanks `contentRaw` after computing the preview, // so we must not re-derive it here — search results and other server-only // renders would otherwise end up with empty tiles. $excerpt = (string) ( $o2_fragment['contentPreview'] ?? '' ); $comment_count = (int) ( $o2_fragment['commentCount'] ?? 0 ); ?>