80, 'width' => 80, 'flex-height' => true, 'flex-width' => true)); add_theme_support('align-wide'); add_theme_support('responsive-embeds'); register_nav_menus(array( 'primary' => __('主导航菜单', 'gongxue'), )); } add_action('after_setup_theme', 'gx_theme_setup'); function gx_enqueue_assets() { $theme_dir = get_template_directory(); $theme_uri = get_template_directory_uri(); wp_enqueue_script('tailwindcss', 'https://cdn.tailwindcss.com', array(), '3.4', false); wp_add_inline_script('tailwindcss', 'tailwind.config={theme:{extend:{colors:{"apple-grey":"#F5F5F7","apple-dark":"#1D1D1F","apple-blue":"#0071E3","apple-blue-hover":"#0077ED","apple-text-gray":"#86868B"},animation:{"fade-in":"fadeIn .6s ease-out forwards","slide-up":"slideUp .6s ease-out forwards","slide-down":"slideDown .4s ease-out forwards"},keyframes:{fadeIn:{"0%":{opacity:"0"},"100%":{opacity:"1"}},slideUp:{"0%":{opacity:"0",transform:"translateY(20px)"},"100%":{opacity:"1",transform:"translateY(0)"}},slideDown:{"0%":{opacity:"0",transform:"translateY(-10px)"},"100%":{opacity:"1",transform:"translateY(0)"}}}}}};'); wp_enqueue_style('gx-style', $theme_uri . '/assets/css/main.css', array(), filemtime($theme_dir . '/assets/css/main.css')); wp_enqueue_style('gx-fonts', 'https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap', array(), null); wp_enqueue_script('gx-main', $theme_uri . '/assets/js/main.js', array(), filemtime($theme_dir . '/assets/js/main.js'), true); if (is_singular() && comments_open() && get_option('thread_comments')) { wp_enqueue_script('comment-reply'); } } add_action('wp_enqueue_scripts', 'gx_enqueue_assets'); function gx_knowledge_url() { $page_id = get_option('page_for_posts'); return $page_id ? get_permalink($page_id) : home_url('/knowledge/'); } function gx_linked_page_item($page, $fallback_label, $active = false) { if (!$page || is_wp_error($page)) { return array( 'label' => $fallback_label, 'url' => home_url('/'), 'active' => $active, ); } return array( 'label' => get_the_title($page), 'url' => get_permalink($page), 'active' => $active, ); } function gx_primary_nav_items() { $front_page = get_post((int) get_option('page_on_front')); $knowledge_page = get_post((int) get_option('page_for_posts')); $question_bank = get_page_by_path('question-bank', OBJECT, 'page'); $online_school = get_page_by_path('online-school', OBJECT, 'page'); $books_page = get_page_by_path('books', OBJECT, 'page'); return array_filter(array( gx_linked_page_item($front_page, __('首页', 'gongxue'), is_front_page()), gx_linked_page_item($question_bank, __('刷题题库', 'gongxue'), is_page('question-bank')), gx_linked_page_item($online_school, __('在线网校', 'gongxue'), is_page('online-school')), gx_linked_page_item($books_page, __('出版书籍', 'gongxue'), is_page('books')), gx_linked_page_item($knowledge_page, __('知识库', 'gongxue'), is_home() || is_archive() || is_single()), )); } function gx_format_views($count) { $count = intval($count); if ($count >= 10000) return round($count / 10000, 1) . 'w+'; if ($count >= 1000) return round($count / 1000, 1) . 'k'; return (string) $count; } function gx_get_views($post_id = null) { $post_id = $post_id ?: get_the_ID(); return intval(get_post_meta($post_id, '_gx_view_count', true)); } function gx_inc_views() { if (is_admin() || wp_doing_ajax() || wp_doing_cron() || is_feed() || !is_singular('post')) { return; } $id = get_queried_object_id(); if (!$id) return; $count = gx_get_views($id) + 1; update_post_meta($id, '_gx_view_count', $count); } add_action('template_redirect', 'gx_inc_views'); function gx_pagination() { global $wp_query; $links = paginate_links(array( 'total' => $wp_query->max_num_pages, 'current' => max(1, get_query_var('paged')), 'type' => 'array', 'prev_text' => '‹', 'next_text' => '›', )); if (!$links) return; echo '
'; } function gx_excerpt_len($len) { return 30; } add_filter('excerpt_length', 'gx_excerpt_len'); function gx_excerpt_more($more) { return '...'; } add_filter('excerpt_more', 'gx_excerpt_more'); function gx_register_sidebars() { register_sidebar(array( 'name' => __('知识库侧边栏', 'gongxue'), 'id' => 'knowledge-sidebar', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); } add_action('widgets_init', 'gx_register_sidebars'); remove_action('wp_head', 'wp_generator'); remove_action('wp_head', 'rsd_link'); remove_action('wp_head', 'wlwmanifest_link'); remove_action('wp_head', 'rest_output_link_wp_head'); remove_action('wp_head', 'wp_oembed_add_discovery_links'); remove_action('wp_head', 'wp_shortlink_wp_head'); function gx_allow_svg($mimes) { $mimes['svg'] = 'image/svg+xml'; return $mimes; } add_filter('upload_mimes', 'gx_allow_svg'); function gx_seo_description() { if (is_singular()) { $excerpt = trim(wp_strip_all_tags(get_the_excerpt())); if ($excerpt) { return $excerpt; } $content = wp_strip_all_tags(get_the_content()); return wp_trim_words($content, 28, ''); } if (is_home()) { $page_id = get_option('page_for_posts'); if ($page_id) { $excerpt = trim(wp_strip_all_tags(get_post_field('post_excerpt', $page_id))); if ($excerpt) return $excerpt; } return get_bloginfo('description'); } if (is_front_page()) { return '赋能未来,让升本更简单。恭学教育提供天津专升本刷题题库、在线网校、出版书籍与知识库服务。'; } if (is_category() || is_tag()) { $term = get_queried_object(); if ($term && !is_wp_error($term) && !empty($term->description)) { return wp_strip_all_tags($term->description); } } return get_bloginfo('description'); } function gx_seo_title() { if (is_front_page()) { return '恭学教育 - 天津专升本培训领军品牌 | 刷题题库 | 在线网校 | 出版书籍'; } if (is_home()) { return '知识库 - 天津专升本百科全书'; } if (is_category()) { $term = get_queried_object(); return ($term && !is_wp_error($term)) ? $term->name . ' - 知识库' : '知识库'; } if (is_tag()) { $term = get_queried_object(); return ($term && !is_wp_error($term)) ? '#' . $term->name . ' - 知识库' : '知识库'; } if (is_singular('post')) { return get_the_title() . ' - 知识库'; } if (is_page()) { return get_the_title(); } return wp_get_document_title(); } function gx_seo_image() { if (is_singular() && has_post_thumbnail()) { $image = get_the_post_thumbnail_url(null, 'full'); if ($image) return $image; } $cfg = gx_asset_config(); return $cfg['hero_video_cover']; } function gx_output_seo_meta() { if (is_admin()) return; $title = gx_seo_title(); $desc = gx_seo_description(); $image = gx_seo_image(); $url = is_singular() ? get_permalink() : (is_home() ? gx_knowledge_url() : (is_front_page() ? home_url('/') : home_url(add_query_arg(array(), $GLOBALS['wp']->request ?? '')))); echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; if (is_singular('post')) { $author = get_the_author(); $date = get_the_date('c'); $headline = get_the_title(); $article = array( '@context' => 'https://schema.org', '@type' => 'Article', 'headline' => $headline, 'description' => $desc, 'author' => array('@type' => 'Person', 'name' => $author), 'datePublished' => $date, 'dateModified' => get_the_modified_date('c'), 'mainEntityOfPage' => $url, 'image' => array($image), 'publisher' => array('@type' => 'Organization', 'name' => get_bloginfo('name')), ); echo '' . "\n"; } } add_action('wp_head', 'gx_output_seo_meta', 1); function gx_asset_config() { return array( 'hero_video_url' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/%E6%81%AD%E5%AD%A6%E6%95%99%E8%82%B2%E5%93%81%E7%89%8C%E5%AE%A3%E4%BC%A0.mp4', 'hero_video_cover' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/%E5%B0%81%E9%9D%A2.png', 'question_bank_mockup' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/tikudemo-tuya.webp', 'online_school_mockup' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/wangkedemo-tuya.webp', 'customer_service_qrcode' => get_template_directory_uri() . '/assets/images/customer-service-qrcode.jpg', 'stats' => array('years' => 7, 'students' => '21W+', 'coverage' => '100%', 'schools' => 12), 'books' => array( array('title' => '天津专升本数学自学参考书', 'price' => '128.00', 'old' => '168.00', 'image' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/%E6%95%B0%E5%AD%A61-tuya.webp', 'tag' => '畅销榜第一'), array('title' => '天津专升本语文自学参考书', 'price' => '128.00', 'old' => '168.00', 'image' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/%E8%AF%AD%E6%96%871-tuya.webp', 'tag' => '新书首发'), array('title' => '天津专升本英语自学参考书', 'price' => '128.00', 'old' => '168.00', 'image' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/%E8%8B%B1%E8%AF%AD1-tuya.webp', 'tag' => '热销'), array('title' => '天津专升本计算机自学参考书', 'price' => '128.00', 'old' => '168.00', 'image' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%80%92%E5%BD%B1-tuya.webp', 'tag' => '必刷'), array('title' => '三年模拟一年升本刷题系列套装', 'price' => '128.00', 'old' => '198.00', 'image' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/%E4%B8%89%E4%B8%80-tuya.webp', 'tag' => '限时优惠'), ), 'team' => array( array('name' => '陈奕静老师', 'role' => '七年专业课教龄王牌老师', 'avatar' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/%E9%99%88%E5%A5%95%E9%9D%99-tuya.webp'), array('name' => '郭馨老师', 'role' => '七年专业课教龄王牌老师', 'avatar' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/%E9%83%AD%E9%A6%A8%20%282%29-%E8%AE%A1%E7%AE%97%E6%9C%BA-tuya.webp'), array('name' => '师哲老师', 'role' => '教学总监', 'avatar' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/%E5%B8%88%E5%93%B22-tuya.webp'), array('name' => '王沐妍老师', 'role' => '七年专业课教龄王牌老师', 'avatar' => 'https://fenxiang-1304851894.cos.ap-nanjing.myqcloud.com/%E7%8E%8B%E6%B2%90%E5%A6%8D-tuya.webp'), ), ); } function gx_phone_mockup($image, $class = '') { ?>
App Screen