Skip to content

Instantly share code, notes, and snippets.

View kellenmace's full-sized avatar

Kellen Mace kellenmace

View GitHub Profile
@kellenmace
kellenmace / gutenberg-graphql-schema.txt
Created September 20, 2019 17:37
WordPress Gutenberg GraphQL Schema Definitions
type CoreArchivesBlock implements Block {
attributes: CoreArchivesBlockAttributes
name: String!
innerBlocks: [Block]!
isValid: Boolean!
originalContent: String!
parentId: Int
parent: PostObjectTypesUnion
renderedContent: String!
}
@kellenmace
kellenmace / javascript-array-filter-indicies.js
Created September 16, 2019 21:28
JavaScript Array Filter to get Indices
const cars = [
{make: "ford", model: "mustang"},
{make: "toyota", model: "camry"},
{make: "ford", model: "fiesta"},
{make: "chevrolet", model: "volt"},
{make: "ford", model: "escape"},
{make: "chrysler", model: "pacifica"},
]
const fordCarIndices = cars.reduce((fordCarIndices, field, index) => {
@kellenmace
kellenmace / km-remove-slug-from-custom-post-type.php
Last active January 19, 2025 12:16
Remove Slug from Custom Post Type URL in WordPress
<?php
/**
* Plugin Name: Remove Slug from Custom Post Type
* Description: Remove slug from custom post type URLs.
* Version: 0.1.0
* Author: Kellen Mace
* Author URI: https://kellenmace.com/
* License: GPLv2 or later
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
@kellenmace
kellenmace / GravityFormsShortcodeFinder.php
Created March 29, 2019 20:26
Find all Pages that Contain a Gravity Form
<?php
/**
* Finds pages that contain a particular Gravity Form.
*/
class Gravity_Forms_Shortcode_Finder {
/**
* ID of the Gravity Form to search for.
*
* @var int
<?php
// Require the file that contains the GravityFormsShortcodeFinder class.
require_once plugin_dir_path( __FILE__ ) . 'src/GravityFormsShortcodeFinder.php';
// Find all the pages that contain the Gravity Forms with an ID of 36.
$pages_with_form = ( new Gravity_Forms_Shortcode_Finder( 36 ) )->find();
@kellenmace
kellenmace / wordpress-user-query-not-working-with-ajax-wp-cron.php
Last active March 6, 2019 01:36
WordPress User Query Not Working with AJAX/WP-Cron
<?php
private function get_foremen_in_division( $division ) {
$original_user_id = get_current_user_id();
// Set current user to be a Super Admin so the user query below works during the AJAX requests & WP-Cron jobs.
$super_admins = get_super_admins();
if ( $super_admins ) {
$super_admins = array_values( $super_admins );
wp_set_current_user( null, $super_admins[0] );
@kellenmace
kellenmace / get-list-of-wordpress-pages-that-contain-shortcode.php
Created March 4, 2019 20:47
Get a list of all WordPress pages that contain a shortcode
<?php
/**
* Get a list of all pages that contain a shortcode.
*
* @param string $shortcode The shortcode to look for without square brackets.
*
* @return array List of pages in the format $post_id => $post_title.
*/
function get_pages_with_shortcode( $shortcode ) {
<?php
/**
* Get a list of Gravity Forms whose fields have a CSS class.
*
* @param string $css_class The CSS class to search for.
*
* @return array The list of forms in this format: [<form ID> - <form title>] => <array of fields that have CSS class>
*/
function get_gravity_forms_with_css_class( $css_class ) {
<?php
Array
(
[0] => Car Object
(
[model:Car:private] => Mustang
)
[1] => Car Object
@kellenmace
kellenmace / remove-duplicate-objects-from-array.php
Created February 2, 2019 16:21
If you have an indexed array of objects, and you want to remove duplicates by comparing a specific property in each object, a function like the remove_duplicate_models() one below can be used.
<?php
class Car {
private $model;
public function __construct( $model ) {
$this->model = $model;
}
public function get_model() {