wp-go/models/globalInit.go
2022-10-13 15:59:43 +08:00

51 lines
1.1 KiB
Go

package models
var Options = make(map[string]string)
var Terms = map[uint64]WpTerms{}
var TermTaxonomy = map[uint64]WpTermTaxonomy{}
var TotalRaw int
func InitOptions() error {
ops, err := SimpleFind[WpOptions](SqlBuilder{{"autoload", "yes"}}, "option_name, option_value")
if err != nil {
return err
}
if len(ops) == 0 {
ops, err = SimpleFind[WpOptions](nil, "option_name, option_value")
if err != nil {
return err
}
}
for _, options := range ops {
Options[options.OptionName] = options.OptionValue
}
return nil
}
func InitTerms() (err error) {
terms, err := Find[WpTerms](nil, "*", "", nil, nil, 0)
if err != nil {
return err
}
for _, wpTerms := range terms {
Terms[wpTerms.TermId] = wpTerms
}
termTax, err := Find[WpTermTaxonomy](nil, "*", "", nil, nil, 0)
if err != nil {
return err
}
for _, taxonomy := range termTax {
TermTaxonomy[taxonomy.TermTaxonomyId] = taxonomy
}
r, err := Find[WpPosts](SqlBuilder{
{"post_type", "in", ""},
{"post_status", "in", ""},
}, "count(*) ID", "", nil, nil, 0, []any{"post"}, []any{"publish"})
if err != nil {
panic(err)
}
TotalRaw = int(r[0].Id)
return
}