Skip to content

Instantly share code, notes, and snippets.

View kellenmace's full-sized avatar

Kellen Mace kellenmace

View GitHub Profile
@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() {
@kellenmace
kellenmace / get-all-super-admins.php
Created January 7, 2019 18:44
Get all Super Admin users in WordPress
<?php
/**
* Get all Super Admin users on the current site.
*
* @return array WP_User objects.
*/
function get_all_superadmin_users() {
return get_users([
'login__in' => get_super_admins()
@kellenmace
kellenmace / get-all-non-super-admins.php
Created January 7, 2019 18:42
Get all non-Super Admin users in WordPress
<?php
/**
* Get all non-Super Admin users on the current site.
*
* @return array WP_User objects.
*/
function get_all_non_superadmin_users() {
return get_users([
'login__not_in' => get_super_admins()
{
1 => [
'en-us' => [
'name' => 'Puff Pastry',
'description' => 'Sign up for Puff Pastry news...'
],
'fr-ca' => [
'name' => {French translation},
'description' => {French transalation}
]