diff --git a/src/main/java/run/halo/app/theme/dialect/PostTemplateHeadProcessor.java b/src/main/java/run/halo/app/theme/dialect/PostTemplateHeadProcessor.java
index 35a2fc985..ba1a839db 100644
--- a/src/main/java/run/halo/app/theme/dialect/PostTemplateHeadProcessor.java
+++ b/src/main/java/run/halo/app/theme/dialect/PostTemplateHeadProcessor.java
@@ -11,6 +11,7 @@ import org.thymeleaf.processor.element.IElementModelStructureHandler;
import reactor.core.publisher.Mono;
import run.halo.app.theme.DefaultTemplateEnum;
import run.halo.app.theme.finders.PostFinder;
+import run.halo.app.theme.router.strategy.ModelConst;
/**
*
The head
html snippet injection processor for post template.
@@ -31,9 +32,10 @@ public class PostTemplateHeadProcessor implements TemplateHeadProcessor {
@Override
public Mono process(ITemplateContext context, IModel model,
IElementModelStructureHandler structureHandler) {
- return Mono.just(context.getTemplateData().getTemplate())
- .filter(this::isPostTemplate)
- .map(template -> (String) context.getVariable(POST_NAME_VARIABLE))
+ if (!isPostTemplate(context)) {
+ return Mono.empty();
+ }
+ return Mono.justOrEmpty((String) context.getVariable(POST_NAME_VARIABLE))
.map(postFinder::getByName)
.doOnNext(postVo -> {
List