Skip to content

Instantly share code, notes, and snippets.

@sanraul
sanraul / wp-submenu-page-redirect.php
Created April 16, 2021 17:53
Add a Wordpress submenu page which will be redirected to a custom URL
<?php
add_action('admin_menu', function() {
/**
* @see: https://developer.wordpress.org/reference/functions/add_submenu_page/
*/
add_submenu_page(
'tools.php',
'My Menu Title',
'My Page Title',
var name = "A Fun Name :-) ";
let nameCleaned = name.trim().toLocaleLowerCase().replace(/[^0-9a-zA-Z]+/g, '-').replace(/(^-|-$)/g, '');
@sanraul
sanraul / get_spreadsheet_data.php
Created February 12, 2021 04:17
Use PHP to get data from Google Spreadsheet
<?php
/**
* INSTRUCTIONS:
*
* 1. Create a new Google Spreadsheet and add data to it.
*
* 2. Publish your sheet to the web (File > Publish to the web).
*
* 3. Select the tab "Link" to generate a link to the sheet.
*
@sanraul
sanraul / array-methods.js
Created February 9, 2021 07:13
Array missing methods
Array.prototype.inserAfter = function(index, el) {
this.splice(index + 1, 0, el);
};
Array.prototype.inserBefore = function(index, el) {
this.splice(index, 0, el);
};
/** TODO */
@sanraul
sanraul / swiper-mobile-example.html
Last active January 14, 2021 20:49
Mobile widget with a swipe carousel
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, minimal-ui">
<title>Swiper Example</title>
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link rel="stylesheet" href="https://assets.appcropolis.net/vendors/swiper-5.4.5/swiper.min.css">
<style>
@sanraul
sanraul / simple-countdown.js
Created January 12, 2021 17:51
Simple countdown for making an offer in-page limited short a short time (e.g. 15:00 min)
(function() {
var duration = 1; // in minutes
var resetAfter = 1; // in munutes
var ticker = 0;
var deadline,
counter,
allowance = 1000 * 60 * duration,
saved = localStorage.deadline;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Find out whether Chrome console is open</title>
</head>
<body>
<h2>Find out whether Chrome console is open</h2>
<script>
@sanraul
sanraul / index.html
Last active October 8, 2020 15:19
jQuery ScrollTo
<section id="BLOCK" class="block banner">
<nav id="navbar-main" class="navbar navbar-expand-lg navbar-light bg-white p-0 shadow-sm fixed-top">
<div class="container">
<a class="navbar-brand" href="#"><img src="http://cdn.simplifyblocks.com/wp/wp-content/uploads/lg-log-fleur-01.jpg" alt="logo"/></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ml-auto">
<li class="nav-item"> <a class="nav-link text-uppercase py-4 px-3 font-weight-light" href="#banner"><ion-icon class="d-block mx-lg-auto mb-2 ml-3 ml-lg-0" name="home-outline"></ion-icon> Home</a></li>
<li class="nav-item"> <a class="nav-link text-uppercase py-4 px-3 font-weight-light" href="#shop"><ion-icon class="d-block mx-lg-auto mb-2 ml-3 ml-lg-0" name="star-outline"></ion-
@sanraul
sanraul / index.html
Last active October 6, 2020 15:26
Isotop Implementation
<!--
Include files from https://isotope.metafizzy.co/
<link href="https://yourserver.com/vendors/isotope/isotope-style.css" rel="stylesheet">
<script src="https://yourserver.com/vendors/isotope/jquery.isotope.min.js"></script>
<script src="https://yourserver.com/vendors/isotope/jquery.isotope.sloppy-masonry.min.js"></script>
-->
<div id="BLOCK">
<ul id="filter">
@sanraul
sanraul / retry.js
Created October 1, 2020 16:15
Retry calling a method until a condition is met
/**
* Retry calling a method until a condition is met
*/
const utils = {
scope: this,
/**
*