0) { wp_add_inline_style( 'jio-public', '.enlighter-default .enlighter,.wp-block-code:not(:has(.enlighter)),.enlighter-pre:not(:has(.enlighter)){max-height:' . $max_height_css . 'px;overflow-y:auto !important;}' ); } if (empty($code_highlight_css['showButtons'])) { wp_add_inline_style('jio-public', '.enlighter-toolbar{display:none !important;}'); } } } $core_dep = 'jio-public'; $deps = [$core_dep]; $enqueue_module = function ($slug) use ($base_uri, $version, $deps) { $path = get_template_directory() . '/assets/css/frontend/' . $slug . '.css'; wp_enqueue_style( 'jio-' . $slug, $base_uri . '/assets/css/frontend/' . $slug . '.css', $deps, (file_exists($path) ? (string) filemtime($path) : $version) ); }; if (!is_user_logged_in() || (bool) get_query_var('jio_sign')) { $auth_css = get_template_directory() . '/assets/css/routes/sign.css'; wp_enqueue_style( 'jio-auth', $base_uri . '/assets/css/routes/sign.css', [$core_dep], file_exists($auth_css) ? (string) filemtime($auth_css) : $version ); } // Shared VIP purchase/poll coordinator for modal and credits surfaces. $vip_on = class_exists('\Jio\Settings\Settings') && !empty(\Jio\Settings\Settings::get_payment_vip_settings()['enabled']); $credits_on = is_user_logged_in() && class_exists('\Jio\Settings\Settings') && \Jio\Settings\Settings::credits_enabled(); $balance_on = is_user_logged_in() && !empty(\Jio\Settings\Settings::get_payment_recharge_settings()['enabled']); $affiliate_on = is_user_logged_in() && class_exists('\\Jio\\Settings\\Settings') && !empty(\Jio\Settings\Settings::get_affiliate_settings()['enabled']); $signin_on = is_user_logged_in() && class_exists('\Jio\Credits\Signin') && class_exists('\Jio\Settings\Settings') && !empty(\Jio\Settings\Settings::get_signin_reward_settings()['enabled']); // 统一收银台(站内二维码 / 当前页跳转 / 表单提交 / JSAPI):按需作为依赖入队。 $qrcode_js_path = get_template_directory() . '/assets/js/vendor/qrcode.min.js'; wp_register_script( 'jio-qrcode', $base_uri . '/assets/js/vendor/qrcode.min.js', [], file_exists($qrcode_js_path) ? (string) filemtime($qrcode_js_path) : $version, true ); $pay_cashier_js = get_template_directory() . '/assets/js/pay-cashier.js'; wp_register_script( 'jio-pay-cashier', $base_uri . '/assets/js/pay-cashier.js', ['loader_js', 'jio-qrcode'], file_exists($pay_cashier_js) ? (string) filemtime($pay_cashier_js) : $version, true ); $vip_coordinator = get_template_directory() . '/assets/js/vip-purchase-coordinator.js'; if ((($vip_on && is_user_logged_in()) || $credits_on || $affiliate_on) && file_exists($vip_coordinator)) { wp_enqueue_script( 'jio-vip-coordinator', $base_uri . '/assets/js/vip-purchase-coordinator.js', ['loader_js'], (string) filemtime($vip_coordinator), true ); } // VIP modal (legacy .pay-vip) if ($vip_on && is_user_logged_in()) { $vip_css = get_template_directory() . '/assets/css/frontend/vip-modal.css'; if (file_exists($vip_css)) { wp_enqueue_style( 'jio-vip-modal', $base_uri . '/assets/css/frontend/vip-modal.css', [$core_dep], (string) filemtime($vip_css) ); } $vip_js = get_template_directory() . '/assets/js/pay-vip.js'; if (file_exists($vip_js)) { wp_enqueue_script( 'jio-pay-vip', $base_uri . '/assets/js/pay-vip.js', ['loader_js', 'jio-vip-coordinator', 'jio-pay-cashier'], (string) filemtime($vip_js), true ); } } // 4b. 路由判定 $is_home_or_archive = is_home() || is_front_page() || is_archive() || is_search(); // 资源单页(post + _jio_is_resource) $is_single_resource = (function_exists('jio_is_resource_post') && is_singular() && jio_is_resource_post(get_queried_object_id())); // 普通博客 single(排除资源型 post) $is_single_post = is_singular('post') && !$is_single_resource; // 付费下载/付费墙:任意 singular 需收银台/下载脚本 $is_paid_content_single = false; if (is_singular()) { $qid = (int) get_queried_object_id(); if ($qid > 0) { if (function_exists('jio_is_downloadable_content') && jio_is_downloadable_content($qid)) { $is_paid_content_single = true; } elseif (function_exists('jio_is_paid_post') && jio_is_paid_post($qid)) { $is_paid_content_single = true; } elseif (function_exists('jio_get_pay_meta')) { $pm = jio_get_pay_meta($qid); $pt = (string) ($pm['pay_type'] ?? 'no'); $is_paid_content_single = ($pt !== '' && $pt !== 'no'); } } } // 独立下载页模板 $is_download_file_page = is_page_template('templates/pages/page-download-file.php'); // 资源虚拟列表 /resources/ $is_resource_archive = function_exists('jio_is_resource_archive') && jio_is_resource_archive(); // /user/{nicename}/ 自定义重写路由(class-jio-user.php 注册) // 此路径下 is_page() / is_page_template() 均为 false,需手动识别以正确入队 CSS $is_profile_route = (bool) get_query_var('jio_author_identifier'); $is_user_center_route = (bool) get_query_var('jio_user_center'); $is_static_page = is_page() || is_singular('page') || $is_profile_route || $is_user_center_route; $is_auth_route = (bool) get_query_var('jio_sign'); $is_auth_page = $is_auth_route || (function_exists('jio_is_auth_page_request') && jio_is_auth_page_request()); $is_profile_page = $is_profile_route || (function_exists('jio_is_user_home_page') && jio_is_user_home_page()) || (function_exists('jio_is_user_center_page') && jio_is_user_center_page()) || is_page_template('templates/pages/page-profile.php') || is_page_template('templates/pages/page-user-home.php'); $is_fixed_homepage = function_exists('jio_is_fixed_homepage_request') && jio_is_fixed_homepage_request(); // CMS route detection. $is_cms_mode = function_exists('jio_is_cms_mode') ? jio_is_cms_mode() : false; $singular_assets = $this->resolve_singular_asset_requirements( $is_single_post, $is_single_resource, $is_paid_content_single ); // 打印样式(media=print):内容页常驻,无设置开关(参考主题未提供该配置)。 if ($is_single_post || $is_single_resource || $is_static_page) { $print_path = get_template_directory() . '/assets/css/frontend/print.css'; wp_enqueue_style( 'jio-print', $base_uri . '/assets/css/frontend/print.css', [], file_exists($print_path) ? (string) filemtime($print_path) : $version, 'print' ); } // 首页/归档/搜索:卡片 + 侧栏 if ($is_home_or_archive && !$is_fixed_homepage) { $enqueue_module('post-card'); $enqueue_module('sidebar'); $enqueue_module('breadcrumb'); } // Normal articles: one small core bundle plus content/settings-driven feature leaves. if ($is_single_post && !empty($singular_assets['is_article'])) { $single_filename = file_exists(get_template_directory() . '/assets/css/build/single.min.css') ? 'single.min.css' : 'single.css'; $single_path = get_template_directory() . '/assets/css/build/' . $single_filename; wp_enqueue_style( 'jio-single-core', $base_uri . '/assets/css/build/' . $single_filename, [$core_dep], file_exists($single_path) ? (string) filemtime($single_path) : $version ); $single_features = [ 'needs_navigation' => 'single-post/navigation', 'needs_cover' => 'single-post/cover', 'needs_related_toc' => 'single-post/related-toc', 'has_hidden_content' => 'single-post/hidden-content', 'needs_pay_box' => 'pay-box', ]; $single_feature_handles = []; foreach ($single_features as $requirement => $part) { if (empty($singular_assets[$requirement])) { continue; } $path = get_template_directory() . '/assets/css/frontend/' . $part . '.css'; if (!file_exists($path)) { continue; } $handle = 'jio-' . str_replace('/', '-', $part); wp_enqueue_style( $handle, $base_uri . '/assets/css/frontend/' . $part . '.css', ['jio-single-core'], (string) filemtime($path) ); $single_feature_handles[] = $handle; } // Preserve the public aggregate handle without requesting its @import file. wp_register_style( 'jio-single-post', false, array_merge(['jio-single-core'], $single_feature_handles), $version ); wp_enqueue_style('jio-single-post'); if (!empty($singular_assets['needs_post_card'])) { $enqueue_module('post-card'); } if (!empty($singular_assets['needs_sidebar'])) { $enqueue_module('sidebar'); } if (!empty($singular_assets['needs_breadcrumb'])) { $enqueue_module('breadcrumb'); } } // 评论区样式(硬切换后全部自有):任何会渲染评论区的 singular // (普通文章 / 资源型 post / 启用评论的页面)统一加载 build 聚合。 // 缺失时手机端 .mobile-fixed 抽屉规则不生效,表单会按文档流直接显示。 if (is_singular() && !empty($singular_assets['needs_comments'])) { $comments_filename = file_exists(get_template_directory() . '/assets/css/build/comments.min.css') ? 'comments.min.css' : 'comments.css'; $comments_path = get_template_directory() . '/assets/css/build/' . $comments_filename; wp_enqueue_style( 'jio-comments', $base_uri . '/assets/css/build/' . $comments_filename, [$core_dep], file_exists($comments_path) ? (string) filemtime($comments_path) : $version ); } // 静态页面 + 用户中心 + 友链等 if ($is_static_page) { $enqueue_module('pages'); $enqueue_module('single-post'); // 复用 entry-content 排版 $enqueue_module('post-card'); // post-grid / post-card(用户中心文章列表) $enqueue_module('breadcrumb'); // 评论区样式由上方 is_singular 统一入口按 needs_comments 加载。 } // 举报脚本:举报入口渲染于文章页 meta 菜单、评论区与用户主页/个人中心, // 因此 singular 页面与 profile 路由都需要加载(文章页举报按钮此前无脚本支撑)。 // 禁封脚本:禁封入口渲染于用户主页封面三点菜单、评论区三点菜单与文章 // 作者栏三点菜单,与举报脚本同一组页面,合并加载。 if (is_singular() || $is_profile_page) { $report_js_path = get_template_directory() . '/assets/js/report.js'; if (file_exists($report_js_path)) { $report_css_path = get_template_directory() . '/assets/css/frontend/report.css'; wp_enqueue_style( 'jio-report', $base_uri . '/assets/css/frontend/report.css', [$core_dep], file_exists($report_css_path) ? (string) filemtime($report_css_path) : $version ); wp_enqueue_script( 'jio-report', $base_uri . '/assets/js/report.js', ['loader_js'], filemtime($report_js_path) ?: $version, true ); } $user_ban_js_path = get_template_directory() . '/assets/js/user-ban.js'; if (file_exists($user_ban_js_path)) { wp_enqueue_script( 'jio-user-ban', $base_uri . '/assets/js/user-ban.js', ['loader_js'], filemtime($user_ban_js_path) ?: $version, true ); } } // 用户中心 / 公开主页:路由专属 CSS if ($is_profile_page) { // 关注脚本已在全局栈注册(ScriptsPart1c),data-jio-follow 按钮 // 也渲染于文章页作者栏与各处用户卡片,不能仅限本路由加载。 $author_js_path = get_template_directory() . '/assets/js/author.js'; if (file_exists($author_js_path)) { wp_enqueue_script( 'jio-author', $base_uri . '/assets/js/author.js', ['loader_js'], (string) filemtime($author_js_path), true ); } // Enqueue every profile leaf directly. Nested @imports are not versioned, // so browsers can otherwise retain stale layout/modal rules after deploys. $profile_parts = ['layout', 'lists']; $profile_deps = [$core_dep]; foreach ($profile_parts as $part_index => $part) { $part_path = get_template_directory() . '/assets/css/routes/profile/' . $part . '.css'; $is_last_part = $part_index === count($profile_parts) - 1; $part_handle = $is_last_part ? 'jio-route-profile' : 'jio-route-profile-' . $part; wp_enqueue_style( $part_handle, $base_uri . '/assets/css/routes/profile/' . $part . '.css', $profile_deps, file_exists($part_path) ? (string) filemtime($part_path) : $version ); $profile_deps = [$part_handle]; } // 本人中心 vs 公开主页拆分加载 $is_public_user_home = $is_profile_route || (function_exists('jio_is_user_home_page') && jio_is_user_home_page()) || is_page_template('templates/pages/page-user-home.php'); if ($is_public_user_home) { // /user/{nicename}/ 公开主页 $user_home_css_path = get_template_directory() . '/assets/css/routes/user-home.css'; wp_enqueue_style( 'jio-route-user-home', $base_uri . '/assets/css/routes/user-home.css', ['jio-route-profile'], file_exists($user_home_css_path) ? (string) filemtime($user_home_css_path) : $version ); } else { // Keep the legacy aggregate's cascade order, but give every leaf its // own cache version. The final leaf retains the public aggregate handle. $user_center_parts = [ 'user-center/shell', 'user-center/credits', 'user-center/vip', 'user-center/level', 'user-center/settings', 'user-center/revenue', 'user-center/revenue-earnings', 'user-center/responsive', ]; $user_center_deps = ['jio-route-profile']; foreach ($user_center_parts as $part_index => $part) { $part_path = get_template_directory() . '/assets/css/routes/' . $part . '.css'; $is_last_part = $part_index === count($user_center_parts) - 1; $part_handle = $is_last_part ? 'jio-route-user-center' : 'jio-route-' . str_replace('/', '-', $part); wp_enqueue_style( $part_handle, $base_uri . '/assets/css/routes/' . $part . '.css', $user_center_deps, file_exists($part_path) ? (string) filemtime($part_path) : $version ); $user_center_deps = [$part_handle]; } // Orders is a lazy user-center panel, so its independent assets must // be ready before client-side panel replacement can insert its markup. $has_orders_panel = false; $has_tickets_panel = false; if (class_exists('\Jio\User\Center')) { $dashboard_tabs = \Jio\User\Center::get_instance()->get_dashboard_tabs(); $has_orders_panel = isset($dashboard_tabs['orders']); $has_tickets_panel = isset($dashboard_tabs['tickets']); } if ($has_orders_panel) { $orders_css = get_template_directory() . '/assets/css/routes/orders.css'; if (file_exists($orders_css)) { wp_enqueue_style( 'jio-orders', $base_uri . '/assets/css/routes/orders.css', [$core_dep], (string) filemtime($orders_css) ); } $order_center_js = get_template_directory() . '/assets/js/order-center.js'; if (file_exists($order_center_js)) { wp_enqueue_script( 'jio-order-center', $base_uri . '/assets/js/order-center.js', ['loader_js', 'jio-pay-cashier'], (string) filemtime($order_center_js), true ); } // 工单中心(提交 / 详情 / 回复弹窗):与订单中心同面板、同条件入队。 if ($has_tickets_panel) { $tickets_css = get_template_directory() . '/assets/css/routes/tickets.css'; if (file_exists($tickets_css)) { wp_enqueue_style( 'jio-tickets', $base_uri . '/assets/css/routes/tickets.css', [$core_dep], (string) filemtime($tickets_css) ); } // 回复框 / 新建表单 / 待发送图片条:依赖 tickets.css 的 --tickets-* token。 $tickets_compose_css = get_template_directory() . '/assets/css/routes/tickets-compose.css'; if (file_exists($tickets_compose_css)) { wp_enqueue_style( 'jio-tickets-compose', $base_uri . '/assets/css/routes/tickets-compose.css', ['jio-tickets'], (string) filemtime($tickets_compose_css) ); } // 共享工具层(请求 / 弹窗 / 上传 / 行内校验)先于面板脚本加载。 $ticket_core_js = get_template_directory() . '/assets/js/ticket-center-core.js'; if (file_exists($ticket_core_js)) { wp_register_script( 'jio-ticket-center-core', $base_uri . '/assets/js/ticket-center-core.js', ['loader_js'], (string) filemtime($ticket_core_js), true ); } $ticket_center_js = get_template_directory() . '/assets/js/ticket-center.js'; if (file_exists($ticket_center_js)) { wp_enqueue_script( 'jio-ticket-center', $base_uri . '/assets/js/ticket-center.js', ['loader_js', 'jio-ticket-center-core'], (string) filemtime($ticket_center_js), true ); } } } $identity_js = get_template_directory() . '/assets/js/routes/user-center-auth.js'; if (file_exists($identity_js)) { wp_enqueue_script( 'jio-route-user-center-auth', $base_uri . '/assets/js/routes/user-center-auth.js', ['loader_js'], (string) filemtime($identity_js), true ); } $user_center_deps = file_exists($identity_js) ? ['loader_js', 'jio-route-user-center-auth'] : ['loader_js']; if ($has_orders_panel && wp_script_is('jio-order-center', 'registered')) { $user_center_deps[] = 'jio-order-center'; } if ($has_tickets_panel && wp_script_is('jio-ticket-center', 'registered')) { $user_center_deps[] = 'jio-ticket-center'; } wp_enqueue_script( 'jio-route-user-center', $base_uri . '/assets/js/routes/user-center.js', $user_center_deps, file_exists(get_template_directory() . '/assets/js/routes/user-center.js') ? (string) filemtime(get_template_directory() . '/assets/js/routes/user-center.js') : $version, true ); } } // 分类汇总页:路由专属 CSS if (is_page_template('templates/pages/page-categories.php')) { wp_enqueue_style( 'jio-route-categories', $base_uri . '/assets/css/routes/categories.css', ['jio-public'], $version ); } // 友情链接页:原生链接列表 + 申请表单 if (is_page_template('templates/pages/page-friends.php')) { $links_css = get_template_directory() . '/assets/css/routes/links.css'; if (file_exists($links_css)) { wp_enqueue_style( 'jio-route-links', $base_uri . '/assets/css/routes/links.css', ['jio-public'], (string) filemtime($links_css) ); } $links_js = get_template_directory() . '/assets/js/links-submit.js'; if (file_exists($links_js)) { wp_enqueue_script( 'jio-links-submit', $base_uri . '/assets/js/links-submit.js', ['loader_js'], (string) filemtime($links_js), true ); wp_localize_script('jio-links-submit', 'jioLinksSubmit', [ 'ajaxUrl' => admin_url('admin-ajax.php'), 'i18n' => [ 'submitting' => __('正在提交…', 'jio'), 'success' => __('提交成功', 'jio'), 'error' => __('提交失败,请重试', 'jio'), 'captcha' => __('请完成人机验证', 'jio'), ], ]); } } // 文章导航页(postsnavs.php) if (is_page_template('templates/pages/page-posts-navs.php')) { $page_navs_js = get_template_directory() . '/assets/js/page-navs.js'; if (file_exists($page_navs_js)) { wp_enqueue_script( 'jio-page-navs', $base_uri . '/assets/js/page-navs.js', ['loader_js'], (string) filemtime($page_navs_js), true ); } $pn_css = get_template_directory() . '/assets/css/routes/posts-navs.css'; if (file_exists($pn_css)) { wp_enqueue_style( 'jio-route-posts-navs', $base_uri . '/assets/css/routes/posts-navs.css', ['jio-public'], (string) filemtime($pn_css) ); } $pn_js = get_template_directory() . '/assets/js/posts-navs-page.js'; if (file_exists($pn_js)) { wp_enqueue_script( 'jio-posts-navs-page', $base_uri . '/assets/js/posts-navs-page.js', ['loader_js'], (string) filemtime($pn_js), true ); } } // 文章归档页 if (is_page_template('templates/pages/page-archives.php')) { $ar_css = get_template_directory() . '/assets/css/routes/archives.css'; if (file_exists($ar_css)) { wp_enqueue_style( 'jio-route-archives', $base_uri . '/assets/css/routes/archives.css', ['jio-public'], (string) filemtime($ar_css) ); } } // 消息中心页 if (get_query_var('jio_message_view')) { $messages_css = get_template_directory() . '/assets/css/frontend/messages.css'; if (file_exists($messages_css)) { wp_enqueue_style( 'jio-messages', $base_uri . '/assets/css/frontend/messages.css', ['jio-public'], (string) filemtime($messages_css) ); } $messages_js = get_template_directory() . '/assets/js/messages.js'; if (file_exists($messages_js)) { wp_enqueue_script( 'jio-messages', $base_uri . '/assets/js/messages.js', ['loader_js'], (string) filemtime($messages_js), true ); } } // Unified authentication page shell. if ($is_auth_page) { $enqueue_module('pages'); } // 404 页面 if (is_404()) { $enqueue_module('pages'); } // Resource archives use the canonical legacy article-card stylesheet. if ($is_resource_archive || $is_single_resource || ($is_cms_mode && ($is_home_or_archive || $is_static_page) && !$is_fixed_homepage)) { if (!$is_home_or_archive && !$is_single_post && !$is_static_page) { $enqueue_module('post-card'); } } // 单篇资源专属样式 if ($is_single_resource) { $enqueue_module('single-post'); // 资源单页同样渲染文章封面(needs_cover 对资源文章同样成立)。 // cover 样式必须以 filemtime 版本号的 leaf 直接入队:聚合文件的 // @import 无版本号,浏览器会拿旧缓存(含已废弃的 .single-cover // padding 规则)把封面高度链挤成 0,导致封面空白。 if (!empty($singular_assets['needs_cover'])) { $single_cover_path = get_template_directory() . '/assets/css/frontend/single-post/cover.css'; if (file_exists($single_cover_path)) { wp_enqueue_style( 'jio-single-post-cover', $base_uri . '/assets/css/frontend/single-post/cover.css', $deps, (string) filemtime($single_cover_path) ); } } $resource_meta_path = get_template_directory() . '/assets/css/frontend/resource-meta/part.css'; wp_enqueue_style( 'jio-resource-meta', $base_uri . '/assets/css/frontend/resource-meta/part.css', $deps, file_exists($resource_meta_path) ? (string) filemtime($resource_meta_path) : $version ); // 评论区样式由统一入口按 needs_comments 加载。 } // 资源归档专属样式 if ($is_resource_archive) { $enqueue_module('resource-archive'); } // 单篇资源 / 付费内容 / 独立下载页:下载 + 收银台脚本 if ($is_single_resource || $is_paid_content_single || $is_download_file_page) { $cms_download_css_path = get_template_directory() . '/assets/css/frontend/cms-download.css'; wp_enqueue_style( 'jio-cms-download', $base_uri . '/assets/css/frontend/cms-download.css', [$core_dep], file_exists($cms_download_css_path) ? (string) filemtime($cms_download_css_path) : $version ); $cms_download_js_path = get_template_directory() . '/assets/js/cms-download.js'; wp_enqueue_script( 'jio-cms-download', $base_uri . '/assets/js/cms-download.js', ['loader_js', 'jio-pay-cashier'], file_exists($cms_download_js_path) ? (string) filemtime($cms_download_js_path) : $version, true ); } if ($is_fixed_homepage) { $homepage_filename = file_exists(get_template_directory() . '/assets/css/build/homepage.min.css') ? 'homepage.min.css' : 'homepage.css'; $homepage_bundle = get_template_directory() . '/assets/css/build/' . $homepage_filename; wp_enqueue_style( 'jio-homepage-fixed', $base_uri . '/assets/css/build/' . $homepage_filename, ['jio-public'], file_exists($homepage_bundle) ? (string) filemtime($homepage_bundle) : $version ); } // 积分相关:已登录 + 启用积分功能时全站加载 if ($credits_on || $balance_on || $affiliate_on) { $enqueue_module('credits'); // profile 页:加载 credits.js(签到 + 邀请 + 提现交互) if ($is_profile_page) { // jio-pay-cashier 依赖 jio-qrcode(推广海报二维码同用)。 $credits_js_path = get_template_directory() . '/assets/js/credits.js'; wp_enqueue_script( 'jio-credits', $base_uri . '/assets/js/credits.js', ['loader_js', 'jio-vip-coordinator', 'jio-pay-cashier'], file_exists($credits_js_path) ? (string) filemtime($credits_js_path) : $version, true ); foreach (['credits-withdraw-history' => ['loader_js']] + ($affiliate_on ? ['credits-affiliate' => ['loader_js', 'jio-qrcode']] : []) as $credits_part => $credits_part_deps) { $credits_part_path = get_template_directory() . '/assets/js/' . $credits_part . '.js'; wp_enqueue_script( 'jio-' . $credits_part, $base_uri . '/assets/js/' . $credits_part . '.js', $credits_part_deps, file_exists($credits_part_path) ? (string) filemtime($credits_part_path) : $version, true ); } } } if ($signin_on) { $signin_js_path = get_template_directory() . '/assets/js/signin.js'; wp_enqueue_script( 'jio-signin', $base_uri . '/assets/js/signin.js', ['loader_js'], file_exists($signin_js_path) ? (string) filemtime($signin_js_path) : $version, true ); } // Badges UI: user center + public profile (legacy medal modal/list). if (class_exists('\Jio\User\Badges') && \Jio\User\Badges::enabled()) { $is_badge_surface = $is_profile_page || is_author() || (function_exists('jio_is_user_home_page') && jio_is_user_home_page()) || (function_exists('jio_is_user_center_page') && jio_is_user_center_page()); if ($is_badge_surface) { $enqueue_module('medal'); $badge_actions_path = get_template_directory() . '/assets/js/user-badge-actions.js'; if (file_exists($badge_actions_path)) { wp_enqueue_script( 'jio-user-badge-actions', $base_uri . '/assets/js/user-badge-actions.js', ['loader_js'], (string) filemtime($badge_actions_path), true ); } } } $this->enqueue_public_fonts_js_and_data( $base_uri, $core_dep, $deps, $is_fixed_homepage, $is_home_or_archive, $is_single_post, $is_single_resource, $version, $singular_assets ); } }