diff --git a/app/theme/wp/template.gohtml b/app/theme/wp/template.gohtml
index 95f915e..9f0cc1b 100644
--- a/app/theme/wp/template.gohtml
+++ b/app/theme/wp/template.gohtml
@@ -13,6 +13,9 @@
{{if .footerScript}}
{{.footerScript|unescaped}}
{{end}}
+ {{if .externFooter}}
+ {{.externFooter|unescaped}}
+ {{end}}
{{end}}
diff --git a/app/theme/wp/wp.go b/app/theme/wp/wp.go
index 749adaf..c768bea 100644
--- a/app/theme/wp/wp.go
+++ b/app/theme/wp/wp.go
@@ -2,6 +2,7 @@ package wp
import (
"github.com/fthvgb1/wp-go/app/cmd/reload"
+ "github.com/fthvgb1/wp-go/app/pkg/config"
"github.com/fthvgb1/wp-go/app/pkg/constraints"
"github.com/fthvgb1/wp-go/app/pkg/logs"
"github.com/fthvgb1/wp-go/app/plugins/wphandle/apply"
@@ -12,6 +13,7 @@ import (
"github.com/gin-gonic/gin"
"html/template"
"net/http"
+ "os"
)
type Handle struct {
@@ -239,6 +241,29 @@ func (h *Handle) CommonComponents() {
h.PushCacheGroupHeadScript(constraints.AllScene, "siteIconAndCustomCss", 0, CalSiteIcon, CalCustomCss)
h.PushRender(constraints.AllStats, NewHandleFn(CalComponents, 10, "wp.CalComponents"))
h.PushRender(constraints.AllStats, NewHandleFn(PreRenderTemplate, 0, "wp.PreRenderTemplate"))
+ AdditionScript(h)
+}
+
+func AdditionScript(h *Handle) {
+ s := config.GetConfig().ExternScript
+ if len(s) < 1 {
+ return
+ }
+ fn := func(f, name string) {
+ ss, err := os.ReadFile(f)
+ if err != nil {
+ logs.Error(err, str.Join("解析", name, "失败"), f)
+ } else {
+ h.PushComponents(constraints.AllScene, constraints.HeadScript, NewComponent(name, string(ss), false, 0, nil))
+ }
+ }
+ switch len(s) {
+ case 1:
+ fn(s[0], "externHead")
+ case 2:
+ fn(s[0], "externHead")
+ fn(s[1], "externFooter")
+ }
}
func PreRenderTemplate(h *Handle) {