pages match book order

This commit is contained in:
Prospect
2024-02-21 20:14:55 -05:00
parent 04313d7198
commit 3123504f15
9 changed files with 962 additions and 84 deletions

View File

@@ -1,3 +1,4 @@
@charset "UTF-8";
:root {
/* Gray */
--gray-50: #f9fafb;
@@ -942,6 +943,508 @@ select {
max-width: 1536px;
}
}
.prose {
color: var(--tw-prose-body);
max-width: 65ch;
}
.prose :where(p):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 1.25em;
margin-bottom: 1.25em;
}
.prose :where([class~=lead]):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-lead);
font-size: 1.25em;
line-height: 1.6;
margin-top: 1.2em;
margin-bottom: 1.2em;
}
.prose :where(a):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-links);
text-decoration: underline;
font-weight: 500;
}
.prose :where(strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-bold);
font-weight: 600;
}
.prose :where(a strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: inherit;
}
.prose :where(blockquote strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: inherit;
}
.prose :where(thead th strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: inherit;
}
.prose :where(ol):not(:where([class~=not-prose], [class~=not-prose] *)) {
list-style-type: decimal;
margin-top: 1.25em;
margin-bottom: 1.25em;
padding-left: 1.625em;
}
.prose :where(ol[type=A]):not(:where([class~=not-prose], [class~=not-prose] *)) {
list-style-type: upper-alpha;
}
.prose :where(ol[type=a]):not(:where([class~=not-prose], [class~=not-prose] *)) {
list-style-type: lower-alpha;
}
.prose :where(ol[type=A s]):not(:where([class~=not-prose], [class~=not-prose] *)) {
list-style-type: upper-alpha;
}
.prose :where(ol[type=a s]):not(:where([class~=not-prose], [class~=not-prose] *)) {
list-style-type: lower-alpha;
}
.prose :where(ol[type=I]):not(:where([class~=not-prose], [class~=not-prose] *)) {
list-style-type: upper-roman;
}
.prose :where(ol[type=i]):not(:where([class~=not-prose], [class~=not-prose] *)) {
list-style-type: lower-roman;
}
.prose :where(ol[type=I s]):not(:where([class~=not-prose], [class~=not-prose] *)) {
list-style-type: upper-roman;
}
.prose :where(ol[type=i s]):not(:where([class~=not-prose], [class~=not-prose] *)) {
list-style-type: lower-roman;
}
.prose :where(ol[type="1"]):not(:where([class~=not-prose], [class~=not-prose] *)) {
list-style-type: decimal;
}
.prose :where(ul):not(:where([class~=not-prose], [class~=not-prose] *)) {
list-style-type: disc;
margin-top: 1.25em;
margin-bottom: 1.25em;
padding-left: 1.625em;
}
.prose :where(ol > li):not(:where([class~=not-prose], [class~=not-prose] *))::marker {
font-weight: 400;
color: var(--tw-prose-counters);
}
.prose :where(ul > li):not(:where([class~=not-prose], [class~=not-prose] *))::marker {
color: var(--tw-prose-bullets);
}
.prose :where(dt):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-headings);
font-weight: 600;
margin-top: 1.25em;
}
.prose :where(hr):not(:where([class~=not-prose], [class~=not-prose] *)) {
border-color: var(--tw-prose-hr);
border-top-width: 1px;
margin-top: 3em;
margin-bottom: 3em;
}
.prose :where(blockquote):not(:where([class~=not-prose], [class~=not-prose] *)) {
font-weight: 500;
font-style: italic;
color: var(--tw-prose-quotes);
border-left-width: 0.25rem;
border-left-color: var(--tw-prose-quote-borders);
quotes: "“" "”" "" "";
margin-top: 1.6em;
margin-bottom: 1.6em;
padding-left: 1em;
}
.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose], [class~=not-prose] *))::before {
content: open-quote;
}
.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose], [class~=not-prose] *))::after {
content: close-quote;
}
.prose :where(h1):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-headings);
font-weight: 800;
font-size: 2.25em;
margin-top: 0;
margin-bottom: 0.8888889em;
line-height: 1.1111111;
}
.prose :where(h1 strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
font-weight: 900;
color: inherit;
}
.prose :where(h2):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-headings);
font-weight: 700;
font-size: 1.5em;
margin-top: 2em;
margin-bottom: 1em;
line-height: 1.3333333;
}
.prose :where(h2 strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
font-weight: 800;
color: inherit;
}
.prose :where(h3):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-headings);
font-weight: 600;
font-size: 1.25em;
margin-top: 1.6em;
margin-bottom: 0.6em;
line-height: 1.6;
}
.prose :where(h3 strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
font-weight: 700;
color: inherit;
}
.prose :where(h4):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-headings);
font-weight: 600;
margin-top: 1.5em;
margin-bottom: 0.5em;
line-height: 1.5;
}
.prose :where(h4 strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
font-weight: 700;
color: inherit;
}
.prose :where(img):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 2em;
margin-bottom: 2em;
}
.prose :where(picture):not(:where([class~=not-prose], [class~=not-prose] *)) {
display: block;
margin-top: 2em;
margin-bottom: 2em;
}
.prose :where(kbd):not(:where([class~=not-prose], [class~=not-prose] *)) {
font-weight: 500;
font-family: inherit;
color: var(--tw-prose-kbd);
box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);
font-size: 0.875em;
border-radius: 0.3125rem;
padding-top: 0.1875em;
padding-right: 0.375em;
padding-bottom: 0.1875em;
padding-left: 0.375em;
}
.prose :where(code):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-code);
font-weight: 600;
font-size: 0.875em;
}
.prose :where(code):not(:where([class~=not-prose], [class~=not-prose] *))::before {
content: "`";
}
.prose :where(code):not(:where([class~=not-prose], [class~=not-prose] *))::after {
content: "`";
}
.prose :where(a code):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: inherit;
}
.prose :where(h1 code):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: inherit;
}
.prose :where(h2 code):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: inherit;
font-size: 0.875em;
}
.prose :where(h3 code):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: inherit;
font-size: 0.9em;
}
.prose :where(h4 code):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: inherit;
}
.prose :where(blockquote code):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: inherit;
}
.prose :where(thead th code):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: inherit;
}
.prose :where(pre):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-pre-code);
background-color: var(--tw-prose-pre-bg);
overflow-x: auto;
font-weight: 400;
font-size: 0.875em;
line-height: 1.7142857;
margin-top: 1.7142857em;
margin-bottom: 1.7142857em;
border-radius: 0.375rem;
padding-top: 0.8571429em;
padding-right: 1.1428571em;
padding-bottom: 0.8571429em;
padding-left: 1.1428571em;
}
.prose :where(pre code):not(:where([class~=not-prose], [class~=not-prose] *)) {
background-color: transparent;
border-width: 0;
border-radius: 0;
padding: 0;
font-weight: inherit;
color: inherit;
font-size: inherit;
font-family: inherit;
line-height: inherit;
}
.prose :where(pre code):not(:where([class~=not-prose], [class~=not-prose] *))::before {
content: none;
}
.prose :where(pre code):not(:where([class~=not-prose], [class~=not-prose] *))::after {
content: none;
}
.prose :where(table):not(:where([class~=not-prose], [class~=not-prose] *)) {
width: 100%;
table-layout: auto;
text-align: left;
margin-top: 2em;
margin-bottom: 2em;
font-size: 0.875em;
line-height: 1.7142857;
}
.prose :where(thead):not(:where([class~=not-prose], [class~=not-prose] *)) {
border-bottom-width: 1px;
border-bottom-color: var(--tw-prose-th-borders);
}
.prose :where(thead th):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-headings);
font-weight: 600;
vertical-align: bottom;
padding-right: 0.5714286em;
padding-bottom: 0.5714286em;
padding-left: 0.5714286em;
}
.prose :where(tbody tr):not(:where([class~=not-prose], [class~=not-prose] *)) {
border-bottom-width: 1px;
border-bottom-color: var(--tw-prose-td-borders);
}
.prose :where(tbody tr:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
border-bottom-width: 0;
}
.prose :where(tbody td):not(:where([class~=not-prose], [class~=not-prose] *)) {
vertical-align: baseline;
}
.prose :where(tfoot):not(:where([class~=not-prose], [class~=not-prose] *)) {
border-top-width: 1px;
border-top-color: var(--tw-prose-th-borders);
}
.prose :where(tfoot td):not(:where([class~=not-prose], [class~=not-prose] *)) {
vertical-align: top;
}
.prose :where(figure > *):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 0;
margin-bottom: 0;
}
.prose :where(figcaption):not(:where([class~=not-prose], [class~=not-prose] *)) {
color: var(--tw-prose-captions);
font-size: 0.875em;
line-height: 1.4285714;
margin-top: 0.8571429em;
}
.prose {
--tw-prose-body: #374151;
--tw-prose-headings: #111827;
--tw-prose-lead: #4b5563;
--tw-prose-links: #111827;
--tw-prose-bold: #111827;
--tw-prose-counters: #6b7280;
--tw-prose-bullets: #d1d5db;
--tw-prose-hr: #e5e7eb;
--tw-prose-quotes: #111827;
--tw-prose-quote-borders: #e5e7eb;
--tw-prose-captions: #6b7280;
--tw-prose-kbd: #111827;
--tw-prose-kbd-shadows: 17 24 39;
--tw-prose-code: #111827;
--tw-prose-pre-code: #e5e7eb;
--tw-prose-pre-bg: #1f2937;
--tw-prose-th-borders: #d1d5db;
--tw-prose-td-borders: #e5e7eb;
--tw-prose-invert-body: #d1d5db;
--tw-prose-invert-headings: #fff;
--tw-prose-invert-lead: #9ca3af;
--tw-prose-invert-links: #fff;
--tw-prose-invert-bold: #fff;
--tw-prose-invert-counters: #9ca3af;
--tw-prose-invert-bullets: #4b5563;
--tw-prose-invert-hr: #374151;
--tw-prose-invert-quotes: #f3f4f6;
--tw-prose-invert-quote-borders: #374151;
--tw-prose-invert-captions: #9ca3af;
--tw-prose-invert-kbd: #fff;
--tw-prose-invert-kbd-shadows: 255 255 255;
--tw-prose-invert-code: #fff;
--tw-prose-invert-pre-code: #d1d5db;
--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
--tw-prose-invert-th-borders: #4b5563;
--tw-prose-invert-td-borders: #374151;
font-size: 1rem;
line-height: 1.75;
}
.prose :where(picture > img):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 0;
margin-bottom: 0;
}
.prose :where(video):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 2em;
margin-bottom: 2em;
}
.prose :where(li):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.prose :where(ol > li):not(:where([class~=not-prose], [class~=not-prose] *)) {
padding-left: 0.375em;
}
.prose :where(ul > li):not(:where([class~=not-prose], [class~=not-prose] *)) {
padding-left: 0.375em;
}
.prose :where(.prose > ul > li p):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.prose :where(.prose > ul > li > *:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 1.25em;
}
.prose :where(.prose > ul > li > *:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-bottom: 1.25em;
}
.prose :where(.prose > ol > li > *:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 1.25em;
}
.prose :where(.prose > ol > li > *:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-bottom: 1.25em;
}
.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.prose :where(dl):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 1.25em;
margin-bottom: 1.25em;
}
.prose :where(dd):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 0.5em;
padding-left: 1.625em;
}
.prose :where(hr + *):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 0;
}
.prose :where(h2 + *):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 0;
}
.prose :where(h3 + *):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 0;
}
.prose :where(h4 + *):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 0;
}
.prose :where(thead th:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
padding-left: 0;
}
.prose :where(thead th:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
padding-right: 0;
}
.prose :where(tbody td, tfoot td):not(:where([class~=not-prose], [class~=not-prose] *)) {
padding-top: 0.5714286em;
padding-right: 0.5714286em;
padding-bottom: 0.5714286em;
padding-left: 0.5714286em;
}
.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
padding-left: 0;
}
.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
padding-right: 0;
}
.prose :where(figure):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 2em;
margin-bottom: 2em;
}
.prose :where(.prose > :first-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-top: 0;
}
.prose :where(.prose > :last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
margin-bottom: 0;
}
.static {
position: static;
}
@@ -1157,6 +1660,10 @@ select {
max-width: 36rem;
}
.max-w-none {
max-width: none;
}
.flex-1 {
flex: 1 1 0%;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@@ -8,7 +8,6 @@ include(get_theme_file_path('/includes/front-end/styles_and_scripts.php'));
// include(get_theme_file_path('/includes/back-end/template_content_update.php'));
include(get_theme_file_path('/includes/back-end/editor_styles_and_scripts.php'));
include(get_theme_file_path('/includes/back-end/query_adjustments.php'));
include(get_theme_file_path('/includes/front-end/technical_seo.php'));
include(get_theme_file_path('/includes/front-end/registration_form_message.php'));
include(get_theme_file_path('/includes/front-end/custom_login_screen.php'));
// include(get_theme_file_path('/'));
@@ -33,9 +32,6 @@ add_action('after_setup_theme', 'themeStarter_editor_enqueue');
// Adjust Queries
add_action('pre_get_posts', 'themeStarter_adjust_queries');
// Add Facebook Open Graph and Twitter Card to Head
add_action('wp_head', 'open_graph_twitter_card', 2);
// Change Registration Message
add_action('login_message', 'change_reg_message');

View File

@@ -42,7 +42,15 @@ function ddd($variable)
// Get An Array of Top Level Pages and their Subpages
function get_pages_as_array()
{
$pages = get_pages();
$args = [
'sort_order' => 'ASC',
'sort_column' => 'menu_order',
'hierarchical' => 1,
'exclude' => []
];
$pages = get_pages($args);
$page_hierarchy = array();
foreach ($pages as $page) {

View File

@@ -2,23 +2,6 @@
$menuData = [
// Daily Living and Housing
[
'slug' => 'daily-living-and-housing',
'title' => 'Daily Living and Housing',
'description' => 'Tips for independent living, housing options, and creating a comfortable daily routine.',
'subcategories' => [
['title' => 'Before Signing The Lease', 'slug' => 'before-signing-the-lease', 'description' => ''],
['title' => 'Finding A Place To Stay', 'slug' => 'finding-a-place-to-stay', 'description' => ''],
['title' => 'First Time Renting FAQs', 'slug' => 'first-time-renting-faqs', 'description' => ''],
['title' => 'House vs. Apartment', 'slug' => 'house-vs-apartment', 'description' => ''],
['title' => 'Off Campus Housing', 'slug' => 'off-campus-housing', 'description' => ''],
['title' => 'Students With Children', 'slug' => 'students-with-children', 'description' => ''],
['title' => 'Transportation', 'slug' => 'transportation', 'description' => ''],
],
'bootstrap_icon' => 'bi-building',
],
// Goals and Objectives
[
'slug' => 'goals-and-objectives',
@@ -33,6 +16,22 @@ $menuData = [
'bootstrap_icon' => 'bi-bullseye',
],
// Preparing for College or University
[
'slug' => 'preparing-for-college-and-university',
'title' => 'Preparing for College and University',
'description' => 'Navigate academia successfully with insights on admissions, majors, and preparation.',
'subcategories' => [
['title' => 'Applying to Post Secondary', 'slug' => 'applying-to-post-secondary', 'description' => ''],
['title' => 'Education Level Differences', 'slug' => 'education-level-differences', 'description' => ''],
['title' => 'Online Learning and Remote Work', 'slug' => 'online-learning-and-remote-work', 'description' => ''],
['title' => 'Strategies For Success', 'slug' => 'strategies-for-success', 'description' => ''],
['title' => 'Support and Accommodations', 'slug' => 'support-and-accommodations', 'description' => ''],
],
'bootstrap_icon' => 'bi-journal-bookmark-fill',
],
// Managing Your Finances
[
'slug' => 'managing-your-finances',
@@ -50,6 +49,23 @@ $menuData = [
'bootstrap_icon' => 'bi-cash-coin',
],
// Daily Living and Housing
[
'slug' => 'daily-living-and-housing',
'title' => 'Daily Living and Housing',
'description' => 'Tips for independent living, housing options, and creating a comfortable daily routine.',
'subcategories' => [
['title' => 'Before Signing The Lease', 'slug' => 'before-signing-the-lease', 'description' => ''],
['title' => 'Finding A Place To Stay', 'slug' => 'finding-a-place-to-stay', 'description' => ''],
['title' => 'First Time Renting FAQs', 'slug' => 'first-time-renting-faqs', 'description' => ''],
['title' => 'House vs. Apartment', 'slug' => 'house-vs-apartment', 'description' => ''],
['title' => 'Off Campus Housing', 'slug' => 'off-campus-housing', 'description' => ''],
['title' => 'Students With Children', 'slug' => 'students-with-children', 'description' => ''],
['title' => 'Transportation', 'slug' => 'transportation', 'description' => ''],
],
'bootstrap_icon' => 'bi-building',
],
// Mental Health and Wellness
[
'slug' => 'mental-health-and-wellness',
@@ -59,9 +75,11 @@ $menuData = [
['title' => 'Gender Identity and Sexual Orientation', 'slug' => 'gender-identity-and-sexual-orientation', 'description' => ''],
['title' => 'Living In Balance', 'slug' => 'living-in-balance', 'description' => ''],
['title' => 'Making Healthy Choices', 'slug' => 'making-healthy-choices', 'description' => ''],
['title' => 'Managing Stress', 'slug' => 'managing-stress', 'description' => ''
[
'title' => 'Managing Stress', 'slug' => 'managing-stress', 'description' => ''
],
['title' => 'Physical Health', 'slug' => 'physical-health', 'description' => ''
[
'title' => 'Physical Health', 'slug' => 'physical-health', 'description' => ''
],
['title' => 'Safety', 'slug' => 'safety', 'description' => ''],
['title' => 'Sexual Health', 'slug' => 'sexual-health', 'description' => ''],
@@ -70,20 +88,6 @@ $menuData = [
'bootstrap_icon' => 'bi-heart-pulse-fill',
],
// Preparing for College or University
[
'slug' => 'preparing-for-college-and-university',
'title' => 'Preparing for College and University',
'description' => 'Navigate academia successfully with insights on admissions, majors, and preparation.',
'subcategories' => [
['title' => 'Applying to Post Secondary', 'slug' => 'applying-to-post-secondary', 'description' => ''],
['title' => 'Education Level Differences', 'slug' => 'education-level-differences', 'description' => ''],
['title' => 'Online Learning and Remote Work', 'slug' => 'online-learning-and-remote-work', 'description' => ''],
['title' => 'Strategies For Success', 'slug' => 'strategies-for-success', 'description' => ''],
['title' => 'Support and Accommodations', 'slug' => 'support-and-accommodations', 'description' => ''],
],
'bootstrap_icon' => 'bi-journal-bookmark-fill',
],
// Forms and Additional Information
[

View File

@@ -1,35 +0,0 @@
<?php
function open_graph_twitter_card()
{
// Get the post or page ID
$post_id = get_the_ID();
// Get the post or page title
$title = get_the_title($post_id);
// Get the post or page excerpt (description)
$description = (get_the_excerpt()) ? get_the_excerpt() : get_bloginfo('description');
// Get the post or page URL
$url = get_permalink($post_id);
// Set default image url
$default_image_url = get_theme_file_uri('/screenshot.png');
// Get the post thumbnail (featured image) URL
$thumbnail = get_the_post_thumbnail_url($post_id);
?>
<!-- Open Graph meta tags -->
<meta property="og:title" content="<?php echo $title . ' - ' . get_bloginfo('name'); ?>" />
<meta property="og:description" content="<?php echo $description ?>" />
<meta property="og:url" content="<?php echo $url ?>" />
<meta property="og:image" content="<?php echo $default_image_url ?>" />
<!-- Twitter Card meta tags -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="<?php echo $title . ' - ' . get_bloginfo('name'); ?>" />
<meta name="twitter:description" content="<?php echo $description ?>" />
<meta name="twitter:image" content="<?php echo $default_image_url ?>" />
<?php
}

View File

@@ -17,15 +17,26 @@ get_header(); ?>
if (is_page($pageSlug)) { ?>
<?php get_template_part('/templates/partials/page_header'); ?>
<?php get_template_part('/templates/partials/page_header');
// Check if the ACF field "description" has a value
if (get_field('description')) { ?>
<div class="p-4 text-center">
<h2 class="font-medium underline uppercase">Overview</h2>
</div>
<?php } ?>
<p class="font-medium px-4 lg:text-center"><?php echo get_field('description', $pageID); ?></p>
<?php get_template_part('/templates/partials/subcategory_cards'); ?>
<div class="max-w-7xl mx-auto">
<?php get_template_part('/templates/top-level/' . $pageSlug); ?>
<?php /** the_content(); */ ?>
</div>
<?php }
foreach ($page['subpages'] as $subpage) {

View File

@@ -1,9 +1,9 @@
/*
Theme Name: ThemeStarter
Theme URI: https://thecreatorpriz.com
Theme Name: NAN Student Handbook
Theme URI: https://harplabs.com
Author: Prospect Ogujiuba
Author URI: https://thecreatpriz.com/
Description: This theme was created for Nishnawbe Aski Nation Post Secondary Transitions Handbook for Students.
Author URI: https://thecreatorpriz.com/
Description: This theme was created by harpLabs Inc. from Prospect Ogujiuba's WordPress ThemeStarter. It provides an app theme for Nishnawbe Aski Nation's Post Secondary Transitions Handbook for Students.
Version: 1.0
Requires at least: 5.9
Tested up to: 6.4.1

View File

@@ -0,0 +1,387 @@
<article class="prose max-w-none py-8 px-4">
<h1>Privacy Policy</h1>
<p>Last updated: February 21, 2024</p>
<p>
This Privacy Policy describes Our policies and procedures on the
collection, use and disclosure of Your information when You use the
Service and tells You about Your privacy rights and how the law protects
You.
</p>
<p>
We may use Your Personal data to provide and improve the Service. By using the
Service, You agree to the collection and use of information in accordance
with this Privacy Policy.
</p>
<h2>Interpretation and Definitions</h2>
<h3>Interpretation</h3>
<p>
The words of which the initial letter is capitalized have meanings defined
under the following conditions. The following definitions shall have the
same meaning regardless of whether they appear in singular or in plural.
</p>
<h3>Definitions</h3>
<p>For the purposes of this Privacy Policy:</p>
<ul>
<li>
<p>
<strong>Account</strong> means a unique account created for You to
access our Service or parts of our Service.
</p>
</li>
<li>
<p>
<strong>Affiliate</strong> means an entity that controls, is
controlled by or is under common control with a party, where
&quot;control&quot; means ownership of 50% or more of the shares,
equity interest or other securities entitled to vote for election of
directors or other managing authority.
</p>
</li>
<li>
<p>
<strong>Application</strong> refers to NAN Student Handbook, the
software program provided by the Company.
</p>
</li>
<li>
<p>
<strong>Company</strong> (referred to as either &quot;the
Company&quot;, &quot;We&quot;, &quot;Us&quot; or &quot;Our&quot; in
this Agreement) refers to harpLabs Inc., Suite 200, 55 Village Centre
Place Mississauga, ON L4Z 1V9.
</p>
</li>
<li>
<p><strong>Country</strong> refers to: Ontario, Canada</p>
</li>
<li>
<p>
<strong>Device</strong> means any device that can access the Service
such as a computer, a cellphone or a digital tablet.
</p>
</li>
<li>
<p>
<strong>Personal Data</strong> is any information that relates to an
identified or identifiable individual.
</p>
</li>
<li>
<p><strong>Service</strong> refers to the Application.</p>
</li>
<li>
<p>
<strong>Service Provider</strong> means any natural or legal person
who processes the data on behalf of the Company. It refers to
third-party companies or individuals employed by the Company to
facilitate the Service, to provide the Service on behalf of the
Company, to perform services related to the Service or to assist the
Company in analyzing how the Service is used.
</p>
</li>
<li>
<p>
<strong>Usage Data</strong> refers to data collected automatically,
either generated by the use of the Service or from the Service
infrastructure itself (for example, the duration of a page visit).
</p>
</li>
<li>
<p>
<strong>You</strong> means the individual accessing or using the
Service, or the company, or other legal entity on behalf of which such
individual is accessing or using the Service, as applicable.
</p>
</li>
</ul>
<h2>Collecting and Using Your Personal Data</h2>
<h3>Types of Data Collected</h3>
<h4>Personal Data</h4>
<p>
While using Our Service, We may ask You to provide Us with certain
personally identifiable information that can be used to contact or
identify You. Personally identifiable information may include, but is not
limited to:
</p>
<ul>
<li>Usage Data</li>
</ul>
<h4>Usage Data</h4>
<p>Usage Data is collected automatically when using the Service.</p>
<p>
Usage Data may include information such as Your Device's Internet Protocol
address (e.g. IP address), browser type, browser version, the pages of our
Service that You visit, the time and date of Your visit, the time spent on
those pages, unique device identifiers and other diagnostic data.
</p>
<p>
When You access the Service by or through a mobile device, We may collect
certain information automatically, including, but not limited to, the type
of mobile device You use, Your mobile device unique ID, the IP address of
Your mobile device, Your mobile operating system, the type of mobile
Internet browser You use, unique device identifiers and other diagnostic
data.
</p>
<p>
We may also collect information that Your browser sends whenever You visit
our Service or when You access the Service by or through a mobile device.
</p>
<h3>Use of Your Personal Data</h3>
<p>The Company may use Personal Data for the following purposes:</p>
<ul>
<li>
<p>
<strong>To provide and maintain our Service</strong>, including to
monitor the usage of our Service.
</p>
</li>
<li>
<p>
<strong>To manage Your Account:</strong> to manage Your registration
as a user of the Service. The Personal Data You provide can give You
access to different functionalities of the Service that are available
to You as a registered user.
</p>
</li>
<li>
<p>
<strong>For the performance of a contract:</strong> the development,
compliance and undertaking of the purchase contract for the products,
items or services You have purchased or of any other contract with Us
through the Service.
</p>
</li>
<li>
<p>
<strong>To contact You:</strong> To contact You by email, telephone
calls, SMS, or other equivalent forms of electronic communication,
such as a mobile application's push notifications regarding updates or
informative communications related to the functionalities, products or
contracted services, including the security updates, when necessary or
reasonable for their implementation.
</p>
</li>
<li>
<p>
<strong>To provide You</strong> with news, special offers and general
information about other goods, services and events which we offer that
are similar to those that you have already purchased or enquired about
unless You have opted not to receive such information.
</p>
</li>
<li>
<p>
<strong>To manage Your requests:</strong> To attend and manage Your
requests to Us.
</p>
</li>
<li>
<p>
<strong>For business transfers:</strong> We may use Your information
to evaluate or conduct a merger, divestiture, restructuring,
reorganization, dissolution, or other sale or transfer of some or all
of Our assets, whether as a going concern or as part of bankruptcy,
liquidation, or similar proceeding, in which Personal Data held by Us
about our Service users is among the assets transferred.
</p>
</li>
<li>
<p>
<strong>For other purposes</strong>: We may use Your information for
other purposes, such as data analysis, identifying usage trends,
determining the effectiveness of our promotional campaigns and to
evaluate and improve our Service, products, services, marketing and
your experience.
</p>
</li>
</ul>
<p>We may share Your personal information in the following situations:</p>
<ul>
<li>
<strong>With Service Providers:</strong> We may share Your personal
information with Service Providers to monitor and analyze the use of our
Service, to contact You.
</li>
<li>
<strong>For business transfers:</strong> We may share or transfer Your
personal information in connection with, or during negotiations of, any
merger, sale of Company assets, financing, or acquisition of all or a
portion of Our business to another company.
</li>
<li>
<strong>With Affiliates:</strong> We may share Your information with Our
affiliates, in which case we will require those affiliates to honor this
Privacy Policy. Affiliates include Our parent company and any other
subsidiaries, joint venture partners or other companies that We control
or that are under common control with Us.
</li>
<li>
<strong>With business partners:</strong> We may share Your information
with Our business partners to offer You certain products, services or
promotions.
</li>
<li>
<strong>With other users:</strong> when You share personal information
or otherwise interact in the public areas with other users, such
information may be viewed by all users and may be publicly distributed
outside.
</li>
<li>
<strong>With Your consent</strong>: We may disclose Your personal
information for any other purpose with Your consent.
</li>
</ul>
<h3>Retention of Your Personal Data</h3>
<p>
The Company will retain Your Personal Data only for as long as is
necessary for the purposes set out in this Privacy Policy. We will retain
and use Your Personal Data to the extent necessary to comply with our
legal obligations (for example, if we are required to retain your data to
comply with applicable laws), resolve disputes, and enforce our legal
agreements and policies.
</p>
<p>
The Company will also retain Usage Data for internal analysis purposes.
Usage Data is generally retained for a shorter period of time, except when
this data is used to strengthen the security or to improve the
functionality of Our Service, or We are legally obligated to retain this
data for longer time periods.
</p>
<h3>Transfer of Your Personal Data</h3>
<p>
Your information, including Personal Data, is processed at the Company's
operating offices and in any other places where the parties involved in
the processing are located. It means that this information may be
transferred to — and maintained on — computers located outside of Your
state, province, country or other governmental jurisdiction where the data
protection laws may differ than those from Your jurisdiction.
</p>
<p>
Your consent to this Privacy Policy followed by Your submission of such
information represents Your agreement to that transfer.
</p>
<p>
The Company will take all steps reasonably necessary to ensure that Your
data is treated securely and in accordance with this Privacy Policy and no
transfer of Your Personal Data will take place to an organization or a
country unless there are adequate controls in place including the security
of Your data and other personal information.
</p>
<h3>Delete Your Personal Data</h3>
<p>
You have the right to delete or request that We assist in deleting the
Personal Data that We have collected about You.
</p>
<p>
Our Service may give You the ability to delete certain information about
You from within the Service.
</p>
<p>
You may update, amend, or delete Your information at any time by signing
in to Your Account, if you have one, and visiting the account settings
section that allows you to manage Your personal information. You may also
contact Us to request access to, correct, or delete any personal
information that You have provided to Us.
</p>
<p>
Please note, however, that We may need to retain certain information when
we have a legal obligation or lawful basis to do so.
</p>
<h3>Disclosure of Your Personal Data</h3>
<h4>Business Transactions</h4>
<p>
If the Company is involved in a merger, acquisition or asset sale, Your
Personal Data may be transferred. We will provide notice before Your
Personal Data is transferred and becomes subject to a different Privacy
Policy.
</p>
<h4>Law enforcement</h4>
<p>
Under certain circumstances, the Company may be required to disclose Your
Personal Data if required to do so by law or in response to valid requests
by public authorities (e.g. a court or a government agency).
</p>
<h4>Other legal requirements</h4>
<p>
The Company may disclose Your Personal Data in the good faith belief that
such action is necessary to:
</p>
<ul>
<li>Comply with a legal obligation</li>
<li>Protect and defend the rights or property of the Company</li>
<li>
Prevent or investigate possible wrongdoing in connection with the
Service
</li>
<li>Protect the personal safety of Users of the Service or the public</li>
<li>Protect against legal liability</li>
</ul>
<h3>Security of Your Personal Data</h3>
<p>
The security of Your Personal Data is important to Us, but remember that
no method of transmission over the Internet, or method of electronic
storage is 100% secure. While We strive to use commercially acceptable
means to protect Your Personal Data, We cannot guarantee its absolute
security.
</p>
<h2>Children's Privacy</h2>
<p>
Our Service does not address anyone under the age of 13. We do not
knowingly collect personally identifiable information from anyone under
the age of 13. If You are a parent or guardian and You are aware that Your
child has provided Us with Personal Data, please contact Us. If We become
aware that We have collected Personal Data from anyone under the age of 13
without verification of parental consent, We take steps to remove that
information from Our servers.
</p>
<p>
If We need to rely on consent as a legal basis for processing Your
information and Your country requires consent from a parent, We may
require Your parent's consent before We collect and use that information.
</p>
<h2>Links to Other Websites</h2>
<p>
Our Service may contain links to other websites that are not operated by
Us. If You click on a third party link, You will be directed to that third
party's site. We strongly advise You to review the Privacy Policy of every
site You visit.
</p>
<p>
We have no control over and assume no responsibility for the content,
privacy policies or practices of any third party sites or services.
</p>
<h2>Changes to this Privacy Policy</h2>
<p>
We may update Our Privacy Policy from time to time. We will notify You of
any changes by posting the new Privacy Policy on this page.
</p>
<p>
We will let You know via email and/or a prominent notice on Our Service,
prior to the change becoming effective and update the &quot;Last
updated&quot; date at the top of this Privacy Policy.
</p>
<p>
You are advised to review this Privacy Policy periodically for any
changes. Changes to this Privacy Policy are effective when they are posted
on this page.
</p>
<h2>Contact Us</h2>
<p>
If you have any questions about this Privacy Policy, You can contact us:
</p>
<ul>
<li>
<p>By email: info@harplabs.com</p>
</li>
<li>
<p>
By visiting this page on our website:
<a href="https://nanhandbook.harplabs.com/privacy-policy" rel="external nofollow noopener" target="_blank">NAN Student Handbook Privacy Policy</a>
</p>
</li>
</ul>
</article>