Skip to content

Instantly share code, notes, and snippets.

@8ctopotamus
8ctopotamus / nvmCommands.js
Created January 29, 2024 15:20 — forked from chranderson/nvmCommands.js
Useful NVM commands
// check version
node -v || node --version
// list locally installed versions of node
nvm ls
// list remove available versions of node
nvm ls-remote
// install specific version of node
@8ctopotamus
8ctopotamus / docker-compose.yaml
Last active December 4, 2023 04:49
WordPress Docker Compose YAML
# source: https://www.youtube.com/watch?v=gEceSAJI_3s
# create a .env file for db creds
version: '3.1'
services:
database:
mem_limit: 2048m
image: mariadb:10.6.4-focal
restart: unless-stopped
@8ctopotamus
8ctopotamus / .vimrc
Created November 21, 2023 23:01 — forked from simonista/.vimrc
A basic .vimrc file that will serve as a good template on which to build.
" Don't try to be vi compatible
set nocompatible
" Helps force plugins to load correctly when it is turned back on below
filetype off
" TODO: Load plugins here (pathogen or vundle)
" Turn on syntax highlighting
syntax on
// https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB
if (!window.indexedDB) {
console.log('Your browser does not support indexedDB!')
}
const customerData = [
{ ssn: "444-44-4444", name: "Bill", age: 35, email: "bill@company.com" },
{ ssn: "555-55-5555", name: "Donna", age: 32, email: "donna@home.org" },
{ ssn: "344-44-4444", name: "Bill", age: 31, email: "billl@company.com" },
@8ctopotamus
8ctopotamus / stale-timestamp-detector.js
Created July 28, 2023 14:13
Detecting if data is stale after a certain time period.
// const savedTimestamp = 1690509844000 // saved over 12 hours ago in localStorage
const savedTimestamp = 1690553044000 // saved under 12 hours ago in localStorage
const twelveHoursDifference = 43200000 // 12 hours in milliseconds
const now = new Date().getTime() // current timestamp
const isDataStale = (now, timestamp, difference) => now > timestamp + difference
const shouldRefresh = isDataStale(now, savedTimestamp, twelveHoursDifference)
console.log(shouldRefresh)
@8ctopotamus
8ctopotamus / gist:ab9113bc05e45405b551608277f7e399
Created June 5, 2023 00:54 — forked from shreyans94/gist:05b10194cf2f57cf054a5cf3da3fd931
Display ACF for woocommerce variations in backend
// Render fields at the bottom of variations - does not account for field group order or placement.
add_action( 'woocommerce_product_after_variable_attributes', function( $loop, $variation_data, $variation ) {
global $abcdefgh_i; // Custom global variable to monitor index
$abcdefgh_i = $loop;
// Add filter to update field name
add_filter( 'acf/prepare_field', 'acf_prepare_field_update_field_name' );
// Loop through all field groups
$acf_field_groups = acf_get_field_groups();
foreach( $acf_field_groups as $acf_field_group ) {
<?php
/*
This script will allow you to send a custom email from anywhere within wordpress
but using the woocommerce template so that your emails look the same.
Created by craig@123marbella.com on 27th of July 2017
Put the script below into a function or anywhere you want to send a custom email
*/
@8ctopotamus
8ctopotamus / gist:b7474c6e027ae4c6cabb1c15f9fb03aa
Created November 13, 2022 16:04
Update a WP User's nicename/login through mysql
UPDATE wp_users SET user_nicename = "new_username", user_login = "new_username" WHERE user_login = "old_username";
SELECT * FROM wp_users WHERE user_login = "new_username";
@8ctopotamus
8ctopotamus / autofill-from query-params.js
Created June 22, 2021 16:05
Autofill fields based on query params
window.location.search
.replace('?', '')
.split('&')
.filter(str => !!str)
.forEach(str => {
const [k, v] = str.split('=')
const input = document.querySelector(`[name="${k}"`)
input && (input.value = v)
}, {})
@8ctopotamus
8ctopotamus / vscomposer-to-html-wpgraphql.php
Last active August 11, 2021 20:31
Render VSComposer shortcodes to HTML and add to WPGraphQL output.
// add to functions.php or a plugin.
// render js composer shortcodes to html in graphql response
add_action('graphql_register_types', function() {
function vsCodeShortcodesToHTML( $post ) {
if(class_exists('WPBMap') && method_exists('WPBMap', 'addAllMappedShortcodes')) {
WPBMap::addAllMappedShortcodes();
}
return do_shortcode(get_post($post->ID)->post_content);
}