Compare commits

...

3 Commits

7 changed files with 82 additions and 57 deletions

View File

@@ -16,12 +16,12 @@
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-wifi","title":"Offline Playback Support","description":"Our intelligent player devices keep your message on screen even when the internet isn\u0027t available, ensuring reliability in any location.","url":"/devices"} /-->
<!-- /wp:oribi/feature-section -->
<!-- wp:oribi/image-section {"variant":"alt","label":"Who It's For","heading":"Solutions for Every Industry","lead":"Modern businesses need real-time communication. Digital signage helps you connect, inform, and engage.","columns":4} -->
<!-- wp:oribi/image-card {"iconType":"fontawesome","faIcon":"fas fa-hotel","title":"Hospitality","description":"Showcase menus, promotions, and special events while guiding guests through lobbies, restaurants, and bars.","url":"/solutions"} /-->
<!-- wp:oribi/image-card {"iconType":"fontawesome","faIcon":"fas fa-store","title":"Retail","description":"Drive product upsells, announce flash-sales, and offer in-store navigation with fresh, eye-catching displays.","url":"/solutions"} /-->
<!-- wp:oribi/image-card {"iconType":"fontawesome","faIcon":"fas fa-building","title":"Corporate","description":"Enhance meeting experiences with Teams integration. Communicate schedules, company news, and employee alerts.","url":"/solutions"} /-->
<!-- wp:oribi/image-card {"iconType":"fontawesome","faIcon":"fas fa-graduation-cap","title":"Education","description":"Broadcast class schedules, announcements, and interactive learning content in campuses and auditoriums.","url":"/solutions"} /-->
<!-- /wp:oribi/image-section -->
<!-- wp:oribi/feature-section {"variant":"alt","label":"Who It's For","heading":"Solutions for Every Industry","lead":"Modern businesses need real-time communication. Digital signage helps you connect, inform, and engage.","columns":4} -->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-hotel","title":"Hospitality","description":"Showcase menus, promotions, and special events while guiding guests through lobbies, restaurants, and bars.","url":"/solutions"} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-store","title":"Retail","description":"Drive product upsells, announce flash-sales, and offer in-store navigation with fresh, eye-catching displays.","url":"/solutions"} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-building","title":"Corporate","description":"Enhance meeting experiences with Teams integration. Communicate schedules, company news, and employee alerts.","url":"/solutions"} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-graduation-cap","title":"Education","description":"Broadcast class schedules, announcements, and interactive learning content in campuses and auditoriums.","url":"/solutions"} /-->
<!-- /wp:oribi/feature-section -->
<!-- wp:oribi/link-section {"label":"Explore","heading":"Take the Next Step","lead":"See our plans, explore devices, or request a demo.","columns":3} -->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-tags","title":"Pricing Plans","description":"Affordable, scalable options for businesses of all sizes. See what\u0027s included at every level.","linkText":"View Pricing","linkUrl":"/pricing"} /-->

View File

@@ -9,12 +9,12 @@
?>
<!-- wp:oribi/page-hero-animated {"label":"Pricing","title":"Affordable Solutions, Scalable Options","description":"Simple, transparent pricing designed to grow with your business. Every plan includes our core platform features, no hidden fees, no surprises."} /-->
<!-- wp:oribi/feature-section {"variant":"normal","label":"All Plans Include","heading":"Core Features on Every Plan","lead":"No matter which plan you choose, you get the full power of our digital signage platform.","columns":4} -->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-clock","title":"Content Scheduling","description":"Day-parting, time-based triggers, and automated content rotation included on every plan."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-chart-line","title":"Live Data Integration","description":"Connect your web dashboards and real-time data sources directly to your digital signage."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-users","title":"Unlimited User Seats","description":"Add your entire team, no per-user charges or access limitations."} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-rocket","title":"Publish in Minutes","description":"Upload content and push it to your screens instantly across your entire network."} /-->
<!-- /wp:oribi/feature-section -->
<!-- wp:oribi/value-section {"variant":"normal","label":"All Plans Include","heading":"Core Features on Every Plan","lead":"No matter which plan you choose, you get the full power of our digital signage platform.","columns":4} -->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-clock","title":"Content Scheduling","description":"Day-parting, time-based triggers, and automated content rotation included on every plan."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-chart-line","title":"Live Data Integration","description":"Connect your web dashboards and real-time data sources directly to your digital signage."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-users","title":"Unlimited User Seats","description":"Add your entire team, no per-user charges or access limitations."} /-->
<!-- wp:oribi/value-card {"iconType":"fontawesome","faIcon":"fas fa-rocket","title":"Publish in Minutes","description":"Upload content and push it to your screens instantly across your entire network."} /-->
<!-- /wp:oribi/value-section -->
<!-- wp:oribi/pricing-section {"variant":"alt","label":"Choose Your Plan","heading":"Plans That Fit Your Business","lead":"Start small and scale as you grow. All plans come with our full-featured cloud CMS."} -->
<!-- wp:oribi/pricing-card {"name":"Essentials","tagline":"$7/Screen Monthly · $70/Screen Annually","features":["Up to 20 screens","Custom subdomain","Shared CMS server","Content scheduling & day-parting","Integration with live data sources","Unlimited user seats","Publish content in minutes","Offline playback support","Email support"],"btnText":"Get Started","btnUrl":"/contact"} /-->

