| | |
| | | <?php |
| | | // /content/art.php |
| | | // /content/faq.php |
| | | function altr_faq():array |
| | | { |
| | | return [ |
| | | 'singular' => 'Frequently Asked Question', |
| | | 'plural' => 'Frequently Asked Questions', |
| | | 'dash_description' => 'Manage your answers', |
| | | 'capability_type' => ['faq', 'faqs'], |
| | | 'breadcrumb' => 'FAQ', |
| | | 'hide_single' => true, |
| | | 'dash_title' => 'FAQs', |
| | | 'icon' => 'question', |
| | | 'rewrite_taxonomy' => 'section', |
| | | 'rewrite' => [ |
| | | 'slug' => 'faq', |
| | | 'with_front' => false, |
| | |
| | | 'type' => 'text', |
| | | 'label' => 'Question', |
| | | ], |
| | | 'answer' => [ |
| | | 'post_status' => [ |
| | | 'type' => 'radio', |
| | | 'label' => 'Status', |
| | | 'hidden' => true, |
| | | 'options' => [ |
| | | 'publish' => 'Show', |
| | | 'draft' => 'Hide', |
| | | 'trash' => 'Scrap', |
| | | 'delete' => 'Permanently Delete' |
| | | ] |
| | | ], |
| | | 'post_content' => [ |
| | | 'type' => 'textarea', |
| | | 'label' => 'Answer', |
| | | 'quill' => true, |
| | |
| | | 'upload_title' => 'Upload Before & Afters', |
| | | ]; |
| | | } |
| | | |
| | | |
| | | add_action('wp_enqueue_scripts', 'nebDashScripts', 9999); |
| | | function nebDashScripts() { |
| | | global $wp; |
| | | $page = str_replace('dash/', '', $wp->request); |
| | | if ($page === 'settings') { |
| | | wp_enqueue_script('jvb-form'); |
| | | wp_enqueue_script('jvb-tabs'); |
| | | wp_enqueue_script('jvb-populate-form'); |
| | | wp_enqueue_script('jvb-copy-hours'); |
| | | wp_enqueue_script('jvb-quill'); |
| | | wp_enqueue_script('jvb-store'); |
| | | $script = 'function loadSettingsPage() { |
| | | let tabs = new window.jvbTabs(document.querySelector(".replace")); |
| | | let store = new window.jvbStore({ |
| | | name: "options", |
| | | endpoint: "options", |
| | | headers: { |
| | | "action_nonce": jvbSettings.dash, |
| | | } |
| | | }); |
| | | |
| | | let form = new window.jvbForm(store); |
| | | let forms = [ "#hours", "#menu-sections"]; |
| | | let setForms = {}; |
| | | forms.forEach(f => { |
| | | let gotF = document.querySelector(`form${f}`); |
| | | setForms[f] = form.registerForm(gotF); |
| | | |
| | | }); |
| | | |
| | | form.subscribe((event, data) => { |
| | | switch (event) { |
| | | case "form-submit": |
| | | case "form-autosave": |
| | | window.jvbQueue.addToQueue({ |
| | | endpoint: "options", |
| | | headers: { |
| | | "action_nonce": jvbSettings.dash, |
| | | }, |
| | | data: data.changes, |
| | | popup: `Saving options...`, |
| | | title: "Saving Options" |
| | | }); |
| | | break; |
| | | } |
| | | }); |
| | | } |
| | | document.addEventListener("DOMContentLoaded", ()=>{ |
| | | loadSettingsPage() |
| | | }); |
| | | '; |
| | | $output = wp_add_inline_script('jvb-form', $script, 'after'); |
| | | } elseif ($page === 'dash') { |
| | | wp_enqueue_script('jvb-form'); |
| | | wp_enqueue_script('jvb-store'); |
| | | $script = 'function loadDashPage() { |
| | | |
| | | let store = new window.jvbStore({ |
| | | name: "options", |
| | | endpoint: "options", |
| | | headers: { |
| | | "action_nonce": jvbSettings.dash, |
| | | } |
| | | }); |
| | | |
| | | let form = new window.jvbForm(store); |
| | | let forms = [ "#options"]; |
| | | let setForms = {}; |
| | | forms.forEach(f => { |
| | | let gotF = document.querySelector(`form${f}`); |
| | | setForms[f] = form.registerForm(gotF); |
| | | |
| | | }); |
| | | |
| | | form.subscribe((event, data) => { |
| | | switch (event) { |
| | | case "form-submit": |
| | | case "form-autosave": |
| | | window.jvbQueue.addToQueue({ |
| | | endpoint: "options", |
| | | headers: { |
| | | "action_nonce": jvbSettings.dash, |
| | | }, |
| | | data: data.changes, |
| | | popup: `Saving options...`, |
| | | title: "Saving Options" |
| | | }); |
| | | break; |
| | | } |
| | | }); |
| | | } |
| | | document.addEventListener("DOMContentLoaded", ()=>{ |
| | | loadDashPage() |
| | | }); |
| | | '; |
| | | // $output = wp_add_inline_script('jvb-form', $script, 'after'); |
| | | } |
| | | } |