diff --git a/mod/forum/classes/local/factories/renderer.php b/mod/forum/classes/local/factories/renderer.php
index 2db3a45c78d..78c2b35a3ea 100644
--- a/mod/forum/classes/local/factories/renderer.php
+++ b/mod/forum/classes/local/factories/renderer.php
@@ -318,7 +318,7 @@ class renderer {
return new posts_renderer(
$this->rendererbase,
$this->builderfactory->get_exported_posts_builder(),
- 'mod_forum/forum_posts_with_context_links',
+ 'mod_forum/forum_search_results',
// Post process the exported posts to add the highlighting of the search terms to the post
// and also the additional context links in the subject.
function($exportedposts, $forumsbyid, $discussionsbyid) use ($searchterms, $urlfactory) {
diff --git a/mod/forum/templates/forum_discussion_post.mustache b/mod/forum/templates/forum_discussion_post.mustache
index 91cdbfde20d..dad785c7538 100644
--- a/mod/forum/templates/forum_discussion_post.mustache
+++ b/mod/forum/templates/forum_discussion_post.mustache
@@ -68,11 +68,13 @@
{{#parentauthorname}}
{{#str}} inreplyto, mod_forum, {{.}} {{/str}}
{{/parentauthorname}}
-
{{$subject}}{{{subject}}}{{/subject}}
+ {{$subjectheading}}
+
{{$subject}}{{{subject}}}{{/subject}}
+ {{/subjectheading}}
{{^isdeleted}}
{{#html.authorsubheading}}{{{.}}}{{/html.authorsubheading}}
diff --git a/mod/forum/templates/forum_post_subject_with_context_links.mustache b/mod/forum/templates/forum_post_subject_with_context_links.mustache
new file mode 100644
index 00000000000..06e60f98774
--- /dev/null
+++ b/mod/forum/templates/forum_post_subject_with_context_links.mustache
@@ -0,0 +1,73 @@
+{{!
+ This file is part of Moodle - http://moodle.org/
+
+ Moodle is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Moodle is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Moodle. If not, see .
+}}
+{{!
+ @template mod_forum/forum_post_subject_with_context_links
+
+ Template to render a breadcrumb-style subject.
+
+ Classes required for JS:
+ * none
+
+ Data attributes required for JS:
+ * none
+
+ Example context (json):
+ {
+ "coursename": "Test course",
+ "forumname": "Test forum",
+ "discussionname": "Test discussion",
+ "subject": "Test post subject",
+ "urls": {
+ "viewcourse": "#",
+ "viewforum": "#",
+ "viewdiscussion": "#",
+ "viewparent": "#"
+ },
+ "showdiscussionname": true,
+ "hasparent": true
+ }
+}}
+{{#coursename}}
+ {{#urls.viewcourse}}
+ {{{coursename}}} ->
+ {{/urls.viewcourse}}
+ {{^urls.viewcourse}}
+ {{coursename}} ->
+ {{/urls.viewcourse}}
+{{/coursename}}
+{{#urls.viewforum}}
+ {{{forumname}}}
+{{/urls.viewforum}}
+{{^urls.viewforum}}
+ {{{forumname}}}
+{{/urls.viewforum}}
+{{#showdiscussionname}}
+ {{#urls.viewdiscussion}}
+ -> {{{discussionname}}}
+ {{/urls.viewdiscussion}}
+ {{^urls.viewdiscussion}}
+ {{{discussionname}}}
+ {{/urls.viewdiscussion}}
+ {{#hasparent}}
+ {{#urls.viewparent}}
+ -> {{{subject}}}
+ {{/urls.viewparent}}
+ {{^urls.viewparent}}
+ {{{subject}}}
+ {{/urls.viewparent}}
+ {{/hasparent}}
+{{/showdiscussionname}}
diff --git a/mod/forum/templates/forum_posts_with_context_links.mustache b/mod/forum/templates/forum_posts_with_context_links.mustache
index fdabc086032..c7c512f0ecb 100644
--- a/mod/forum/templates/forum_posts_with_context_links.mustache
+++ b/mod/forum/templates/forum_posts_with_context_links.mustache
@@ -33,36 +33,7 @@
{{#posts}}
{{< mod_forum/forum_discussion_post }}
{{$subject}}
- {{#coursename}}
- {{#urls.viewcourse}}
- {{{coursename}}} ->
- {{/urls.viewcourse}}
- {{^urls.viewcourse}}
- {{coursename}} ->
- {{/urls.viewcourse}}
- {{/coursename}}
- {{#urls.viewforum}}
- {{{forumname}}}
- {{/urls.viewforum}}
- {{^urls.viewforum}}
- {{{forumname}}}
- {{/urls.viewforum}}
- {{#showdiscussionname}}
- {{#urls.viewdiscussion}}
- -> {{{discussionname}}}
- {{/urls.viewdiscussion}}
- {{^urls.viewdiscussion}}
- {{{discussionname}}}
- {{/urls.viewdiscussion}}
- {{#hasparent}}
- {{#urls.viewparent}}
- -> {{{subject}}}
- {{/urls.viewparent}}
- {{^urls.viewparent}}
- {{{subject}}}
- {{/urls.viewparent}}
- {{/hasparent}}
- {{/showdiscussionname}}
+ {{> mod_forum/forum_post_subject_with_context_links }}
{{/subject}}
{{$replies}}{{/replies}}
{{$footer}}
diff --git a/mod/forum/templates/forum_search_results.mustache b/mod/forum/templates/forum_search_results.mustache
new file mode 100644
index 00000000000..9e8c85001f4
--- /dev/null
+++ b/mod/forum/templates/forum_search_results.mustache
@@ -0,0 +1,69 @@
+{{!
+ This file is part of Moodle - http://moodle.org/
+
+ Moodle is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Moodle is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Moodle. If not, see .
+}}
+{{!
+ @template mod_forum/forum_search_results
+
+ Template to render results for the forum post search.
+
+ Classes required for JS:
+ * none
+
+ Data attributes required for JS:
+ * none
+
+ Example context (json):
+ {
+ "posts": [
+ {
+ "id": 1,
+ "subject": "Re: Test discussion",
+ "message": "Reply to post by Sam Student",
+ "author": {
+ "id": 2,
+ "fullname": "Sam Student"
+ },
+ "discussionid": 3,
+ "capabilities": {
+ "view": true,
+ "edit": true,
+ "delete": true,
+ "split": true,
+ "reply": true
+ },
+ "html": {
+ "authorsubheading": "by Sam Student<\/a> -