Skip to content

Instantly share code, notes, and snippets.

Avatar

Phil Kurth mishterk

View GitHub Profile
@mishterk
mishterk / working-with-js.js
Last active Feb 7, 2018
iFrames: tricks, reference, etc
View working-with-js.js
// create the iFrame
var iFrame = document.createElement('iframe');
// set iFrame's source
iFrame.src = "javascript:false"; // add some URL here
// inject iFrame into current (parent) doc before first script tag
var where = document.getElementsByTagName('script')[0];
where.parentNode.insertBefore(iFrame, where);
@mishterk
mishterk / example-bypassing-core-tables.php
Last active Feb 20, 2018
ACF Custom Database Tables plugin: Bypassing core meta tables example.
View example-bypassing-core-tables.php
<?php
/*
* This will prevent data from being stored in WordPress' core meta tables where a custom database table has been set up instead.
* This will not affect meta data that does not have a custom database table – that meta data will be stored as usual.
*/
add_filter('acfcdt/settings/bypass_post_meta_table', '__return_true');
@mishterk
mishterk / example-table-definition-structure.json
Last active May 27, 2018
ACF Custom Database Tables plugin: Table definition JSON structure
View example-table-definition-structure.json
{
"name": "{custom_database_table_name}",
"relationship": "{post_type}",
"columns": [
"{acf_field_name_1}",
"{acf_field_name_1}",
"{acf_field_name_3}"
]
}
@mishterk
mishterk / example-table-definition-for-post-post-type.json
Created Feb 20, 2018
ACF Custom Database Tables plugin: Table definition JSON example for post type of 'post'
View example-table-definition-for-post-post-type.json
{
"name": "post_metadata",
"columns": [
"post_layout",
"read_time",
"show_stats"
]
}
@mishterk
mishterk / example-table-definition-for-page-post-type.json
Created Feb 20, 2018
ACF Custom Database Tables plugin: Table definition JSON example for post type of 'page'
View example-table-definition-for-page-post-type.json
{
"name": "page_metadata",
"relationship": "page",
"columns": [
"show_page_banner",
"page_layout",
"read_time"
]
}
@mishterk
mishterk / example-table-definition-for-user-type.json
Created Feb 20, 2018
ACF Custom Database Tables plugin: Table definition JSON example for user type
View example-table-definition-for-user-type.json
{
"name": "user_metadata",
"relationship": "user",
"columns": [
"profession",
"age",
"sex",
"is_member",
"instagram_url"
]
@mishterk
mishterk / post-revision-meta.sql
Last active Jul 1, 2020
Useful SQL snippets for WordPress DB analysis
View post-revision-meta.sql
# Lists revision post IDs and their meta data count in descending order
SELECT post_id, count(*) AS count FROM wp_postmeta LEFT JOIN wp_posts ON post_id = ID WHERE post_type = 'revision' GROUP BY post_id ORDER BY count DESC;
# Tells you how many (total figure) meta rows belong to revision posts
SELECT count(*) as total_revision_meta FROM wp_postmeta INNER JOIN wp_posts ON post_id = ID WHERE post_type = 'revision';
# Lists the post_id number of revisions for posts in descending order by number of revisions
SELECT post_parent as post_id, count(*) AS n_revisions FROM wp_posts WHERE post_type = 'revision' GROUP BY post_parent ORDER BY n_revisions DESC;
View BenchMarker.php
<?php
/**
* Class BenchMarker
* @author Phil Kurth <phil@philkurth.com.au>
*
* A simple benchmarking utility. Easiest way to use this:
*
* BenchMarker::start();
*
* … run stuff here …
@mishterk
mishterk / count-new-members-between-two-dates.sql
Last active Sep 12, 2019
Helpful SQL queries for working with the MemberPress WordPress plugin
View count-new-members-between-two-dates.sql
SELECT count(DISTINCT txns.user_id)
FROM (
SELECT
user_id,
min(created_at) AS first_txn_created_at
FROM wp_mepr_transactions
WHERE status IN ('complete', 'confirmed')
GROUP BY user_id
) AS first_txns
INNER JOIN wp_mepr_transactions AS txns
View procedural-wp-rest-api-get-requests.php
<?php
/**
* Really simple GET request
*/
add_action( 'rest_api_init', function ( WP_REST_Server $wp_rest_server ) {
register_rest_route( '/custom-namespace/v1', '/no-param', [
'methods' => 'GET',
'callback' => function ( WP_REST_Request $request ) {
if ( $throw_error = false ) {
You can’t perform that action at this time.