Skip to content

Instantly share code, notes, and snippets.

@nerrad
nerrad / README.md
Created April 23, 2021 15:31
Modifying existing payment method config in WooCommerce Blocks checkout flow

DISCLAIMER: PLEASE READ

Note, this is just a proof of concept as an example of how this type of functionality could be implemented and should be used only if you understand the code. This uses an experimental interface provided by the WooCommerce Blocks API and it may get removed or changed in the future.

This is use at your own risk. Is not an official solution and not supported.

Ideally this kind of behaviour should be something that is provided by the official payment method extension.

WHAT THIS DOES

@nerrad
nerrad / evaluate-php-load-time.md
Created July 19, 2019 20:11
Evaluating WordPress load time via command line

The commands on this page are useful for measuring php response times etc for your WordPress installation via commandline. This gives useful info to help debug issues at the php level separate from the http routes.

I'm pretty sure I didn't come up with this, but I have shared it in a few different places so just adding it to my personal gist repo for reference.

Create the base script

Create a script (name it whatever you want, something like t.php should suffice) in the root directory of your wp install (i.e. the same directory as the wp-config.php and main index.php file for WP. You can substitue whatever you want in the $_SERVER['REQUEST_URI'] to test different pages if you want.

php
@nerrad
nerrad / README.md
Last active February 13, 2019 16:33
Add admin bar notification when gutenberg plugin is active

Installation

Drop this file in your wp-content/mu-plugin folder if you want to fire and forget or just into your wp-content/plugins folder if you want to be able to activate.

Purpose

Now that WordPress 5.0+ has the new block editor merged in, the Gutenberg plugin is for development of features that are not in WordPress core. Since I contribute to the plugin among other projects I do I find that sometimes I forget whether or not the GB plugin is active or not. So I created this handy snippet that inserts a GB is Active indicator in the WordPress admin bar menu when the plugin is active.

@nerrad
nerrad / filter-events-to-posts.php
Last active August 29, 2015 14:13
Filter for injecting Event Espresso event post type events into everywhere posts are queried in WP
<?php
/**
* This is an alternative filter for adding events to posts.
*
* 1. Adds events to ANY query for posts (including core wp functions like wp_recent_posts() that suppress filters ).
* 2. Ensures we don't accidentally add posts (and events) into custom queries for other post types. (eg sliders).
*/
function add_espresso_events_to_posts( $WP_Query ) {
if ( $WP_Query instanceof WP_Query && ( $WP_Query->is_feed || $WP_Query->is_posts_page || ( $WP_Query->is_home && ! $WP_Query->is_page ) || ( isset( $WP_Query->query_vars['post_type'] ) && ( $WP_Query->query_vars['post_type'] == 'post' || is_array( $WP_Query->query_vars['post_type'] ) && in_array( 'post', $WP_Query->query_vars['post_type'] ) ) ) ) ) {
@nerrad
nerrad / rse-fix-wpmandrill
Last active March 1, 2016 03:45
Fix Mandrill plugin
<?php if ( ! defined('ABSPATH')) exit('No direct script access allowed');
/*
Plugin Name: Fix wpMandrill.
Plugin URI: https://gist.github.com/nerrad/2686a4be42da2ca76047
Description: wpMandrill doesn't setup formatted to field addresses to work correctly with the mandrill api. This fixes that.
Version: 1.0.0
Author: Darren Ethier
Author URI: http://roughtsmootheng.in
License: GPLv2
@nerrad
nerrad / espresso_bump_my_dates.php
Last active August 29, 2015 14:03
Trying to Test EE4 but all of your example dates have expired ?Use this function to bump all of your event and ticket dates forward in time by 1 month.
class EEBumpDatesForward {
/**
* constant and properties related to wp cron schedules.
*/
const bumpDatesScheduleInterval = 'daily';
private $_scheduleIntervals;
public function __construct() {
@nerrad
nerrad / convert_zero_to_free_filter_example.php
Last active August 29, 2015 13:57
Usage of FHEE__EEH_Template__format_currency__amount filter to return free instead of 0.00 for free tickets
<?php
function convert_zero_to_free( $amount, $return_raw ) {
// we don't want to mess with requests for unformated values because those may get used in calculations
return $return_raw || $amount >= 0 ? $amount : __('free', 'event_espresso');
}
add_filter( 'FHEE__EEH_Template__format_currency__amount', 'convert_zero_to_free', 10, 2 );
@nerrad
nerrad / Messages_CSS_File_Filter_Example.php
Created March 18, 2014 23:08
using new messages css file filters
<?php
function ee_inline_css_swap( $path_or_url, $type ) {
$upload_dir = wp_upload_dir();
if ( $type == 'preview' ) {
$path_or_url = $upload_dir['baseurl'] . '/email-messenger-inline-preview-css.template.css';
} elseif ( $type === FALSE ) {
$path_or_url = $upload_dir['basedir'] . '/email-messenger-inline-css.template.css';
}
return $path_or_url;
@nerrad
nerrad / cssclassgenerator.php
Created March 7, 2014 21:57
Example for dynamic css class generators for use in EE
<?php
//here's the example function
function get_ticket_css_class( EE_Ticket $ticket, $context = 'ticket-item' ) {
return apply_filters( 'FHEE__get_ticket_css_class', $context . '-' . sanitize_title( $ticket->get('TKT_name') ), $ticket, $context );
}
//then in html template
?>
<tr class="<?php echo get_ticket_css_class($ticket, 'ticket-row'); ?>">
@nerrad
nerrad / docblock example.php
Created February 27, 2014 17:58
An example of how spacing can cause problems with phpdoc parsing.
//below is an example of proper spacing
/**
* This is a summary
* This is a longer description etc.
*
* @abstract
* @param string $some_param A string
* @returns void
**/