2023-01-18 15:04:12 +00:00
|
|
|
package theme
|
|
|
|
|
|
|
|
import (
|
2023-05-04 12:37:06 +00:00
|
|
|
"github.com/fthvgb1/wp-go/app/theme/twentyfifteen"
|
|
|
|
"github.com/fthvgb1/wp-go/app/theme/wp"
|
2023-01-18 15:04:12 +00:00
|
|
|
)
|
|
|
|
|
2023-03-01 05:17:12 +00:00
|
|
|
var themeMap = map[string]func(*wp.Handle){}
|
2023-01-18 15:04:12 +00:00
|
|
|
|
2023-03-01 05:17:12 +00:00
|
|
|
func addThemeHookFunc(name string, fn func(handle *wp.Handle)) {
|
2023-01-18 15:04:12 +00:00
|
|
|
if _, ok := themeMap[name]; ok {
|
|
|
|
panic("exists same name theme")
|
|
|
|
}
|
|
|
|
themeMap[name] = fn
|
|
|
|
}
|
|
|
|
|
2023-03-01 05:17:12 +00:00
|
|
|
func Hook(themeName string, handle *wp.Handle) {
|
2023-01-18 15:04:12 +00:00
|
|
|
fn, ok := themeMap[themeName]
|
|
|
|
if ok && fn != nil {
|
2023-02-08 15:49:48 +00:00
|
|
|
fn(handle)
|
2023-01-18 15:04:12 +00:00
|
|
|
return
|
|
|
|
}
|
2023-02-09 09:12:33 +00:00
|
|
|
themeMap[twentyfifteen.ThemeName](handle)
|
2023-01-18 15:04:12 +00:00
|
|
|
}
|