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:
+5
-1
@@ -8,7 +8,11 @@
|
||||
(function () {
|
||||
'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) || '';
|
||||
|
||||
function initFollowButtons() {
|
||||
|
||||
+47
-2
@@ -7,7 +7,30 @@
|
||||
(function () {
|
||||
'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 modal = null;
|
||||
@@ -310,17 +333,39 @@
|
||||
headers['X-WP-Nonce'] = NONCE;
|
||||
}
|
||||
|
||||
return fetch(API_ROOT + path, {
|
||||
var url = joinRestPath(API_ROOT, path);
|
||||
|
||||
return fetch(url, {
|
||||
method: 'POST',
|
||||
headers: headers,
|
||||
credentials: 'same-origin',
|
||||
body: JSON.stringify(payload),
|
||||
}).then(function (response) {
|
||||
return response.json().then(function (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) {
|
||||
var loginInput = document.getElementById('modal-login-user');
|
||||
if (loginInput && value) {
|
||||
|
||||
+5
-1
@@ -9,7 +9,11 @@
|
||||
(function () {
|
||||
'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) || '';
|
||||
|
||||
function getReportCategories() {
|
||||
|
||||
@@ -559,6 +559,8 @@ trait ScriptsPart1c {
|
||||
'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/'),
|
||||
'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,
|
||||
'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,
|
||||
|
||||
Reference in New Issue
Block a user