feat(user-center): deepen zibll parity and profile media
This commit is contained in:
@@ -125,6 +125,32 @@ $_aksrt_special_templates = [
|
||||
'title' => '收益中心',
|
||||
'fallback' => '/revenue/',
|
||||
],
|
||||
'messages' => [
|
||||
'file' => 'templates/pages/page-messages.php',
|
||||
'slug' => 'messages',
|
||||
'title' => '消息中心',
|
||||
'fallback' => '/messages/',
|
||||
],
|
||||
'submit' => [
|
||||
'file' => 'templates/pages/page-submit.php',
|
||||
'slug' => 'submit',
|
||||
'title' => '发布文章',
|
||||
'fallback' => '/submit/',
|
||||
],
|
||||
'product-edit' => [
|
||||
'file' => 'templates/pages/page-product-edit.php',
|
||||
'slug' => 'product-edit',
|
||||
'title' => '发布商品',
|
||||
'fallback' => '/product-edit/',
|
||||
'auto_create' => false,
|
||||
],
|
||||
'forum-compose' => [
|
||||
'file' => 'templates/forum/forum-compose.php',
|
||||
'slug' => 'forum-compose',
|
||||
'title' => '论坛发帖',
|
||||
'fallback' => '/forum-compose/',
|
||||
'auto_create' => false,
|
||||
],
|
||||
];
|
||||
|
||||
/** @var array 缓存 key=模板文件路径 => value=WP_Post|null */
|
||||
@@ -486,6 +512,9 @@ function aksrt_ensure_template_page(string $key): void {
|
||||
if (!isset($_aksrt_special_templates[$key])) return;
|
||||
|
||||
$cfg = $_aksrt_special_templates[$key];
|
||||
if (array_key_exists('auto_create', $cfg) && empty($cfg['auto_create'])) {
|
||||
return;
|
||||
}
|
||||
$desired_slug = sanitize_title($cfg['slug'] ?? $key);
|
||||
|
||||
// 已有页面使用此模板?仍校验模板 meta,避免空白默认页。
|
||||
@@ -502,15 +531,8 @@ function aksrt_ensure_template_page(string $key): void {
|
||||
if ($desired_slug !== '') {
|
||||
$existing_page = get_page_by_path($desired_slug, OBJECT, 'page');
|
||||
if ($existing_page instanceof WP_Post) {
|
||||
if ($existing_page->post_status !== 'publish') {
|
||||
wp_update_post([
|
||||
'ID' => $existing_page->ID,
|
||||
'post_status' => 'publish',
|
||||
]);
|
||||
}
|
||||
|
||||
update_post_meta($existing_page->ID, '_wp_page_template', $cfg['file']);
|
||||
aksrt_clear_template_page_cache();
|
||||
// Slug collisions belong to the administrator. System pages are
|
||||
// created only when the slug is completely free.
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -528,6 +550,7 @@ function aksrt_ensure_template_page(string $key): void {
|
||||
|
||||
if (!is_wp_error($page_id) && $page_id > 0) {
|
||||
update_post_meta($page_id, '_wp_page_template', $cfg['file']);
|
||||
update_post_meta($page_id, '_aksrt_managed_template_page', (string) $key);
|
||||
aksrt_clear_template_page_cache();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,12 +58,9 @@ function aksrt_get_new_post_url(int $edit_id = 0): string {
|
||||
}
|
||||
}
|
||||
|
||||
$url = function_exists('aksrt_get_page_url_by_template')
|
||||
? aksrt_get_page_url_by_template('templates/pages/page-submit.php')
|
||||
: '';
|
||||
if ($url === '') {
|
||||
return '';
|
||||
}
|
||||
$url = function_exists('aksrt_get_template_url')
|
||||
? aksrt_get_template_url('submit')
|
||||
: home_url('/submit/');
|
||||
if ($edit_id > 0) {
|
||||
$url = add_query_arg('edit', $edit_id, $url);
|
||||
}
|
||||
@@ -92,9 +89,9 @@ if (!function_exists('aksrt_get_cart_page_url')) :
|
||||
* 购物车页面 URL(模板 templates/pages/page-cart.php)。
|
||||
*/
|
||||
function aksrt_get_cart_page_url(): string {
|
||||
return function_exists('aksrt_get_page_url_by_template')
|
||||
? aksrt_get_page_url_by_template('templates/pages/page-cart.php')
|
||||
: '';
|
||||
return function_exists('aksrt_get_template_url')
|
||||
? aksrt_get_template_url('cart')
|
||||
: home_url('/cart/');
|
||||
}
|
||||
endif;
|
||||
|
||||
@@ -103,9 +100,9 @@ if (!function_exists('aksrt_get_revenue_page_url')) :
|
||||
* 收益中心页面 URL(模板 templates/pages/page-revenue.php)。
|
||||
*/
|
||||
function aksrt_get_revenue_page_url(): string {
|
||||
return function_exists('aksrt_get_page_url_by_template')
|
||||
? aksrt_get_page_url_by_template('templates/pages/page-revenue.php')
|
||||
: '';
|
||||
return function_exists('aksrt_get_template_url')
|
||||
? aksrt_get_template_url('revenue')
|
||||
: home_url('/revenue/');
|
||||
}
|
||||
endif;
|
||||
|
||||
@@ -114,9 +111,12 @@ if (!function_exists('aksrt_get_messages_page_url')) :
|
||||
* 消息中心页面 URL(模板 templates/pages/page-messages.php)。
|
||||
*/
|
||||
function aksrt_get_messages_page_url(): string {
|
||||
return function_exists('aksrt_get_page_url_by_template')
|
||||
? aksrt_get_page_url_by_template('templates/pages/page-messages.php')
|
||||
: '';
|
||||
if (class_exists('\AKSRT\Settings\Settings') && !\AKSRT\Settings\Settings::message_enabled()) {
|
||||
return '';
|
||||
}
|
||||
return function_exists('aksrt_get_template_url')
|
||||
? aksrt_get_template_url('messages')
|
||||
: home_url('/messages/');
|
||||
}
|
||||
endif;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user