chore: 清理未提交的文件
- 删除 page-ai-summary-query.php 模板文件 - 删除 js-fallback.js - 其他文件的修改
This commit is contained in:
1
404.php
1
404.php
@@ -10,7 +10,6 @@
|
|||||||
link.href = 'https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700';
|
link.href = 'https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700';
|
||||||
link.rel = 'stylesheet';
|
link.rel = 'stylesheet';
|
||||||
link.onerror = function() {
|
link.onerror = function() {
|
||||||
console.warn('Google Fonts 加载失败,使用系统字体');
|
|
||||||
document.body.style.fontFamily = '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif';
|
document.body.style.fontFamily = '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif';
|
||||||
};
|
};
|
||||||
document.head.appendChild(link);
|
document.head.appendChild(link);
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ $error = '';
|
|||||||
|
|
||||||
if (!empty($query_code)) {
|
if (!empty($query_code)) {
|
||||||
if (strlen($query_code) !== 8) {
|
if (strlen($query_code) !== 8) {
|
||||||
$error = __('识别码格式无效,应为 8 位字符', 'argon');
|
$error = __('识别码格式无效', 'argon');
|
||||||
} else {
|
} else {
|
||||||
global $wpdb;
|
global $wpdb;
|
||||||
$post_id = $wpdb->get_var($wpdb->prepare(
|
$post_id = $wpdb->get_var($wpdb->prepare(
|
||||||
@@ -32,7 +32,6 @@ if (!empty($query_code)) {
|
|||||||
'post_modified' => get_the_modified_date('Y-m-d H:i:s', $post_id),
|
'post_modified' => get_the_modified_date('Y-m-d H:i:s', $post_id),
|
||||||
'post_author' => get_the_author_meta('display_name', $post->post_author),
|
'post_author' => get_the_author_meta('display_name', $post->post_author),
|
||||||
'summary' => get_post_meta($post_id, '_argon_ai_summary', true),
|
'summary' => get_post_meta($post_id, '_argon_ai_summary', true),
|
||||||
'summary_hash' => get_post_meta($post_id, '_argon_ai_summary_hash', true),
|
|
||||||
'model' => get_post_meta($post_id, '_argon_ai_summary_model', true),
|
'model' => get_post_meta($post_id, '_argon_ai_summary_model', true),
|
||||||
'provider' => get_post_meta($post_id, '_argon_ai_summary_provider', true),
|
'provider' => get_post_meta($post_id, '_argon_ai_summary_provider', true),
|
||||||
'generated_time' => get_post_meta($post_id, '_argon_ai_summary_time', true),
|
'generated_time' => get_post_meta($post_id, '_argon_ai_summary_time', true),
|
||||||
@@ -52,9 +51,6 @@ if (!empty($query_code)) {
|
|||||||
];
|
];
|
||||||
|
|
||||||
$result['provider_display'] = isset($provider_names[$result['provider']]) ? $provider_names[$result['provider']] : $result['provider'];
|
$result['provider_display'] = isset($provider_names[$result['provider']]) ? $provider_names[$result['provider']] : $result['provider'];
|
||||||
|
|
||||||
$current_hash = md5($post->post_content . $post->post_title);
|
|
||||||
$result['is_modified'] = ($result['summary_hash'] !== $current_hash);
|
|
||||||
} else {
|
} else {
|
||||||
$error = __('文章不存在或未发布', 'argon');
|
$error = __('文章不存在或未发布', 'argon');
|
||||||
}
|
}
|
||||||
@@ -199,8 +195,7 @@ html.darkmode .ai-verify-subtitle { color: #aaa; }
|
|||||||
|
|
||||||
<div class="ai-verify-header-card" style="margin-bottom: 16px;">
|
<div class="ai-verify-header-card" style="margin-bottom: 16px;">
|
||||||
<div class="ai-verify-header-icon"><i class="fa fa-shield"></i></div>
|
<div class="ai-verify-header-icon"><i class="fa fa-shield"></i></div>
|
||||||
<h1 class="ai-verify-title"><?php _e('AI 内容验证与查询', 'argon'); ?></h1>
|
<h1 class="ai-verify-title"><?php _e('AI 内容查询', 'argon'); ?></h1>
|
||||||
<p class="ai-verify-subtitle"><?php _e('通过唯一识别码验证 AI 生成内容的真实性、完整性和时效性', 'argon'); ?></p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<article class="post card shadow-sm bg-white border-0 ai-verify-card">
|
<article class="post card shadow-sm bg-white border-0 ai-verify-card">
|
||||||
@@ -227,24 +222,6 @@ html.darkmode .ai-verify-subtitle { color: #aaa; }
|
|||||||
<span><?php echo esc_html($error); ?></span>
|
<span><?php echo esc_html($error); ?></span>
|
||||||
</div>
|
</div>
|
||||||
<?php elseif ($result): ?>
|
<?php elseif ($result): ?>
|
||||||
<?php if ($result['is_modified']): ?>
|
|
||||||
<div class="ai-alert ai-alert-warning">
|
|
||||||
<span class="ai-alert-icon">⚠</span>
|
|
||||||
<div>
|
|
||||||
<strong><?php _e('内容已变更', 'argon'); ?></strong><br>
|
|
||||||
<?php _e('原文内容在 AI 摘要生成后发生了修改,当前摘要可能与最新文章内容不完全一致', 'argon'); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php else: ?>
|
|
||||||
<div class="ai-alert ai-alert-info">
|
|
||||||
<span class="ai-alert-icon">✓</span>
|
|
||||||
<div>
|
|
||||||
<strong><?php _e('验证通过', 'argon'); ?></strong><br>
|
|
||||||
<?php _e('AI 生成内容与原文保持一致,未检测到内容变更', 'argon'); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
<div class="ai-code-display"><?php echo esc_html($result['code']); ?></div>
|
<div class="ai-code-display"><?php echo esc_html($result['code']); ?></div>
|
||||||
|
|
||||||
<h4 style="font-size: 15px; font-weight: 600; margin: 0 0 12px; color: var(--color-text-deeper);"><?php _e('关联文章', 'argon'); ?></h4>
|
<h4 style="font-size: 15px; font-weight: 600; margin: 0 0 12px; color: var(--color-text-deeper);"><?php _e('关联文章', 'argon'); ?></h4>
|
||||||
@@ -271,16 +248,6 @@ html.darkmode .ai-verify-subtitle { color: #aaa; }
|
|||||||
<span class="ai-info-label"><?php _e('作者', 'argon'); ?></span>
|
<span class="ai-info-label"><?php _e('作者', 'argon'); ?></span>
|
||||||
<span class="ai-info-value"><?php echo esc_html($result['post_author']); ?></span>
|
<span class="ai-info-value"><?php echo esc_html($result['post_author']); ?></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="ai-info-item">
|
|
||||||
<span class="ai-info-label"><?php _e('内容状态', 'argon'); ?></span>
|
|
||||||
<span class="ai-info-value">
|
|
||||||
<?php if ($result['is_modified']): ?>
|
|
||||||
<span class="ai-status-badge ai-status-modified"><?php _e('已变更', 'argon'); ?></span>
|
|
||||||
<?php else: ?>
|
|
||||||
<span class="ai-status-badge ai-status-valid"><?php _e('一致', 'argon'); ?></span>
|
|
||||||
<?php endif; ?>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 style="font-size: 15px; font-weight: 600; margin: 0 0 12px; color: var(--color-text-deeper);"><?php _e('AI 生成内容', 'argon'); ?></h4>
|
<h4 style="font-size: 15px; font-weight: 600; margin: 0 0 12px; color: var(--color-text-deeper);"><?php _e('AI 生成内容', 'argon'); ?></h4>
|
||||||
@@ -315,10 +282,9 @@ html.darkmode .ai-verify-subtitle { color: #aaa; }
|
|||||||
<?php elseif (empty($query_code)): ?>
|
<?php elseif (empty($query_code)): ?>
|
||||||
<h4 style="font-size: 15px; font-weight: 600; margin: 0 0 12px; color: var(--color-text-deeper);"><?php _e('功能说明', 'argon'); ?></h4>
|
<h4 style="font-size: 15px; font-weight: 600; margin: 0 0 12px; color: var(--color-text-deeper);"><?php _e('功能说明', 'argon'); ?></h4>
|
||||||
<ul class="ai-help-list">
|
<ul class="ai-help-list">
|
||||||
<li><?php _e('每个 AI 生成内容都有唯一的 8 位识别码,用于内容溯源和验证', 'argon'); ?></li>
|
<li><?php _e('每个 AI 生成内容都有唯一的 8 位识别码,用于内容溯源', 'argon'); ?></li>
|
||||||
<li><?php _e('识别码显示在文章页面的 AI 摘要底部,点击可直接跳转到本页面', 'argon'); ?></li>
|
<li><?php _e('识别码显示在文章页面的 AI 摘要底部,点击可直接跳转到本页面', 'argon'); ?></li>
|
||||||
<li><?php _e('通过识别码可以查询 AI 内容的生成信息、关联文章和验证状态', 'argon'); ?></li>
|
<li><?php _e('通过识别码可以查询 AI 内容的生成信息和关联文章', 'argon'); ?></li>
|
||||||
<li><?php _e('系统会自动检测原文是否在 AI 内容生成后发生变更', 'argon'); ?></li>
|
|
||||||
<li><?php _e('识别码由数字和大写字母组成,不包含易混淆字符(I、O)', 'argon'); ?></li>
|
<li><?php _e('识别码由数字和大写字母组成,不包含易混淆字符(I、O)', 'argon'); ?></li>
|
||||||
</ul>
|
</ul>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|||||||
@@ -2662,20 +2662,6 @@ $(document).on("click" , "#blog_categories .tag" , function(){
|
|||||||
var header = $(this);
|
var header = $(this);
|
||||||
var isExpanded = section.hasClass("expanded");
|
var isExpanded = section.hasClass("expanded");
|
||||||
|
|
||||||
// 添加点击波纹效果
|
|
||||||
var ripple = $('<span class="collapse-ripple"></span>');
|
|
||||||
var rect = this.getBoundingClientRect();
|
|
||||||
var x = e.clientX - rect.left;
|
|
||||||
var y = e.clientY - rect.top;
|
|
||||||
ripple.css({
|
|
||||||
left: x + 'px',
|
|
||||||
top: y + 'px'
|
|
||||||
});
|
|
||||||
header.append(ripple);
|
|
||||||
setTimeout(function() {
|
|
||||||
ripple.remove();
|
|
||||||
}, 600);
|
|
||||||
|
|
||||||
// 切换展开状态
|
// 切换展开状态
|
||||||
section.toggleClass("expanded");
|
section.toggleClass("expanded");
|
||||||
|
|
||||||
@@ -3776,35 +3762,7 @@ void 0;
|
|||||||
(function() {
|
(function() {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
// 1. 触摸涟漪效果
|
// 1. 图片加载动画
|
||||||
function createRipple(event, element) {
|
|
||||||
if (window.matchMedia('(hover: hover)').matches) return;
|
|
||||||
var rect = element.getBoundingClientRect();
|
|
||||||
var ripple = document.createElement('span');
|
|
||||||
var size = Math.max(rect.width, rect.height);
|
|
||||||
ripple.style.width = ripple.style.height = size + 'px';
|
|
||||||
ripple.style.left = ((event.clientX || event.touches[0].clientX) - rect.left - size / 2) + 'px';
|
|
||||||
ripple.style.top = ((event.clientY || event.touches[0].clientY) - rect.top - size / 2) + 'px';
|
|
||||||
ripple.className = 'touch-ripple';
|
|
||||||
var oldRipple = element.querySelector('.touch-ripple');
|
|
||||||
if (oldRipple) oldRipple.remove();
|
|
||||||
element.style.position = 'relative';
|
|
||||||
element.style.overflow = 'hidden';
|
|
||||||
element.appendChild(ripple);
|
|
||||||
setTimeout(function() { ripple.remove(); }, 600);
|
|
||||||
}
|
|
||||||
|
|
||||||
function initRippleEffect() {
|
|
||||||
// 排除大尺寸卡片(文章、评论区、相关文章、页脚等),避免触摸时产生布局问题
|
|
||||||
var rippleElements = document.querySelectorAll('.btn, .card:not(article.post):not(#comments):not(#post_comment):not(.related-posts):not(.post-navigation):not(#footer), .nav-link, .dropdown-item, .page-link, .leftbar-mobile-menu-item > a, .leftbar-mobile-action, .fabtn, .comment-reply, .tag, .badge');
|
|
||||||
rippleElements.forEach(function(el) {
|
|
||||||
if (el.dataset.rippleInit) return;
|
|
||||||
el.dataset.rippleInit = 'true';
|
|
||||||
el.addEventListener('touchstart', function(e) { createRipple(e, this); }, { passive: true });
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// 2. 图片加载动画
|
|
||||||
function initImageLoadAnimation() {
|
function initImageLoadAnimation() {
|
||||||
var images = document.querySelectorAll('article img[loading="lazy"], .post-thumbnail img');
|
var images = document.querySelectorAll('article img[loading="lazy"], .post-thumbnail img');
|
||||||
images.forEach(function(img) {
|
images.forEach(function(img) {
|
||||||
@@ -3875,7 +3833,7 @@ void 0;
|
|||||||
jQuery('#primary').removeClass('pjax-loading');
|
jQuery('#primary').removeClass('pjax-loading');
|
||||||
var bar = document.getElementById('page-loading-bar');
|
var bar = document.getElementById('page-loading-bar');
|
||||||
if (bar) { bar.style.width = '100%'; setTimeout(function() { bar.style.opacity = '0'; setTimeout(function() { bar.remove(); }, 300); }, 200); }
|
if (bar) { bar.style.width = '100%'; setTimeout(function() { bar.style.opacity = '0'; setTimeout(function() { bar.remove(); }, 300); }, 200); }
|
||||||
setTimeout(function() { initRippleEffect(); initImageLoadAnimation(); initScrollAnimations(); initSmoothScroll(); }, 100);
|
setTimeout(function() { initImageLoadAnimation(); initScrollAnimations(); initSmoothScroll(); }, 100);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3895,7 +3853,6 @@ void 0;
|
|||||||
// 初始化
|
// 初始化
|
||||||
function init() {
|
function init() {
|
||||||
checkReducedMotion();
|
checkReducedMotion();
|
||||||
initRippleEffect();
|
|
||||||
initImageLoadAnimation();
|
initImageLoadAnimation();
|
||||||
initScrollAnimations();
|
initScrollAnimations();
|
||||||
initSmoothScroll();
|
initSmoothScroll();
|
||||||
|
|||||||
328
assets/vendor/external/js-fallback.js
vendored
328
assets/vendor/external/js-fallback.js
vendored
@@ -1,328 +0,0 @@
|
|||||||
/* JavaScript 功能备用系统 - 确保基本功能始终可用 */
|
|
||||||
(function() {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
// 检查并提供基本的 JavaScript 功能
|
|
||||||
window.ArgonFallback = {
|
|
||||||
// 初始化备用系统
|
|
||||||
init: function() {
|
|
||||||
this.checkDependencies();
|
|
||||||
this.provideFallbacks();
|
|
||||||
this.bindEvents();
|
|
||||||
console.log('JavaScript 备用系统已启动');
|
|
||||||
},
|
|
||||||
|
|
||||||
// 检查依赖项
|
|
||||||
checkDependencies: function() {
|
|
||||||
var missing = [];
|
|
||||||
|
|
||||||
// 检查 jQuery
|
|
||||||
if (typeof jQuery === 'undefined') {
|
|
||||||
missing.push('jQuery');
|
|
||||||
this.provideJQueryFallback();
|
|
||||||
}
|
|
||||||
|
|
||||||
// 检查其他关键库
|
|
||||||
if (typeof bootstrap === 'undefined') {
|
|
||||||
missing.push('Bootstrap');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (missing.length > 0) {
|
|
||||||
console.warn('缺少依赖项:', missing.join(', '));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// 提供 jQuery 基本功能备用
|
|
||||||
provideJQueryFallback: function() {
|
|
||||||
window.$ = window.jQuery = function(selector) {
|
|
||||||
return new jQueryFallback(selector);
|
|
||||||
};
|
|
||||||
|
|
||||||
// 扩展 jQuery 对象
|
|
||||||
$.fn = jQueryFallback.prototype;
|
|
||||||
$.extend = function(target) {
|
|
||||||
for (var i = 1; i < arguments.length; i++) {
|
|
||||||
var source = arguments[i];
|
|
||||||
for (var key in source) {
|
|
||||||
if (source.hasOwnProperty(key)) {
|
|
||||||
target[key] = source[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return target;
|
|
||||||
};
|
|
||||||
|
|
||||||
console.log('jQuery 备用版本已加载');
|
|
||||||
},
|
|
||||||
|
|
||||||
// 提供其他备用功能
|
|
||||||
provideFallbacks: function() {
|
|
||||||
// 模态框功能
|
|
||||||
this.provideModalFallback();
|
|
||||||
|
|
||||||
// 工具提示功能
|
|
||||||
this.provideTooltipFallback();
|
|
||||||
|
|
||||||
// 下拉菜单功能
|
|
||||||
this.provideDropdownFallback();
|
|
||||||
},
|
|
||||||
|
|
||||||
// 模态框备用
|
|
||||||
provideModalFallback: function() {
|
|
||||||
window.showModal = function(content, title) {
|
|
||||||
var modal = document.createElement('div');
|
|
||||||
modal.className = 'modal show';
|
|
||||||
modal.innerHTML =
|
|
||||||
'<div class="modal-dialog">' +
|
|
||||||
'<div class="modal-header">' +
|
|
||||||
'<h5>' + (title || '提示') + '</h5>' +
|
|
||||||
'<button type="button" class="close" onclick="this.closest(\'.modal\').remove()">×</button>' +
|
|
||||||
'</div>' +
|
|
||||||
'<div class="modal-body">' + content + '</div>' +
|
|
||||||
'<div class="modal-footer">' +
|
|
||||||
'<button type="button" class="btn" onclick="this.closest(\'.modal\').remove()">关闭</button>' +
|
|
||||||
'</div>' +
|
|
||||||
'</div>';
|
|
||||||
document.body.appendChild(modal);
|
|
||||||
|
|
||||||
// 点击背景关闭
|
|
||||||
modal.addEventListener('click', function(e) {
|
|
||||||
if (e.target === modal) {
|
|
||||||
modal.remove();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
},
|
|
||||||
|
|
||||||
// 工具提示备用
|
|
||||||
provideTooltipFallback: function() {
|
|
||||||
document.addEventListener('mouseover', function(e) {
|
|
||||||
var element = e.target;
|
|
||||||
var tooltip = element.getAttribute('title') || element.getAttribute('data-tooltip');
|
|
||||||
|
|
||||||
if (tooltip && !element.querySelector('.tooltip-fallback')) {
|
|
||||||
var tooltipEl = document.createElement('div');
|
|
||||||
tooltipEl.className = 'tooltip-fallback';
|
|
||||||
tooltipEl.textContent = tooltip;
|
|
||||||
tooltipEl.style.cssText =
|
|
||||||
'position: absolute; background: #333; color: #fff; padding: 4px 8px; ' +
|
|
||||||
'border-radius: 4px; font-size: 12px; z-index: 1000; pointer-events: none;';
|
|
||||||
|
|
||||||
document.body.appendChild(tooltipEl);
|
|
||||||
|
|
||||||
var rect = element.getBoundingClientRect();
|
|
||||||
tooltipEl.style.left = rect.left + 'px';
|
|
||||||
tooltipEl.style.top = (rect.top - tooltipEl.offsetHeight - 5) + 'px';
|
|
||||||
|
|
||||||
element.addEventListener('mouseleave', function() {
|
|
||||||
if (tooltipEl.parentNode) {
|
|
||||||
tooltipEl.parentNode.removeChild(tooltipEl);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
// 下拉菜单备用
|
|
||||||
provideDropdownFallback: function() {
|
|
||||||
document.addEventListener('click', function(e) {
|
|
||||||
var toggle = e.target.closest('[data-toggle="dropdown"]');
|
|
||||||
if (toggle) {
|
|
||||||
e.preventDefault();
|
|
||||||
var menu = toggle.nextElementSibling;
|
|
||||||
if (menu && menu.classList.contains('dropdown-menu')) {
|
|
||||||
menu.style.display = menu.style.display === 'block' ? 'none' : 'block';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 关闭其他下拉菜单
|
|
||||||
var openMenus = document.querySelectorAll('.dropdown-menu[style*="block"]');
|
|
||||||
openMenus.forEach(function(menu) {
|
|
||||||
if (!menu.contains(e.target) && !menu.previousElementSibling.contains(e.target)) {
|
|
||||||
menu.style.display = 'none';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
// 绑定事件
|
|
||||||
bindEvents: function() {
|
|
||||||
var self = this;
|
|
||||||
|
|
||||||
// 监听错误事件
|
|
||||||
window.addEventListener('error', function(e) {
|
|
||||||
console.warn('JavaScript 错误:', e.message);
|
|
||||||
self.handleError(e);
|
|
||||||
});
|
|
||||||
|
|
||||||
// 监听未处理的 Promise 拒绝
|
|
||||||
window.addEventListener('unhandledrejection', function(e) {
|
|
||||||
console.warn('未处理的 Promise 拒绝:', e.reason);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
// 错误处理
|
|
||||||
handleError: function(error) {
|
|
||||||
// 尝试恢复基本功能
|
|
||||||
if (error.message.includes('jQuery') || error.message.includes('$')) {
|
|
||||||
this.provideJQueryFallback();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// jQuery 备用实现
|
|
||||||
function jQueryFallback(selector) {
|
|
||||||
this.elements = [];
|
|
||||||
|
|
||||||
if (typeof selector === 'string') {
|
|
||||||
this.elements = Array.from(document.querySelectorAll(selector));
|
|
||||||
} else if (selector && selector.nodeType) {
|
|
||||||
this.elements = [selector];
|
|
||||||
} else if (selector && typeof selector === 'object' && selector.length !== undefined) {
|
|
||||||
this.elements = Array.from(selector);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.length = this.elements.length;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
// jQuery 方法实现
|
|
||||||
jQueryFallback.prototype = {
|
|
||||||
each: function(callback) {
|
|
||||||
this.elements.forEach(callback);
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
on: function(event, handler) {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
el.addEventListener(event, handler);
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
off: function(event, handler) {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
el.removeEventListener(event, handler);
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
click: function(handler) {
|
|
||||||
if (handler) {
|
|
||||||
return this.on('click', handler);
|
|
||||||
} else {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
el.click();
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
addClass: function(className) {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
el.classList.add(className);
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
removeClass: function(className) {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
el.classList.remove(className);
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
toggleClass: function(className) {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
el.classList.toggle(className);
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
hasClass: function(className) {
|
|
||||||
return this.elements.some(function(el) {
|
|
||||||
return el.classList.contains(className);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
html: function(content) {
|
|
||||||
if (content !== undefined) {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
el.innerHTML = content;
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
} else {
|
|
||||||
return this.elements[0] ? this.elements[0].innerHTML : '';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
text: function(content) {
|
|
||||||
if (content !== undefined) {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
el.textContent = content;
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
} else {
|
|
||||||
return this.elements[0] ? this.elements[0].textContent : '';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
hide: function() {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
el.style.display = 'none';
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
show: function() {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
el.style.display = '';
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
fadeIn: function(duration) {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
el.style.opacity = '0';
|
|
||||||
el.style.display = '';
|
|
||||||
var start = Date.now();
|
|
||||||
var timer = setInterval(function() {
|
|
||||||
var progress = (Date.now() - start) / (duration || 400);
|
|
||||||
if (progress >= 1) {
|
|
||||||
el.style.opacity = '1';
|
|
||||||
clearInterval(timer);
|
|
||||||
} else {
|
|
||||||
el.style.opacity = progress;
|
|
||||||
}
|
|
||||||
}, 16);
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
fadeOut: function(duration) {
|
|
||||||
this.elements.forEach(function(el) {
|
|
||||||
var start = Date.now();
|
|
||||||
var startOpacity = parseFloat(getComputedStyle(el).opacity);
|
|
||||||
var timer = setInterval(function() {
|
|
||||||
var progress = (Date.now() - start) / (duration || 400);
|
|
||||||
if (progress >= 1) {
|
|
||||||
el.style.display = 'none';
|
|
||||||
clearInterval(timer);
|
|
||||||
} else {
|
|
||||||
el.style.opacity = startOpacity * (1 - progress);
|
|
||||||
}
|
|
||||||
}, 16);
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// 页面加载完成后初始化
|
|
||||||
if (document.readyState === 'loading') {
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
ArgonFallback.init();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
ArgonFallback.init();
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
32
header.php
32
header.php
@@ -748,12 +748,6 @@ if ($card_opacity == '' || $card_opacity == '1') {
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<?php
|
|
||||||
// 动画效果设置 - 使用融合风格(Material 3 + Apple + 简约的最佳组合)
|
|
||||||
$card_hover_effect = get_option('argon_card_hover_effect', 'lift');
|
|
||||||
$button_click_effect = get_option('argon_button_click_effect', 'both');
|
|
||||||
?>
|
|
||||||
|
|
||||||
<style id="theme_animation_css">
|
<style id="theme_animation_css">
|
||||||
:root {
|
:root {
|
||||||
/* 动画时长 - Material 3 规范 */
|
/* 动画时长 - Material 3 规范 */
|
||||||
@@ -764,32 +758,6 @@ $button_click_effect = get_option('argon_button_click_effect', 'both');
|
|||||||
--ease-standard: cubic-bezier(0.25, 0.1, 0.25, 1); /* Apple 风格,更流畅 */
|
--ease-standard: cubic-bezier(0.25, 0.1, 0.25, 1); /* Apple 风格,更流畅 */
|
||||||
--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* Material 弹性,有活力 */
|
--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* Material 弹性,有活力 */
|
||||||
}
|
}
|
||||||
|
|
||||||
<?php if ($card_hover_effect == 'none'): ?>
|
|
||||||
.post-item:hover, article.card:hover {
|
|
||||||
transform: none !important;
|
|
||||||
box-shadow: inherit !important;
|
|
||||||
}
|
|
||||||
<?php elseif ($card_hover_effect == 'glow'): ?>
|
|
||||||
.post-item:hover, article.card:hover {
|
|
||||||
transform: none !important;
|
|
||||||
box-shadow: 0 0 20px rgba(var(--themecolor-rgbstr), 0.3) !important;
|
|
||||||
}
|
|
||||||
<?php elseif ($card_hover_effect == 'scale'): ?>
|
|
||||||
.post-item:hover, article.card:hover {
|
|
||||||
transform: scale(1.02) !important;
|
|
||||||
}
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
<?php if ($button_click_effect == 'none'): ?>
|
|
||||||
.btn:active, button:active:not(:disabled) {
|
|
||||||
transform: none !important;
|
|
||||||
}
|
|
||||||
<?php elseif ($button_click_effect == 'scale'): ?>
|
|
||||||
.btn:active, button:active:not(:disabled) {
|
|
||||||
transform: scale(0.95) !important;
|
|
||||||
}
|
|
||||||
<?php endif; ?>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,204 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Template Name: AI 摘要查询
|
|
||||||
* Description: 通过识别码查询 AI 摘要详细信息
|
|
||||||
*/
|
|
||||||
|
|
||||||
get_header();
|
|
||||||
|
|
||||||
$query_code = isset($_GET['code']) ? sanitize_text_field($_GET['code']) : '';
|
|
||||||
$result = null;
|
|
||||||
$error = '';
|
|
||||||
|
|
||||||
if (!empty($query_code)) {
|
|
||||||
if (strlen($query_code) !== 8) {
|
|
||||||
$error = __('识别码格式无效,应为 8 位字符', 'argon');
|
|
||||||
} else {
|
|
||||||
global $wpdb;
|
|
||||||
$post_id = $wpdb->get_var($wpdb->prepare(
|
|
||||||
"SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key = '_argon_ai_summary_code' AND meta_value = %s",
|
|
||||||
$query_code
|
|
||||||
));
|
|
||||||
|
|
||||||
if ($post_id) {
|
|
||||||
$post = get_post($post_id);
|
|
||||||
if ($post && $post->post_status === 'publish') {
|
|
||||||
$result = [
|
|
||||||
'post_id' => $post_id,
|
|
||||||
'post_title' => get_the_title($post_id),
|
|
||||||
'post_url' => get_permalink($post_id),
|
|
||||||
'post_date' => get_the_date('Y-m-d H:i:s', $post_id),
|
|
||||||
'post_author' => get_the_author_meta('display_name', $post->post_author),
|
|
||||||
'summary' => get_post_meta($post_id, '_argon_ai_summary', true),
|
|
||||||
'model' => get_post_meta($post_id, '_argon_ai_summary_model', true),
|
|
||||||
'provider' => get_post_meta($post_id, '_argon_ai_summary_provider', true),
|
|
||||||
'generated_time' => get_post_meta($post_id, '_argon_ai_summary_time', true),
|
|
||||||
'code' => $query_code
|
|
||||||
];
|
|
||||||
|
|
||||||
// 提供商名称映射
|
|
||||||
$provider_names = [
|
|
||||||
'openai' => 'OpenAI',
|
|
||||||
'anthropic' => 'Anthropic',
|
|
||||||
'deepseek' => 'DeepSeek',
|
|
||||||
'qianwen' => '通义千问',
|
|
||||||
'wenxin' => '文心一言',
|
|
||||||
'doubao' => '豆包',
|
|
||||||
'kimi' => 'Kimi',
|
|
||||||
'zhipu' => '智谱',
|
|
||||||
'siliconflow' => 'SiliconFlow'
|
|
||||||
];
|
|
||||||
|
|
||||||
$result['provider_display'] = isset($provider_names[$result['provider']]) ? $provider_names[$result['provider']] : $result['provider'];
|
|
||||||
} else {
|
|
||||||
$error = __('文章不存在或未发布', 'argon');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$error = __('未找到对应的摘要记录', 'argon');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<div id="primary" class="content-area">
|
|
||||||
<main id="main" class="site-main">
|
|
||||||
<article class="post page">
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-body" style="padding: 2rem;">
|
|
||||||
<h1 class="page-title" style="margin-bottom: 1.5rem; font-size: 1.75rem;">
|
|
||||||
<i class="fa fa-search" style="margin-right: 0.5rem; color: var(--themecolor);"></i>
|
|
||||||
<?php _e('AI 摘要查询', 'argon'); ?>
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<!-- 查询表单 -->
|
|
||||||
<div class="ai-query-form" style="margin-bottom: 2rem;">
|
|
||||||
<form method="get" action="" style="display: flex; gap: 0.75rem; flex-wrap: wrap;">
|
|
||||||
<input type="text"
|
|
||||||
name="code"
|
|
||||||
value="<?php echo esc_attr($query_code); ?>"
|
|
||||||
placeholder="<?php _e('请输入 8 位识别码', 'argon'); ?>"
|
|
||||||
maxlength="8"
|
|
||||||
style="flex: 1; min-width: 200px; padding: 0.625rem 1rem; border: 1px solid rgba(var(--themecolor-rgbstr), 0.2); border-radius: var(--card-radius); font-family: 'Consolas', 'Monaco', monospace; font-size: 1rem; letter-spacing: 1px;"
|
|
||||||
required>
|
|
||||||
<button type="submit"
|
|
||||||
class="btn btn-primary"
|
|
||||||
style="padding: 0.625rem 1.5rem; white-space: nowrap;">
|
|
||||||
<i class="fa fa-search"></i> <?php _e('查询', 'argon'); ?>
|
|
||||||
</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php if (!empty($error)): ?>
|
|
||||||
<!-- 错误信息 -->
|
|
||||||
<div class="alert alert-warning" style="padding: 1rem; background: rgba(255, 193, 7, 0.1); border: 1px solid rgba(255, 193, 7, 0.3); border-radius: var(--card-radius); margin-bottom: 1.5rem;">
|
|
||||||
<i class="fa fa-exclamation-triangle"></i> <?php echo esc_html($error); ?>
|
|
||||||
</div>
|
|
||||||
<?php elseif ($result): ?>
|
|
||||||
<!-- 查询结果 -->
|
|
||||||
<div class="ai-query-result">
|
|
||||||
<!-- 识别码信息 -->
|
|
||||||
<div class="result-section" style="margin-bottom: 2rem; padding: 1.25rem; background: linear-gradient(135deg, rgba(var(--themecolor-rgbstr), 0.05) 0%, rgba(var(--themecolor-rgbstr), 0.02) 100%); border-radius: var(--card-radius); border: 1px solid rgba(var(--themecolor-rgbstr), 0.15);">
|
|
||||||
<h3 style="margin: 0 0 1rem 0; font-size: 1.125rem; color: var(--color-text-deeper);">
|
|
||||||
<i class="fa fa-barcode" style="margin-right: 0.5rem; color: var(--themecolor);"></i>
|
|
||||||
<?php _e('识别码信息', 'argon'); ?>
|
|
||||||
</h3>
|
|
||||||
<div style="font-family: 'Consolas', 'Monaco', monospace; font-size: 1.5rem; letter-spacing: 2px; color: var(--themecolor); font-weight: 600;">
|
|
||||||
<?php echo esc_html($result['code']); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 文章信息 -->
|
|
||||||
<div class="result-section" style="margin-bottom: 2rem;">
|
|
||||||
<h3 style="margin: 0 0 1rem 0; font-size: 1.125rem; color: var(--color-text-deeper);">
|
|
||||||
<i class="fa fa-file-text-o" style="margin-right: 0.5rem; color: var(--themecolor);"></i>
|
|
||||||
<?php _e('文章信息', 'argon'); ?>
|
|
||||||
</h3>
|
|
||||||
<div class="info-grid" style="display: grid; gap: 0.75rem;">
|
|
||||||
<div class="info-item">
|
|
||||||
<span style="color: var(--color-text-muted); font-size: 0.875rem;"><?php _e('文章标题', 'argon'); ?>:</span>
|
|
||||||
<a href="<?php echo esc_url($result['post_url']); ?>" style="color: var(--themecolor); text-decoration: none; font-weight: 500; margin-left: 0.5rem;">
|
|
||||||
<?php echo esc_html($result['post_title']); ?>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="info-item">
|
|
||||||
<span style="color: var(--color-text-muted); font-size: 0.875rem;"><?php _e('文章 ID', 'argon'); ?>:</span>
|
|
||||||
<span style="margin-left: 0.5rem; font-family: 'Consolas', 'Monaco', monospace;"><?php echo esc_html($result['post_id']); ?></span>
|
|
||||||
</div>
|
|
||||||
<div class="info-item">
|
|
||||||
<span style="color: var(--color-text-muted); font-size: 0.875rem;"><?php _e('发布时间', 'argon'); ?>:</span>
|
|
||||||
<span style="margin-left: 0.5rem;"><?php echo esc_html($result['post_date']); ?></span>
|
|
||||||
</div>
|
|
||||||
<div class="info-item">
|
|
||||||
<span style="color: var(--color-text-muted); font-size: 0.875rem;"><?php _e('作者', 'argon'); ?>:</span>
|
|
||||||
<span style="margin-left: 0.5rem;"><?php echo esc_html($result['post_author']); ?></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- AI 摘要内容 -->
|
|
||||||
<div class="result-section" style="margin-bottom: 2rem;">
|
|
||||||
<h3 style="margin: 0 0 1rem 0; font-size: 1.125rem; color: var(--color-text-deeper);">
|
|
||||||
<i class="fa fa-align-left" style="margin-right: 0.5rem; color: var(--themecolor);"></i>
|
|
||||||
<?php _e('AI 摘要内容', 'argon'); ?>
|
|
||||||
</h3>
|
|
||||||
<div style="padding: 1rem; background: rgba(var(--themecolor-rgbstr), 0.03); border-radius: var(--card-radius); line-height: 1.7; color: var(--color-text);">
|
|
||||||
<?php echo esc_html($result['summary']); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 生成信息 -->
|
|
||||||
<div class="result-section">
|
|
||||||
<h3 style="margin: 0 0 1rem 0; font-size: 1.125rem; color: var(--color-text-deeper);">
|
|
||||||
<i class="fa fa-cog" style="margin-right: 0.5rem; color: var(--themecolor);"></i>
|
|
||||||
<?php _e('生成信息', 'argon'); ?>
|
|
||||||
</h3>
|
|
||||||
<div class="info-grid" style="display: grid; gap: 0.75rem;">
|
|
||||||
<div class="info-item">
|
|
||||||
<span style="color: var(--color-text-muted); font-size: 0.875rem;"><?php _e('AI 提供商', 'argon'); ?>:</span>
|
|
||||||
<span style="margin-left: 0.5rem; font-weight: 500;"><?php echo esc_html($result['provider_display']); ?></span>
|
|
||||||
</div>
|
|
||||||
<div class="info-item">
|
|
||||||
<span style="color: var(--color-text-muted); font-size: 0.875rem;"><?php _e('使用模型', 'argon'); ?>:</span>
|
|
||||||
<span style="margin-left: 0.5rem; font-family: 'Consolas', 'Monaco', monospace;"><?php echo esc_html($result['model']); ?></span>
|
|
||||||
</div>
|
|
||||||
<div class="info-item">
|
|
||||||
<span style="color: var(--color-text-muted); font-size: 0.875rem;"><?php _e('生成时间', 'argon'); ?>:</span>
|
|
||||||
<span style="margin-left: 0.5rem;"><?php echo esc_html(date('Y-m-d H:i:s', $result['generated_time'])); ?></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 操作按钮 -->
|
|
||||||
<div style="margin-top: 2rem; display: flex; gap: 0.75rem; flex-wrap: wrap;">
|
|
||||||
<a href="<?php echo esc_url($result['post_url']); ?>" class="btn btn-primary">
|
|
||||||
<i class="fa fa-external-link"></i> <?php _e('查看原文', 'argon'); ?>
|
|
||||||
</a>
|
|
||||||
<a href="<?php echo esc_url(home_url('/ai-summary-query/')); ?>" class="btn btn-outline-secondary">
|
|
||||||
<i class="fa fa-search"></i> <?php _e('查询其他识别码', 'argon'); ?>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php elseif (empty($query_code)): ?>
|
|
||||||
<!-- 使用说明 -->
|
|
||||||
<div class="ai-query-help" style="color: var(--color-text-muted); line-height: 1.8;">
|
|
||||||
<h3 style="margin: 0 0 1rem 0; font-size: 1.125rem; color: var(--color-text-deeper);">
|
|
||||||
<i class="fa fa-question-circle" style="margin-right: 0.5rem; color: var(--themecolor);"></i>
|
|
||||||
<?php _e('使用说明', 'argon'); ?>
|
|
||||||
</h3>
|
|
||||||
<ul style="padding-left: 1.5rem; margin: 0;">
|
|
||||||
<li style="margin-bottom: 0.5rem;"><?php _e('每篇文章的 AI 摘要都有一个唯一的 8 位识别码', 'argon'); ?></li>
|
|
||||||
<li style="margin-bottom: 0.5rem;"><?php _e('识别码显示在文章页面的 AI 摘要底部', 'argon'); ?></li>
|
|
||||||
<li style="margin-bottom: 0.5rem;"><?php _e('通过识别码可以查询摘要的详细信息,包括文章信息、生成模型、生成时间等', 'argon'); ?></li>
|
|
||||||
<li style="margin-bottom: 0.5rem;"><?php _e('识别码由数字和大写字母组成,不包含易混淆的字符(I、O)', 'argon'); ?></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<?php endif; ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
</main>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php
|
|
||||||
get_footer();
|
|
||||||
?>
|
|
||||||
30
settings.php
30
settings.php
@@ -3072,34 +3072,6 @@ window.pjaxLoaded = function(){
|
|||||||
|
|
||||||
<tr><th class="subtitle"><h3 id="subsection-animation"><?php _e('动画效果', 'argon');?></h3></th></tr>
|
<tr><th class="subtitle"><h3 id="subsection-animation"><?php _e('动画效果', 'argon');?></h3></th></tr>
|
||||||
|
|
||||||
<tr>
|
|
||||||
<th><label><?php _e('卡片悬浮效果', 'argon');?></label></th>
|
|
||||||
<td>
|
|
||||||
<select name="argon_card_hover_effect">
|
|
||||||
<?php $argon_card_hover_effect = get_option('argon_card_hover_effect', 'lift'); ?>
|
|
||||||
<option value="lift" <?php if ($argon_card_hover_effect=='lift'){echo 'selected';} ?>><?php _e('上浮 (推荐)', 'argon');?></option>
|
|
||||||
<option value="glow" <?php if ($argon_card_hover_effect=='glow'){echo 'selected';} ?>><?php _e('发光', 'argon');?></option>
|
|
||||||
<option value="scale" <?php if ($argon_card_hover_effect=='scale'){echo 'selected';} ?>><?php _e('放大', 'argon');?></option>
|
|
||||||
<option value="none" <?php if ($argon_card_hover_effect=='none'){echo 'selected';} ?>><?php _e('无效果', 'argon');?></option>
|
|
||||||
</select>
|
|
||||||
<p class="description"><?php _e('鼠标悬浮在卡片上时的动画效果', 'argon');?></p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<th><label><?php _e('按钮点击效果', 'argon');?></label></th>
|
|
||||||
<td>
|
|
||||||
<select name="argon_button_click_effect">
|
|
||||||
<?php $argon_button_click_effect = get_option('argon_button_click_effect', 'both'); ?>
|
|
||||||
<option value="ripple" <?php if ($argon_button_click_effect=='ripple'){echo 'selected';} ?>><?php _e('涟漪效果 (Material)', 'argon');?></option>
|
|
||||||
<option value="scale" <?php if ($argon_button_click_effect=='scale'){echo 'selected';} ?>><?php _e('缩放效果 (Apple)', 'argon');?></option>
|
|
||||||
<option value="both" <?php if ($argon_button_click_effect=='both'){echo 'selected';} ?>><?php _e('涟漪 + 缩放 (推荐)', 'argon');?></option>
|
|
||||||
<option value="none" <?php if ($argon_button_click_effect=='none'){echo 'selected';} ?>><?php _e('无效果', 'argon');?></option>
|
|
||||||
</select>
|
|
||||||
<p class="description"><?php _e('点击按钮时的反馈动画', 'argon');?></p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
|
|
||||||
<th><label><?php _e('是否启用平滑滚动', 'argon');?></label></th>
|
<th><label><?php _e('是否启用平滑滚动', 'argon');?></label></th>
|
||||||
@@ -6067,8 +6039,6 @@ function argon_update_themeoptions(){
|
|||||||
argon_update_option('argon_disable_pjax_animation');
|
argon_update_option('argon_disable_pjax_animation');
|
||||||
|
|
||||||
// 动画效果相关配置
|
// 动画效果相关配置
|
||||||
argon_update_option('argon_card_hover_effect');
|
|
||||||
argon_update_option('argon_button_click_effect');
|
|
||||||
|
|
||||||
argon_update_option('argon_fab_show_darkmode_button');
|
argon_update_option('argon_fab_show_darkmode_button');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user