Skip to content

Instantly share code, notes, and snippets.

@JuliaKiselyova
JuliaKiselyova / file1.php
Created January 9, 2024 10:12
Get min max value to range filter from query. New callback is added to the filters https://prnt.sc/X7Ti9fMDl9zc
<?php
use Jet_Engine\Query_Builder\Manager;
add_filter('jet-smart-filters/post-type/meta-fields-settings', 'custom_register_controls');
function custom_register_controls($fields) {
$queries = Manager::instance()->get_queries_for_options();
@JuliaKiselyova
JuliaKiselyova / code.js
Created November 28, 2023 10:32
Auto focus on typing in the search widget
document.addEventListener("DOMContentLoaded", function() {
var searchInput = document.querySelector(".jet-ajax-search__field");
if (searchInput) {
searchInput.focus();
var inputEvent = new Event('input', { bubbles: true });
searchInput.dispatchEvent(inputEvent);
}
});
@JuliaKiselyova
JuliaKiselyova / scroll_after_ajax.js
Last active May 9, 2025 07:51
Jet Smart Filter scroll to query ID element after click on filter
document.addEventListener('jet-smart-filters/inited', function(initEvent) {
jQuery(function($) {
window.JetSmartFilters.events.subscribe('ajaxFilters/updated', function(provider, queryId) {
const elementToScrollToId = 'all_ads_listing'; // Specify the ID of the element you want to scroll to
const elementToScrollTo = document.getElementById(elementToScrollToId);
if (elementToScrollTo) {
elementToScrollTo.scrollIntoView({
behavior: 'smooth',
block: 'start',
@JuliaKiselyova
JuliaKiselyova / blockdates_after.js
Last active July 4, 2024 04:16
Block date after booked days
function handleBlockedDates(config, daysToBlock) {
const validateDay = config.beforeShowDay;
config.beforeShowDay = function (t) {
const day = moment(t);
const value = jQuery("[data-field-name='_capacity']:checked").val();
if (value == 7) {
const result = validateDay(t);
return result;
@JuliaKiselyova
JuliaKiselyova / megamenu_overlay.js
Last active February 14, 2024 10:59
JavaScript code to add overlay functionality to mega menu items on a web page. When you hover over each menu item, an overlay is displayed behind it, providing a lightbox effect
document.addEventListener("DOMContentLoaded", function () {
// Create an overlay for each mega menu item
const megaMenuItems = document.querySelectorAll(".jet-mega-menu-item");
megaMenuItems.forEach(function (megaMenuItem) {
const overlay = document.createElement("div");
overlay.className = "overlay";
megaMenuItem.appendChild(overlay); // Append the overlay to the menu item
megaMenuItem.addEventListener("mouseenter", function () {
let activeTaxonomies = {};
document.addEventListener('jet-smart-filters/inited', function (initEvent) {
const filterGroups = JetSmartFilters.filterGroups;
JetSmartFilters.events.subscribe('fiter/change', function (clickedFilter) {
const filterInfo = clickedFilter.additionalFilterSettings;
const queryVar = filterInfo && filterInfo.filter.queryVar;
console.log('Filter Info:', filterInfo);
console.log('Query Var:', queryVar);
@JuliaKiselyova
JuliaKiselyova / min_max_from_query.php
Last active January 9, 2024 10:13
Get min max value to range filter from query. New callback is added to the filters https://prnt.sc/5TxhF-B5wYGj
<?php
add_filter('jet-smart-filters/filter-instance/args', function ($args) {
$filter_id = $args['filter_id'];
$query_var = get_post_meta($filter_id, '_query_var', true);
$step = get_post_meta($filter_id, '_source_step', true);
$source_cb = get_post_meta($filter_id, '_source_callback', true);
$source_query = get_post_meta($filter_id, '_source_query', true);
if (!$step) {
@JuliaKiselyova
JuliaKiselyova / pause_video_inpopup.js
Created September 28, 2023 10:24
Pause the video after closing the popup
document.addEventListener("DOMContentLoaded", function () {
// Get references to the video iframe and pop-up container
const videoIframe = document.querySelector("#jet-popup-1950 iframe.jet-video-iframe");
const popUpContainer = document.querySelector("#jet-popup-1950 .jet-popup__container-content");
// Function to pause the video
function pauseVideo() {
videoIframe.contentWindow.postMessage('{"method":"pause"}', '*');
}
@JuliaKiselyova
JuliaKiselyova / sticky_header.css
Last active September 26, 2023 10:20
Make sticky header on scroll up on mobile
/* CSS for Sticky Header on Mobile */
@media screen and (max-width: 768px) {
header {
position: fixed;
top: 0;
width: 100%;
z-index: 999;
transition: top 0.3s ease;
}
}
<?php
add_filter('jet-smart-filters/query/final-query', function($query) {
if (($query['orderby'] ?? '') === 'meta_value_num' && ($query['meta_key'] ?? '') === 'psm') {
$query['meta_query'][] = array(
'key' => 'psm',
'value' => 0,
'compare' => '>',
'type' => 'NUMERIC',
);