get( 'Version' ); // Register a dummy script handle to attach inline JS wp_register_script( 'caliph-scroll-top', '', array(), $version, true ); wp_enqueue_script( 'caliph-scroll-top' ); // Inline JS for smooth scroll and show/hide $inline_js = "(function(){ function docReady(fn) { if (document.readyState === 'complete' || document.readyState === 'interactive') { setTimeout(fn, 1); } else { document.addEventListener('DOMContentLoaded', fn); } } docReady(function() { var scrollTopBtn = document.querySelector('.caliph-scroll-top'); if (! scrollTopBtn) return; scrollTopBtn.addEventListener('click', function() { window.scrollTo({top: 0, behavior: 'smooth'}); }); }); window.addEventListener('scroll', function() { var scrollTopBtn = document.querySelector('.caliph-scroll-top'); if (! scrollTopBtn) return; scrollTopBtn.style.transform = window.scrollY >= 100 ? 'scale(1)' : 'scale(0)'; }, true); })();"; wp_add_inline_script( 'caliph-scroll-top', $inline_js ); // Inline CSS for button styling and animation (uses Caliph presets) $css = ".caliph-scroll-top{display:flex;align-items:center;justify-content:center;position:fixed;right:var(--wp--preset--spacing--30);bottom:var(--wp--preset--spacing--30);width:var(--wp--preset--spacing--40);height:var(--wp--preset--spacing--40);background-color:var(--wp--preset--color--contrast);border-radius:50%;cursor:pointer;transform:scale(0);transition:.2s;z-index:9999;}"; $css .= ".caliph-scroll-top svg path{stroke:var(--wp--preset--color--base);fill:none;}"; wp_add_inline_style( 'caliph-style', $css ); } /** * Render Scroll Top Button markup. */ function caliph_render_scroll_top() { echo '