From 3241a281b1f854dd848156cd9ca54de0e607f08c Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 10 Nov 2025 21:05:17 +0000
Subject: [PATCH] =Update
---
content/faq.php | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 116 insertions(+), 3 deletions(-)
diff --git a/content/faq.php b/content/faq.php
index 645ed34..505b842 100644
--- a/content/faq.php
+++ b/content/faq.php
@@ -1,14 +1,16 @@
<?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,
@@ -18,7 +20,18 @@
'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,
@@ -28,3 +41,103 @@
'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');
+ }
+}
\ No newline at end of file
--
Gitblit v1.10.0