__('Primary Menu', 'itstudio'), )); load_theme_textdomain('itstudio', get_template_directory() . '/languages'); } add_action('after_setup_theme', 'itstudio_theme_setup'); function itstudio_apply_site_identity() { $site_name = base64_decode('54ix54m55bel5L2c5a6k'); $site_tagline = base64_decode('54ix54m55bel5L2c5a6k5a6Y5pa5572R56uZ'); if (get_option('blogname') !== $site_name) { update_option('blogname', $site_name); } if (get_option('blogdescription') !== $site_tagline) { update_option('blogdescription', $site_tagline); } } add_action('init', 'itstudio_apply_site_identity', 20); function itstudio_output_favicon() { $favicon_url = get_template_directory_uri() . '/resources/it_logo_2024.svg'; echo '' . "\n"; echo '' . "\n"; } function itstudio_disable_default_site_icon() { remove_action('wp_head', 'wp_site_icon', 99); remove_action('admin_head', 'wp_site_icon', 99); remove_action('login_head', 'wp_site_icon', 99); } add_action('init', 'itstudio_disable_default_site_icon'); add_action('wp_head', 'itstudio_output_favicon', 1); add_action('admin_head', 'itstudio_output_favicon', 1); add_action('login_head', 'itstudio_output_favicon', 1); function itstudio_enqueue_scripts() { // 基础样式 (Style.css) wp_enqueue_style('itstudio-style', get_stylesheet_uri(), array(), '2.1.2'); wp_enqueue_style('itstudio-header', get_template_directory_uri() . '/assets/css/header.css', array('itstudio-style'), '2.1.2'); wp_enqueue_style('itstudio-footer', get_template_directory_uri() . '/assets/css/footer.css', array('itstudio-style'), '2.1.2'); wp_enqueue_style('itstudio-content', get_template_directory_uri() . '/assets/css/content.css', array('itstudio-style'), '2.1.2'); // 仅在首页加载首页样式 if (is_front_page() || is_home()) { wp_enqueue_style('itstudio-front-page', get_template_directory_uri() . '/assets/css/front-page.css', array('itstudio-style'), '2.1.2'); wp_enqueue_script('itstudio-landing-hero-canvas', get_template_directory_uri() . '/assets/js/landing-hero-canvas.js', array(), '1.0.0', true); } // 仅在工作室介绍页加载(包含 /about fallback) $is_about = is_page('about') || is_page_template('page-about.php'); if (!$is_about && is_404()) { global $wp; $request = isset($wp->request) ? trim($wp->request, '/') : ''; $is_about = ($request === 'about'); } if ($is_about) { wp_enqueue_style('itstudio-about-hero', get_template_directory_uri() . '/assets/css/about-hero.css', array('itstudio-content'), '2.1.2'); wp_enqueue_script('itstudio-about-hero-waves', get_template_directory_uri() . '/assets/js/hero-waves.js', array(), '1.0.0', true); wp_enqueue_script('itstudio-about-hero', get_template_directory_uri() . '/assets/js/home-hero.js', array(), '1.0.0', true); } // Scripts wp_enqueue_script('itstudio-theme-toggle', get_template_directory_uri() . '/assets/js/theme-toggle.js', array(), '1.0.0', true); wp_enqueue_script('itstudio-lang-toggle', get_template_directory_uri() . '/assets/js/lang-toggle.js', array(), '1.0.0', true); wp_enqueue_script('itstudio-main', get_template_directory_uri() . '/assets/js/main.js', array(), '1.0.0', true); } add_action('wp_enqueue_scripts', 'itstudio_enqueue_scripts'); function itstudio_register_sidebars() { register_sidebar(array( 'name' => __('Footer - Column 1', 'itstudio'), 'id' => 'footer-1', 'description' => __('Footer widget area 1', 'itstudio'), 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', )); register_sidebar(array( 'name' => __('Footer - Column 2', 'itstudio'), 'id' => 'footer-2', 'description' => __('Footer widget area 2', 'itstudio'), 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', )); } add_action('widgets_init', 'itstudio_register_sidebars'); function itstudio_intro_body_class($classes) { $is_about = is_page('about') || is_page_template('page-about.php'); if (!$is_about && is_404()) { global $wp; $request = isset($wp->request) ? trim($wp->request, '/') : ''; $is_about = ($request === 'about'); } if ($is_about) { $classes[] = 'intro-about'; } return $classes; } add_filter('body_class', 'itstudio_intro_body_class'); function itstudio_custom_post_types() { register_post_type('announcement', array( 'labels' => array( 'name' => __('Announcements', 'itstudio'), 'singular_name' => __('Announcement', 'itstudio'), ), 'public' => true, 'has_archive' => true, 'supports' => array('title', 'editor', 'thumbnail', 'excerpt'), 'menu_icon' => 'dashicons-megaphone', 'show_in_rest' => true, )); } add_action('init', 'itstudio_custom_post_types'); // Fallback: render /about even if the page isn't created in WP admin. function itstudio_about_fallback() { if (!is_404()) { return; } global $wp; $request = isset($wp->request) ? trim($wp->request, '/') : ''; if ($request !== 'about') { return; } $template = locate_template('page-about.php'); if ($template) { global $wp_query; if ($wp_query) { $wp_query->is_404 = false; $wp_query->is_page = true; $wp_query->is_singular = true; $virtual_post = new WP_Post((object) array( 'ID' => 0, 'post_type' => 'page', 'post_parent' => 0, 'post_title' => __('工作室介绍', 'itstudio'), 'post_status' => 'publish', 'post_name' => 'about', 'post_content' => '', )); $wp_query->post = $virtual_post; $wp_query->posts = array($virtual_post); $wp_query->queried_object = $virtual_post; $wp_query->queried_object_id = 0; $wp_query->post_count = 1; $wp_query->found_posts = 1; $wp_query->max_num_pages = 1; global $post; $post = $virtual_post; setup_postdata($post); } add_filter('document_title_parts', function ($parts) { $parts['title'] = __('工作室介绍', 'itstudio'); return $parts; }); status_header(200); nocache_headers(); include $template; exit; } } add_action('template_redirect', 'itstudio_about_fallback'); /** * GitHub 风格评论 */ function itstudio_comment_callback($comment, $args, $depth) { ?>
  • >
    comment_approved == '0') : ?>