Skip to content

Instantly share code, notes, and snippets.

View uddhabh's full-sized avatar

Uddhab Haldar uddhabh

View GitHub Profile
/* Enter Your Custom Functions Here */
// Add custom validation for CF7 form fields
function is_company_email($email){ // Check against list of common public email providers & return true if the email provided *doesn't* match one of them
if(
preg_match('/@gmail./i', $email) ||
preg_match('/@hotmail./i', $email) ||
preg_match('/@live./i', $email) ||
preg_match('/@msn./i', $email) ||
preg_match('/@aol./i', $email) ||
@uddhabh
uddhabh / onetab-delete-all.js
Last active April 20, 2024 21:32
OneTab delete all saved tabs script
// https://intuitive-theory.com/notes/onetab-delete-all-saved-tabs-script/
function delete_single() {
for (clickable of clickables) {
if (!clickable || clickable.innerHTML !== "Delete all")
continue;
clickable.click();
return true;
}
return false;
}
@uddhabh
uddhabh / collapsing-mobile-nav.css
Last active December 8, 2020 13:11
Mobile Collapsing Nested Menu
.et_mobile_menu .first-level > a {
background-color: transparent;
position: relative;
}
.et_mobile_menu .first-level > a:after {
font-family: 'ETmodules';
content: '\4c';
font-weight: normal;
position: absolute;
<!-- template.name {{ template.name }} -->
{% case template.name %}
{% when 'index' %}
<link rel="canonical" href="{{ shop.url }}">
{% when 'collection' %}
<link rel="canonical" href="{{ shop.url }}/collections/{{ collection.handle }}">
{% when 'product' %}
<link rel="canonical" href="{{ shop.url }}/products/{{ product.handle }}">
{% when 'page' %}
<link rel="canonical" href="{{ shop.url }}/pages/{{ page.handle }}">
@uddhabh
uddhabh / Divi slider disable first slide animation.css
Created September 30, 2021 11:44
Divi slider disable first slide animation
.et_pb_slide:first-child .et_pb_slide_image,
.et_pb_slide:first-child .et_pb_slide_image img,
.et_pb_slider .et_pb_slide:first-child .et_pb_slide_description,
.et_pb_slide:first-child .et_pb_slide_image img.active {
-webkit-animation-duration: 0s !important;
animation-duration: 0s !important;
opacity: 1 !important;
animation: none !important;
}
(function ($) {
'use strict';
/*===================================
= Menu Activeion =
===================================*/
var cururl = window.location.pathname;
var curpage = cururl.substr(cururl.lastIndexOf('/') + 1);
var hash = window.location.hash.substr(1);
if ((curpage == '' || curpage == '/' || curpage == 'admin') && hash == '') {
@uddhabh
uddhabh / php.ini
Created February 12, 2022 16:54
Recommended PHP Config for WordPress
memory_limit = 128M;
post_max_size = 64M;
max_execution_time = 120;
upload_max_filesize = 64M;
max_input_time = 60;
max_input_vars = 1000;
@uddhabh
uddhabh / image gallery item aspect ratio square 1:1.css
Created March 1, 2022 17:47
image gallery item aspect ratio square 1:1
@uddhabh
uddhabh / List all posts in custom post type by taxonomy.php
Created October 23, 2022 08:55
List all posts in custom post type by taxonomy
<?php
// https://wordpress.stackexchange.com/questions/66219/list-all-posts-in-custom-post-type-by-taxonomy
$custom_terms = get_terms('states');
foreach($custom_terms as $custom_term) {
wp_reset_query();
$args = array('post_type' => 'cities',
'tax_query' => array(
array(
'taxonomy' => 'states',
@uddhabh
uddhabh / FAQ with Search Filtering.html
Last active October 31, 2022 06:44
Elementor FAQ with Search Filtering
<!-- https://element.how/elementor-faq-with-search-filtering/ -->
<div class="faqContainer">
<input type="text" class="faqInput" placeholder="enter keyword...">
<i class="faqReset"></i>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js" integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
document.addEventListener('DOMContentLoaded',function(){let settings={toggleOpenOnSearch:true,itemsShownByDefault:10,messages:{noMatchesFound:'No matches found',oneMatchFound:'Showing 1 item',matchesFound:function(){return`Showing ${maxDisplayLimit}of ${matches}items`},allMatchesShown:function(){return`Showing ${sortedList.length}items`},},}
let list=Array.from(document.querySelectorAll('.elementor-toggle .elementor-toggle-item')),filteredList=[],searchTerm,searchTerms,itemText,displayLimit=settings.itemsShownByDefault,loadMoreAmount=settings.itemsShownByDef