Merge pull request 'Worktree fix theme toggle overlap' (#279) from worktree-fix-theme-toggle-overlap into main
Reviewed-on: CYL/wordpress-theme-aksrt#279
This commit is contained in:
commit
9c901e0d17
4 files changed
+59
-4
No files matched your search
+5
-1
@@ -8,7 +8,11 @@
|
|||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var API_ROOT = (window.aksrtData && window.aksrtData.apiUrl) || '/wp-json/aksrt/v1';
|
var API_ROOT = (function () {
|
||||||
|
var d = window.aksrtData || {};
|
||||||
|
var raw = d.apiUrl || d.restUrl || d.rest_url || '/index.php?rest_route=/aksrt/v1';
|
||||||
|
return String(raw).replace(/\/$/, '');
|
||||||
|
})();
|
||||||
var NONCE = (window.aksrtData && window.aksrtData.restNonce) || '';
|
var NONCE = (window.aksrtData && window.aksrtData.restNonce) || '';
|
||||||
|
|
||||||
function initFollowButtons() {
|
function initFollowButtons() {
|
||||||
|
|||||||
+47
-2
@@ -7,7 +7,30 @@
|
|||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var API_ROOT = (window.aksrtData && window.aksrtData.apiUrl) || '/wp-json/aksrt/v1';
|
/**
|
||||||
|
* Resolve REST root for aksrt/v1.
|
||||||
|
* Prefer aksrtData.restUrl (works with plain permalinks: index.php?rest_route=/aksrt/v1).
|
||||||
|
* Do not hardcode /wp-json when rewrite rules are off — that 404s on Apache.
|
||||||
|
*/
|
||||||
|
function resolveApiRoot() {
|
||||||
|
var d = window.aksrtData || {};
|
||||||
|
var raw = d.apiUrl || d.restUrl || d.rest_url || '';
|
||||||
|
if (!raw) {
|
||||||
|
raw = '/index.php?rest_route=/aksrt/v1';
|
||||||
|
}
|
||||||
|
raw = String(raw).trim();
|
||||||
|
// restUrl may be site root rest_url() without namespace in some localizes — ensure aksrt/v1.
|
||||||
|
if (/rest_route=\/?$/.test(raw) || /\/wp-json\/?$/.test(raw)) {
|
||||||
|
if (raw.indexOf('rest_route=') !== -1) {
|
||||||
|
raw = raw.replace(/rest_route=\/?$/, 'rest_route=/aksrt/v1');
|
||||||
|
} else {
|
||||||
|
raw = raw.replace(/\/?$/, '/') + 'aksrt/v1';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return raw.replace(/\/$/, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
var API_ROOT = resolveApiRoot();
|
||||||
var NONCE = (window.aksrtData && window.aksrtData.restNonce) || '';
|
var NONCE = (window.aksrtData && window.aksrtData.restNonce) || '';
|
||||||
|
|
||||||
var modal = null;
|
var modal = null;
|
||||||
@@ -310,17 +333,39 @@
|
|||||||
headers['X-WP-Nonce'] = NONCE;
|
headers['X-WP-Nonce'] = NONCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return fetch(API_ROOT + path, {
|
var url = joinRestPath(API_ROOT, path);
|
||||||
|
|
||||||
|
return fetch(url, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: headers,
|
headers: headers,
|
||||||
|
credentials: 'same-origin',
|
||||||
body: JSON.stringify(payload),
|
body: JSON.stringify(payload),
|
||||||
}).then(function (response) {
|
}).then(function (response) {
|
||||||
return response.json().then(function (data) {
|
return response.json().then(function (data) {
|
||||||
return { ok: response.ok, data: data };
|
return { ok: response.ok, data: data };
|
||||||
|
}).catch(function () {
|
||||||
|
return { ok: false, data: { message: '响应解析失败' } };
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Join REST root + path for both pretty (/wp-json/aksrt/v1/x)
|
||||||
|
* and plain (?rest_route=/aksrt/v1/x) permalinks.
|
||||||
|
*/
|
||||||
|
function joinRestPath(root, path) {
|
||||||
|
path = String(path || '');
|
||||||
|
if (path.charAt(0) !== '/') {
|
||||||
|
path = '/' + path;
|
||||||
|
}
|
||||||
|
root = String(root || '').replace(/\/$/, '');
|
||||||
|
if (root.indexOf('rest_route=') !== -1) {
|
||||||
|
// e.g. https://host/index.php?rest_route=/aksrt/v1 + /auth/modal-login
|
||||||
|
return root + path;
|
||||||
|
}
|
||||||
|
return root + path;
|
||||||
|
}
|
||||||
|
|
||||||
function prefillLogin(value) {
|
function prefillLogin(value) {
|
||||||
var loginInput = document.getElementById('modal-login-user');
|
var loginInput = document.getElementById('modal-login-user');
|
||||||
if (loginInput && value) {
|
if (loginInput && value) {
|
||||||
|
|||||||
+5
-1
@@ -9,7 +9,11 @@
|
|||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var API_ROOT = (window.aksrtData && window.aksrtData.apiUrl) || '/wp-json/aksrt/v1';
|
var API_ROOT = (function () {
|
||||||
|
var d = window.aksrtData || {};
|
||||||
|
var raw = d.apiUrl || d.restUrl || d.rest_url || '/index.php?rest_route=/aksrt/v1';
|
||||||
|
return String(raw).replace(/\/$/, '');
|
||||||
|
})();
|
||||||
var NONCE = (window.aksrtData && window.aksrtData.restNonce) || '';
|
var NONCE = (window.aksrtData && window.aksrtData.restNonce) || '';
|
||||||
|
|
||||||
function getReportCategories() {
|
function getReportCategories() {
|
||||||
|
|||||||
@@ -559,6 +559,8 @@ trait ScriptsPart1c {
|
|||||||
'commentQuickPhrases' => class_exists('\AKSRT\Settings\Settings') ? (\AKSRT\Settings\Settings::get_comment_display_settings()['quick_phrases'] ?? []) : [],
|
'commentQuickPhrases' => class_exists('\AKSRT\Settings\Settings') ? (\AKSRT\Settings\Settings::get_comment_display_settings()['quick_phrases'] ?? []) : [],
|
||||||
'commentSmiliesBase' => function_exists('aksrt_comment_smilies_base_uri') ? aksrt_comment_smilies_base_uri() : (trailingslashit(get_template_directory_uri()) . 'assets/img/smilies/'),
|
'commentSmiliesBase' => function_exists('aksrt_comment_smilies_base_uri') ? aksrt_comment_smilies_base_uri() : (trailingslashit(get_template_directory_uri()) . 'assets/img/smilies/'),
|
||||||
'restUrl' => esc_url_raw(rest_url('aksrt/v1')),
|
'restUrl' => esc_url_raw(rest_url('aksrt/v1')),
|
||||||
|
// Alias used by modal-auth / follow / report (same value as restUrl).
|
||||||
|
'apiUrl' => esc_url_raw(rest_url('aksrt/v1')),
|
||||||
'stickyEnabled' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_post_list_style_settings()['sticky_enabled'] : true,
|
'stickyEnabled' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_post_list_style_settings()['sticky_enabled'] : true,
|
||||||
'stickyPages' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_post_list_style_settings()['sticky_pages'] : ['home', 'cat'],
|
'stickyPages' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_post_list_style_settings()['sticky_pages'] : ['home', 'cat'],
|
||||||
'badgeShow' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_post_list_style_settings()['badge_show'] : true,
|
'badgeShow' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_post_list_style_settings()['badge_show'] : true,
|
||||||
|
|||||||
Reference in new issue
Block a user