-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunctions.php
145 lines (108 loc) · 3.75 KB
/
functions.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?php
defined('ABSPATH') || exit;
/**
* 主题初始化
*/
function capalot_setup()
{
if (is_admin() && !function_exists('domain_check')) {
exit;
}
add_theme_support('post-thumbnails'); // 添加缩略图功能
register_nav_menus(
array(
'main-menu' => '全站顶部菜单',
)
);
add_theme_support(
'html5',
array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
'style',
'script',
)
);
// 开启友情链接功能
add_filter('pre_option_link_manager_enabled', '__return_true');
// 小工具选择性刷新
add_theme_support('customize-selective-refresh-widgets');
// 删除render_block 过滤器
remove_filter('render_block', 'wp_render_duotone_support');
remove_filter('render_block', 'wp_restore_group_inner_container');
remove_filter('render_block', 'wp_render_layout_support_flag');
// 第一次启用主题时,创建数据库表
if (get_option('theme_setup') != 'done') {
require get_template_directory() . '/inc/setup-db.php';
$setup_db = new SetupDB();
$setup_db->create_db();
// 创建成功后,将主题设置为已启用
update_option('theme_setup', 'done');
// 重写固定链接规则
flush_rewrite_rules(false);
}
}
add_action('after_setup_theme', 'capalot_setup');
// a18n
function load_custom_language()
{
$selected_language = $_COOKIE['lang'] ?? ''; // 默认为英语
if ($selected_language) {
load_theme_textdomain('ripro', get_template_directory() . '/languages');
load_textdomain('ripro', get_template_directory() . "/languages/$selected_language.mo");
}
}
add_action('after_setup_theme', 'load_custom_language');
/**
* 注册菜单
*/
function capalot_widget_init()
{
register_sidebar(array(
'name' => '首页模块',
'id' => 'home-module',
'description' => '首页模块主内容区域',
'before_widget' => '<div id="%1$s" class="home-widget %2$s">',
'after_widget' => '</div>',
));
register_sidebar(array(
'name' => '文章侧边栏',
'id' => 'single-sidebar',
'description' => '文章模块侧边栏区域',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
));
}
add_action('widgets_init', 'capalot_widget_init');
if (is_file($composer = get_template_directory() . '/vendor/autoload.php')) {
require_once $composer;
}
require_once get_template_directory() . '/inc/core/capalot.php';
// 加载CSF框架配置
require_once get_template_directory() . '/inc/template-csf.php';
// 加载静态资源
require_once get_template_directory() . '/inc/template-assets.php';
// 主题基本优化
require_once get_template_directory() . '/inc/template-clean.php';
// 主题后台设置
require_once get_template_directory() . '/inc/template-admin.php';
// 商城公共方法
require_once get_template_directory() . '/inc/template-shop.php';
// 主题功能标签
require_once get_template_directory() . '/inc/template-tags.php';
// 消息通知
require_once get_template_directory() . '/inc/template-mail.php';
// 伪静态路由
require_once get_template_directory() . '/inc/template-rewrite.php';
// ajax 请求
require_once get_template_directory() . '/inc/template-ajax.php';
// filters
require_once get_template_directory() . '/inc/template-filter.php';
require_once get_template_directory() . '/inc/template-walker.php';
// seo设置
require_once get_template_directory() . '/inc/template-seo.php';
// domain-check
require_once get_template_directory() . '/domain-check.php';