Skip to content

Instantly share code, notes, and snippets.

View RadGH's full-sized avatar

Radley Sustaire RadGH

View GitHub Profile
@RadGH
RadGH / gf-entries-by-user.php
Created May 15, 2023 19:01
GF Entries By User
<?php
/**
* Gets gravity form entries for the given user. This includes entries where the user was logged in when they submitted the entry, and entries
* that were used to create their account with the GF User Registration Addon.
*
* @param $user_id
*
* @return array
*/
@RadGH
RadGH / rs_gf_get_checked_boxes.php
Last active May 27, 2023 10:49
Get checked checkboxes from Gravity Forms checkbox field, as array
<?php
// 1/3) Usage:
$entry_id = 100; // usually provided in a filter, if so you can remove this line.
$entry = GFAPI::get_entry( $entry_id ); // get the entry, if this was provided in a filter you can remove this line.
$field_id = 35; // field ID can be found when field is selected while editing the form
$value = rs_gf_get_checked_boxes( $entry, $field_id );
// 2/3) Example output:
@RadGH
RadGH / any_rgb_to_hex.js
Last active May 18, 2022 17:58
Javascript convert RGB and RGBA to Hex, any format
/**
* Convert RGB to Hex. Allows whitespace. If given hex, returns that hex. Alpha opacity is discarded.
* Supports formats:
* #fc0
* #ffcc00
* rgb( 255, 255, 255 )
* rgba( 255, 255, 255, 0.5 )
* rgba( 255 255 255 / 0.5 )
*/
function rgb_any_to_hex( orig ) {
@RadGH
RadGH / wp-metadata-fill-missing.php
Created May 18, 2022 03:07
When updating a post, user, or term, ensure specific fields have a blank entry in the database even when null.
<?php
/**
* When updating a post, user, or term, ensure specific fields have a blank entry in the database even when null.
*
* @param $object_id
* @param null $type
* @param null $subtype
*/
function rs_insert_missing_meta_keys_on_save( $object_id, $type = null, $subtype = null ) {
@RadGH
RadGH / gfield-type-class.php
Last active May 16, 2022 18:53
Gravity Forms: Add field type class to every gfield
<?php
// Make every gravity form field add its input type as a class.
// Example (added class: gfield-type-radio):
// fieldset id="field_136_31" class="gfield gfield-type-radio ..."
// Some other types: name, email, html, select, ...
function aa_add_input_type_gravity_forms( $form ) {
foreach ( $form['fields'] as $field ) {
if ( $field instanceof GF_Field ) {
$field->cssClass .= 'gfield-type-' . $field->get_input_type();
@RadGH
RadGH / gf-example-editable-form.json
Created May 16, 2022 02:34
Gravity Forms example editable form JSON
{"0":{"title":"Editable Form","description":"","labelPlacement":"top_label","descriptionPlacement":"below","button":{"type":"text","text":"Submit","imageUrl":"","width":"auto","location":"bottom","layoutGridColumnSpan":12},"fields":[{"type":"name","id":1,"formId":12,"label":"Name","adminLabel":"","isRequired":false,"size":"large","errorMessage":"","visibility":"visible","nameFormat":"advanced","inputs":[{"id":"1.2","label":"Prefix","name":"","autocompleteAttribute":"honorific-prefix","choices":[{"text":"Dr.","value":"Dr."},{"text":"Miss","value":"Miss"},{"text":"Mr.","value":"Mr."},{"text":"Mrs.","value":"Mrs."},{"text":"Ms.","value":"Ms."},{"text":"Prof.","value":"Prof."},{"text":"Rev.","value":"Rev."}],"isHidden":false,"inputType":"radio"},{"id":"1.3","label":"First","name":"fname","autocompleteAttribute":"given-name"},{"id":"1.4","label":"Middle","name":"","autocompleteAttribute":"additional-name","isHidden":false},{"id":"1.6","label":"Last","name":"lname","autocompleteAttribute":"family-name"},{"id":"1.8"
@RadGH
RadGH / wp-optimized-taxonomy-mysql.php
Last active May 21, 2023 21:35
Optimize wordpress WP_Term_Query mysql request
<?php
// Example long query (2.557 seconds):
// @see https://radleysustaire.com/s3/1c66a3/
// Example optimized query (0.316 seconds):
// @see https://radleysustaire.com/s3/fb794e/
// Example of what your code would look like:
$args = array(
'taxonomy' => array( 'account-menu' ),
@RadGH
RadGH / aa-gf-dynamic-progressbar.php
Last active May 3, 2022 20:01
Gravity Forms that use a progressbar for multiple pages will adjust as answers are filled in, rather than only when progressing to the next page.
<?php
/*
Plugin Name: A+A Gravity Forms Dynamic Progressbar
Description: Gravity Forms that use a progressbar for multiple pages will adjust as answers are filled in, rather than only when progressing to the next page.
Author: Radley Sustaire, Alchemy + Aim
*/
class AA_GF_Dynamic_Progressbar {
public function __construct() {
@RadGH
RadGH / menu.php
Created April 15, 2022 09:12
Change active parent menu and child menu items in WordPress Dashboard sidebar
<?php
// Below are some example fixes for a structure such as this:
//
// Post Type: lesson (Hidden from menu)
// Taxonomy: course (Hidden from menu)
// Taxonomy: cohort (Hidden from menu)
// And a Gravity Form with ID 3, which links to the Entries page
//
// Note that cm_is_taxonomy_page() and cm_is_homework_entries_page() check the current page using $pagenow, $typenow, and $_GET.
// They are not included
@RadGH
RadGH / crafting.zs
Created May 1, 2021 22:44
minecraft crafttweaker nice to haves
//Imports
import crafttweaker.api.tag.MCTag;
/*
*************
* a * b * c *
*************
* d * e * f *
*************
* g * h * i *