feat(front-submit): 1:1 写文章/投稿页对齐 zibll newposts
Register AKSRT 写文章/投稿 page template, wire header publish entry to front submit URL, rewrite page-submit as dual-column TinyMCE compose with featured cover, multi-category/topics/filters, pay box, drafts, and capability-gated FrontSubmit AJAX (pay/featured traits).
This commit is contained in:
1 parent
cd4b1a73dc
commit
518e825bdd
25 files changed
+3029
-982
No files matched your search
@@ -378,18 +378,49 @@ class PostDisplay {
|
||||
public static function get_submit_settings(): array {
|
||||
$settings = Settings::get_all();
|
||||
|
||||
$title_min = max(1, min(100, (int) ($settings['post_article_title_strlen_limit_min'] ?? 5)));
|
||||
$title_max = max(5, min(200, (int) ($settings['post_article_title_strlen_limit_max'] ?? 30)));
|
||||
if ($title_max < $title_min) {
|
||||
$title_max = $title_min;
|
||||
}
|
||||
|
||||
$review_mode = sanitize_key((string) ($settings['front_submit_review_mode'] ?? 'pending'));
|
||||
if (!in_array($review_mode, ['pending', 'publish', 'draft'], true)) {
|
||||
$review_mode = 'pending';
|
||||
}
|
||||
|
||||
$editor_mode = sanitize_key((string) ($settings['front_submit_editor_mode'] ?? 'rich'));
|
||||
if (!in_array($editor_mode, ['rich', 'markdown', 'plain'], true)) {
|
||||
$editor_mode = 'rich';
|
||||
}
|
||||
|
||||
return [
|
||||
'enabled' => !isset($settings['front_submit_enabled']) || !empty($settings['front_submit_enabled']),
|
||||
'btn_text' => sanitize_text_field((string) ($settings['post_article_btn_txte'] ?? '')) ?: __('发布文章', 'aksrt'),
|
||||
'title_min' => max(1, min(100, (int) ($settings['post_article_title_strlen_limit_min'] ?? 5))),
|
||||
'title_max' => max(5, min(200, (int) ($settings['post_article_title_strlen_limit_max'] ?? 30))),
|
||||
'title_min' => $title_min,
|
||||
'title_max' => $title_max,
|
||||
'title_placeholder' => sanitize_text_field((string) ($settings['post_t_placeholder'] ?? '')) ?: __('请输入标题', 'aksrt'),
|
||||
'content_placeholder' => sanitize_textarea_field((string) ($settings['post_c_placeholder'] ?? '')) ?: __('请输入内容', 'aksrt'),
|
||||
'allowed_cat_ids' => is_array($settings['post_article_cat'] ?? null) ? array_map('intval', $settings['post_article_cat']) : [],
|
||||
'allowed_cat_ids' => is_array($settings['post_article_cat'] ?? null) ? array_values(array_filter(array_map('intval', $settings['post_article_cat']))) : [],
|
||||
'default_user_id' => max(0, (int) ($settings['post_article_user'] ?? 0)),
|
||||
'guest_enabled' => !empty($settings['front_submit_guest_enabled']),
|
||||
'allow_title' => !isset($settings['front_submit_title']) || !empty($settings['front_submit_title']),
|
||||
'allow_content' => !isset($settings['front_submit_content']) || !empty($settings['front_submit_content']),
|
||||
'allow_excerpt' => !isset($settings['front_submit_excerpt']) || !empty($settings['front_submit_excerpt']),
|
||||
'allow_cover' => !isset($settings['front_submit_cover']) || !empty($settings['front_submit_cover']),
|
||||
'allow_category' => !isset($settings['front_submit_category']) || !empty($settings['front_submit_category']),
|
||||
'allow_tags' => !isset($settings['front_submit_tags']) || !empty($settings['front_submit_tags']),
|
||||
'tags_s' => !isset($settings['front_submit_tags']) || !empty($settings['front_submit_tags']),
|
||||
'cover_required' => !empty($settings['front_submit_cover_required']),
|
||||
'max_images' => max(0, min(50, (int) ($settings['front_submit_max_images'] ?? 5))),
|
||||
'review_mode' => $review_mode,
|
||||
'editor_mode' => $editor_mode,
|
||||
'draft_save' => !isset($settings['front_submit_draft_save']) || !empty($settings['front_submit_draft_save']),
|
||||
'leave_warning' => !isset($settings['front_submit_leave_warning']) || !empty($settings['front_submit_leave_warning']),
|
||||
'captcha' => !empty($settings['front_submit_captcha']) || !empty($settings['verification_newposts_s']),
|
||||
'pay_free_s' => !isset($settings['post_article_pay_free_s']) || !empty($settings['post_article_pay_free_s']),
|
||||
'pay_price_min' => max(0, (int) ($settings['post_article_pay_price_min'] ?? 0)),
|
||||
'pay_price_max' => max(0, (int) ($settings['post_article_pay_price_max'] ?? 100)),
|
||||
'pay_price_min' => max(0, (float) ($settings['post_article_pay_price_min'] ?? 0)),
|
||||
'pay_price_max' => max(0, (float) ($settings['post_article_pay_price_max'] ?? 100)),
|
||||
'pay_vip_price_s' => !isset($settings['post_article_pay_vip_price_s']) || !empty($settings['post_article_pay_vip_price_s']),
|
||||
'pay_vip_1_discount' => max(0, min(100, (int) ($settings['post_article_pay_vip_1_discount'] ?? 80))),
|
||||
'pay_vip_2_discount' => max(0, min(100, (int) ($settings['post_article_pay_vip_2_discount'] ?? 50))),
|
||||
|
||||
Reference in new issue
Block a user