View File

@@ -1,13 +1,12 @@
<?php
/**
/*
* Title: Resources
* Slug: ots-signs/page-resources
* Categories: oribi-pages
* Keywords: resources, documentation, guides, knowledge base, support
* Post Types: page
* Slug: resources
* Post Type: page
*/
?>
<!-- wp:oribi/page-hero-animated {"label":"Resources","title":"Knowledge \u0026 Support Resources","description":"Guides, documentation, and tools to help you get the most out of your digital signage platform."} /-->
return <<<'ORIBI_SYNC_CONTENT'
<!-- wp:oribi/page-hero-animated {"label":"Resources","title":"Knowledge u0026 Support Resources","description":"Guides, documentation, and tools to help you get the most out of your digital signage platform."} /-->
<!-- wp:oribi/link-section {"variant":"normal","label":"Getting Started","heading":"Essential Resources","lead":"Everything you need to set up, manage, and optimise your digital signage network.","columns":3} -->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-book","title":"Getting Started Guide","description":"Step-by-step instructions to set up your first screen, configure your CMS, and publish your first content.","linkText":"Read the Guide","linkUrl":"/contact"} /-->
@@ -15,16 +14,17 @@
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-plug","title":"Integration Guides","description":"How to connect live data sources, social media feeds, POS systems, and web dashboards to your displays.","linkText":"See Integrations","linkUrl":"/contact"} /-->
<!-- /wp:oribi/link-section -->
<!-- wp:oribi/link-section {"variant":"alt","label":"Support","heading":"Help \u0026 Support","lead":"Get assistance with setup, troubleshooting, or any questions about the platform.","columns":3} -->
<!-- wp:oribi/link-section {"variant":"alt","label":"Support","heading":"Help u0026 Support","lead":"Get assistance with setup, troubleshooting, or any questions about the platform.","columns":3} -->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-headset","title":"Support Portal","description":"Submit support tickets, track issue resolution, and access our knowledge base for common troubleshooting steps.","linkText":"Open Support Portal","linkUrl":"/contact"} /-->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-video","title":"Video Tutorials","description":"Watch step-by-step video guides on content creation, scheduling, device management, and platform features.","linkText":"Watch Tutorials","linkUrl":"/contact"} /-->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-question-circle","title":"FAQ","description":"Find answers to the most common questions about our platform, pricing, setup, and support options.","linkText":"Browse FAQ","linkUrl":"/faq"} /-->
<!-- /wp:oribi/link-section -->
<!-- wp:oribi/feature-section {"variant":"normal","label":"Content Tools","heading":"Create Better Content","lead":"Tools and templates to help you create engaging digital signage content.","columns":3} -->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-palette","title":"Template Library","description":"Browse our collection of professionally designed templates for menus, promotions, wayfinding, and informational displays.","url":"/contact"} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-image","title":"Media Best Practices","description":"Guidelines for image resolution, video formats, file sizes, and aspect ratios optimised for digital signage.","url":"/contact"} /-->
<!-- wp:oribi/feature-card {"iconType":"fontawesome","faIcon":"fas fa-lightbulb","title":"Content Strategy Tips","description":"Learn how to structure your content rotation, day-parting schedules, and messaging for maximum audience impact.","url":"/contact"} /-->
<!-- /wp:oribi/feature-section -->
<!-- wp:oribi/link-section {"variant":"normal","label":"Content Tools","heading":"Create Better Content","lead":"Tools and templates to help you create engaging digital signage content.","columns":3} -->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-palette","title":"Template Library","description":"Browse our collection of professionally designed templates for menus, promotions, wayfinding, and informational displays.","linkText":"Browse Templates","linkUrl":"/contact"} /-->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-image","title":"Media Best Practices","description":"Guidelines for image resolution, video formats, file sizes, and aspect ratios optimised for digital signage.","linkText":"View Guidelines","linkUrl":"/contact"} /-->
<!-- wp:oribi/link-card {"iconType":"fontawesome","faIcon":"fas fa-lightbulb","title":"Content Strategy Tips","description":"Learn how to structure your content rotation, day-parting schedules, and messaging for maximum audience impact.","linkText":"Read Tips","linkUrl":"/contact"} /-->
<!-- /wp:oribi/link-section -->
<!-- wp:oribi/cta-banner {"heading":"Need Personalised Help?","text":"Our team is available to walk you through any aspect of the platform or help with content creation.","btnText":"Contact Support","btnUrl":"/contact"} /-->
ORIBI_SYNC_CONTENT;

