Skip to content

Instantly share code, notes, and snippets.

View thomasplevy's full-sized avatar
🍗
I'm Hungry

Thomas Patrick Levy thomasplevy

🍗
I'm Hungry
  • Moose Town Media Business Company
  • Phoenix, AZ
  • 21:20 (UTC -07:00)
View GitHub Profile
<?php
/**
* Add an arbitrary plugin directory to the list
* @param array $dirs Array of paths to directories to load LifterLMS templates from
* @return array
*/
function my_llms_theme_override_dirs( $dirs ) {
array_unshift( $dirs, plugin_dir_path( __FILE__ ) . '/lifterlms' );
@thomasplevy
thomasplevy / llms-tz-to-drip-restriction-message.php
Created August 21, 2020 16:51
Add a timezone to a lesson drip restriction message in LifterLMS
<?php // Do not copy this line to a functions.php file!
/**
* Add a timezone string to the end of the lesson drip availability message
*
* The default message is: "The lesson "{$LESSON_TITLE}" will be available on {$AVAILABLE_DATE}
*
* This filter converts the message to: "The lesson "{$LESSON_TITLE}" will be available on {$AVAILABLE_DATE} {$TIMEZONE}
*
* @since 2020-08-21
@thomasplevy
thomasplevy / llms-bp-private-network-compat.php
Created July 15, 2020 23:12
Make the BuddyPress/BuddyBoss "Private Network" available only to "active" LifterLMS User Accounts
<?php // don't copy this to a functions.php file!
/**
* Make the BuddyPress/BuddyBoss "Private Network" available only to "active" LifterLMS User Accounts
*
* An "active" account is any logged in user with active enrollment into at least one course or membership.
*
* @return void
*/
function bp_llms_private_network_redirect() {
@thomasplevy
thomasplevy / flip-first-last.php
Last active June 12, 2020 11:12
modify & remove fields from llms registration and checkout screens
<?php // don't copy this line to you php file!
/**
* Flip the order of first and last name fields
* @param array $fields array of existing field definitions
* @param string $screen id of the field set being rendered
* @return array
*/
function my_lifterlms_get_person_fields( $fields, $screen ) {
// var_dump( $fields ); // uncomment this line to see & inspect all the fields
// ensure we're only modifying the checkout and registration fieldsets
# Show Activities
gesture swipe up 4 xdotool key super
# Show Applications
gesture swipe down 4 xdotool key super+a
# Navigation: Forward & Back
gesture swipe left 3 xdotool key alt+Right
gesture swipe right 3 xdotool key alt+Left
@thomasplevy
thomasplevy / llms-stripe-dequeue.php
Created June 3, 2020 18:17
Remove Stripe.js (as enqueued by the LifterLMS Stripe plugin) from pages where Stripe isn't explicitly required or used
<?php // Don't copy this line to your functions.php file!
/**
* Remove Stripe.js (as enqueued by the LifterLMS Stripe plugin) from pages where Stripe isn't explicitly required or used.
*
* Stripe *recommends* that you load Stripe.js on every site on your website
* to improve automatic fraud detection (https://stripe.com/docs/radar).
*
* You can use this code if you don't care about Radar / fraud detection
* to enjoy a small performance improvement.
<?php // don't copy this line
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );
@thomasplevy
thomasplevy / llms_before_checkout_validation-email-blacklist.php
Last active May 11, 2020 17:02
Create an email blacklist to prevent spam checkouts when using LifterLMS
<?php // Don't copy this line to your functions.php file.
/**
* Create an email blacklist to prevent spam registrations during LifterLMS checkout
*
* This is hooked to llms_before_checkout_validation
*
* This filter runs prior to any built-in checkout form validations allowing custom
* validations to be run.
*
<?php // don't copy this line to your wp-config.php file!
// Twilio.
define( 'LLMS_TWILIO_SID', 'XXXXXXXXXXXXXXXXXXXXXXXXXX' );
define( 'LLMS_TWILIO_AUTHKEY', 'XXXXXXXXXXXXXXXXXXXXXXXXXX' );
@thomasplevy
thomasplevy / llms-stripe-js-locale.php
Created April 7, 2020 23:50
Adjust the language of the LifterLMS Stripe Credit Card Form.
<?php // don't copy this line to your functions.php file!
/**
* Adjust the locale of the Stripe.js credit card form.
*
* @param array $settings Array of settings.
* @return array
*/
function my_llms_stripe_js_locale( $settings ) {