View File

@@ -698,9 +698,10 @@ function oribi_render_site_header() {
/** Fallback menu when no WP menu is assigned. */
function oribi_fallback_menu() {
echo '<ul class="nav-menu">';
echo '<li><a href="' . esc_url( home_url( '/managed-it' ) ) . '">Services</a></li>';
echo '<li><a href="' . esc_url( home_url( '/solutions' ) ) . '">Solutions</a></li>';
echo '<li><a href="' . esc_url( home_url( '/features' ) ) . '">Features</a></li>';
echo '<li><a href="' . esc_url( home_url( '/pricing' ) ) . '">Pricing</a></li>';
echo '<li><a href="' . esc_url( home_url( '/about' ) ) . '">About</a></li>';
echo '<li><a href="' . esc_url( home_url( '/faq' ) ) . '">FAQ</a></li>';
echo '<li><a href="' . esc_url( home_url( '/contact' ) ) . '">Contact</a></li>';
echo '</ul>';
}
@@ -718,25 +719,25 @@ function oribi_render_site_footer() {
<?php else : ?>
<div class="logo-text"><strong>Oribi</strong> Tech</div>
<?php endif; ?>
<p class="footer-tagline">IT solutions tailored for your business.</p>
<p class="footer-location">Saratoga Springs, Upstate New York</p>
<p class="footer-tagline">Digital signage solutions that communicate, engage, and grow your business.</p>
<p class="footer-location">An Oribi Technology Services Company</p>
</div>
<div class="footer-links">
<div class="footer-col">
<h4>Services</h4>
<h4>Platform</h4>
<ul>
<li><a href="<?php echo esc_url( home_url( '/365care' ) ); ?>">365Care</a></li>
<li><a href="<?php echo esc_url( home_url( '/endpointcare' ) ); ?>">EndpointCare</a></li>
<li><a href="<?php echo esc_url( home_url( '/netcare' ) ); ?>">NetCare</a></li>
<li><a href="<?php echo esc_url( home_url( '/servercare' ) ); ?>">ServerCare</a></li>
<li><a href="<?php echo esc_url( home_url( '/features' ) ); ?>">Features</a></li>
<li><a href="<?php echo esc_url( home_url( '/pricing' ) ); ?>">Pricing</a></li>
<li><a href="<?php echo esc_url( home_url( '/devices' ) ); ?>">Devices</a></li>
<li><a href="<?php echo esc_url( home_url( '/demo' ) ); ?>">Demo</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Company</h4>
<ul>
<li><a href="<?php echo esc_url( home_url( '/about' ) ); ?>">About</a></li>
<li><a href="<?php echo esc_url( home_url( '/managed-it' ) ); ?>">Managed IT</a></li>
<li><a href="<?php echo esc_url( home_url( '/services-comparison' ) ); ?>">Compare</a></li>
<li><a href="<?php echo esc_url( home_url( '/solutions' ) ); ?>">Solutions</a></li>
<li><a href="<?php echo esc_url( home_url( '/resources' ) ); ?>">Resources</a></li>
<li><a href="<?php echo esc_url( home_url( '/faq' ) ); ?>">FAQ</a></li>
</ul>
</div>
@@ -744,14 +745,14 @@ function oribi_render_site_footer() {
<h4>Connect</h4>
<ul>
<li><a href="<?php echo esc_url( home_url( '/contact' ) ); ?>">Contact</a></li>
<li><a href="https://portal.oribi-tech.com/" target="_blank" rel="noopener">Client Portal</a></li>
<li><a href="mailto:solutions@oribi-tech.com">Email Us</a></li>
<li><a href="https://ots-signs.com/portal" target="_blank" rel="noopener">Client Portal</a></li>
<li><a href="mailto:hello@ots-signs.com">Email Us</a></li>
</ul>
</div>
</div>
</div>
<div class="footer-bottom">
<p>&copy; <?php echo esc_html( $year ); ?> OTS Themenology Services. All rights reserved.</p>
<p>&copy; <?php echo esc_html( $year ); ?> Oribi Technology Services. All rights reserved.</p>
</div>
</div>
</footer>
@@ -950,12 +951,13 @@ function oribi_render_contact_section( $a ) {
<div class="form-group">
<label for="cf-interest">Interested In</label>
<select id="cf-interest" name="interest">
<option value="">Select a service&hellip;</option>
<option value="365Care">365Care</option>
<option value="EndpointCare">EndpointCare</option>
<option value="NetCare">NetCare</option>
<option value="ServerCare">ServerCare</option>
<option value="Full Managed IT">Full Managed IT</option>
<option value="">Select a topic&hellip;</option>
<option value="Digital Signage">Digital Signage Solutions</option>
<option value="Content Creation">Content Creation</option>
<option value="Hardware">Player Devices &amp; Hardware</option>
<option value="Pricing">Pricing &amp; Plans</option>
<option value="Demo">Request a Demo</option>
<option value="Support">Technical Support</option>
<option value="Other">Other / Not sure</option>
</select>
</div>

View File

@@ -94,18 +94,21 @@ function oribi_get_setting( $key ) {
*/
function oribi_maybe_seed_defaults() {
if ( get_theme_mod( 'oribi_defaults_seeded' ) ) {
$defaults = oribi_get_theme_defaults();
$hash = md5( wp_json_encode( $defaults ) );
$stored = get_theme_mod( 'oribi_defaults_hash', '' );
if ( $stored === $hash ) {
return;
}
$defaults = oribi_get_theme_defaults();
foreach ( $defaults as $key => $value ) {
// Only set if the user hasn't already saved a value.
if ( false === get_theme_mod( 'oribi_' . $key, false ) ) {
set_theme_mod( 'oribi_' . $key, $value );
}
}
set_theme_mod( 'oribi_defaults_hash', $hash );
set_theme_mod( 'oribi_defaults_seeded', true );
// Force CSS regeneration on next check.
set_theme_mod( 'oribi_css_theme_version', '' );
}

View File

@@ -227,11 +227,11 @@ function oribi_build_css() {
--color-bg-alt: {$dk_bg_alt};
--color-bg-dark: {$dk_bg_dark};
--color-heading: {$dk_heading};
--header-scrolled-bg: rgba(15,23,36,.97);
--header-scrolled-bg: rgba(26,26,26,.97);
--header-scrolled-text: {$dk_text};
--card-bg: {$dk_card_bg};
--form-bg: {$dk_card_bg};
--form-bg-focus: #1A2538;
--form-bg-focus: {$dk_card_bg};
}
/* ── Typography application ────────────────────────────────────── */
@@ -295,12 +295,32 @@ function oribi_write_generated_css() {
}
/**
* Regenerate the CSS file if it doesn't exist yet (e.g. first page load).
* Regenerate the CSS file when it is missing or the theme version has changed.
*
* Hooked early so the file is ready before wp_enqueue_scripts fires.
* Also re-seeds defaults if the palette has changed, so the generated
* CSS always reflects the current default values.
*/
add_action( 'init', function () {
if ( ! file_exists( oribi_generated_css_path() ) ) {
// Re-seed defaults if the defaults array has changed (e.g. new palette).
if ( function_exists( 'oribi_maybe_seed_defaults' ) ) {
oribi_maybe_seed_defaults();
}
$needs_regen = ! file_exists( oribi_generated_css_path() );
if ( ! $needs_regen && defined( 'ORIBI_VERSION' ) ) {
$stored = get_theme_mod( 'oribi_css_theme_version', '' );
if ( $stored !== ORIBI_VERSION ) {
$needs_regen = true;
}
}
if ( $needs_regen ) {
oribi_write_generated_css();
if ( defined( 'ORIBI_VERSION' ) ) {
set_theme_mod( 'oribi_css_theme_version', ORIBI_VERSION );
}
}
} );

View File

@@ -4,7 +4,7 @@ Theme URI: https://oribi-tech.com
Author: Oribi Technology Services
Author URI: https://oribi-tech.com
Description: Custom marketing theme for Oribi Technology Services - Managed IT, 365Care, EndpointCare, NetCare, ServerCare.
Version: 1.0.0
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4