Skip to content

Instantly share code, notes, and snippets.

View bradyvercher's full-sized avatar

Brady Vercher bradyvercher

View GitHub Profile
@bradyvercher
bradyvercher / local-error-handler.php
Last active September 21, 2023 19:39
Suppress errors generated by specified WordPress plugins to make developing with debug mode on less painful.
<?php
/**
* Suppress errors generated by specified WordPress plugins.
*
* Include in the auto_prepend_file php.ini directive to ignore globally.
*
* @see http://plugins.trac.wordpress.org/browser/ostrichcize/tags/0.1/ostrichcize.php#L146
*
* @param string $errno The error number.
* @param string $errstr The error message.
@bradyvercher
bradyvercher / gist:1576900
Created January 8, 2012 02:24
WordPress: Sort an array of post objects by any property, remove duplicates, and use post ids as the key in the returned array.
<?php
function sort_posts( $posts, $orderby, $order = 'ASC', $unique = true ) {
if ( ! is_array( $posts ) ) {
return false;
}
usort( $posts, array( new Sort_Posts( $orderby, $order ), 'sort' ) );
// use post ids as the array keys
if ( $unique && count( $posts ) ) {
@bradyvercher
bradyvercher / installed-plugin-details.php
Created February 2, 2013 05:23
WordPress Plugin: Show a "Details" link for installed plugins to view information from the WordPress.org plugin directory.
<?php
/**
* Plugin Name: Installed Plugin Details
* Description: Show a "Details" link for installed plugins to view information from the WordPress.org plugin directory.
* Version: 1.0.0
* Author: Blazer Six
* Author URI: http://www.blazersix.com/
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
*
@bradyvercher
bradyvercher / git-update-skip.php
Last active November 23, 2020 18:28
Exclude plugins with a composer.json or .git directory from update checks. Based on concept by @Rarst: https://gist.github.com/Rarst/9992974
<?php
add_filter( 'http_request_args', function( $r, $url ) {
// If this isn't an update request, bail immediately.
// Regex source: https://github.com/cftp/external-update-api/blob/master/external-update-api/euapi.php#L45
if ( false === strpos( $url, 'api.wordpress.org' ) || ! preg_match( '#://api\.wordpress\.org/(?P<type>plugins|themes)/update-check/(?P<version>[0-9.]+)/#', $url, $matches ) ) {
return $r;
}
$api_type = $matches['type'];
$api_version = floatval( $matches['version'] );
@bradyvercher
bradyvercher / americanaura-widget-classes.php
Created December 27, 2013 23:33
Methods for retrieving widget instances.
<?php
function americanaura_widget_classes( $params ) {
if ( 'pinboard' != $params[0]['id'] ) {
return $params;
}
// If a track has a file add a '.js-playable' class to the widget container
if ( 'audiotheme-track' == $widget_id_base ) {
$instance = americanaura_get_widget_instance( $params[0]['widget_id'], $params[1]['number'] );
if ( isset( $instance['post_id'] ) && get_audiotheme_track_file_url( $instance['post_id'] ) ) {
@bradyvercher
bradyvercher / helpscout-rest-controller.php
Created March 10, 2016 21:00
A starter WP REST API controller for creating a Dynamic App for Help Scout. http://developer.helpscout.net/custom-apps/dynamic/
<?php
/**
* Help Scout REST controller class.
*
* @license GPL-2.0+
* @link http://developer.helpscout.net/custom-apps/dynamic/
*/
class HelpScout_REST_Controller {
/**
* Secret key.
@bradyvercher
bradyvercher / register-plugin-icons.php
Created October 4, 2017 22:30
Register icons to display on the Manage Plugins screen for plugins that aren't in the WordPress.org directory.
<?php
/**
* Register plugin icons.
*
* WordPress 4.9 introduced icons in the list table on the Manage Plugins
* screen. The icons are pulled from the W.org update API. If an icon isn't
* available, a generic plugin Dashicon is shown instead.
*
* @param array $value Plugin update data.
* @return array
@bradyvercher
bradyvercher / cache-post-thumbnails.php
Created January 9, 2014 17:21
WordPress: Cache post thumbnail attachments that appear in a WP_Query loop.
<?php
/**
* Plugin Name: Cache Post Thumbnails
* Description: Prime the post thumbnails cache for individual loops.
* Version: 1.0.0
* Author: Brady Vercher
* Author URI: http://www.blazersix.com/
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
@bradyvercher
bradyvercher / audiotheme-genesis.css
Last active March 22, 2017 08:59
Custom CSS for integrating AudioTheme with Genesis 2.0
/* General */
.archive .audiotheme {
margin-bottom: 40px;
padding: 40px 40px 20px 40px;
background: #fff;
}
.audiotheme .audiotheme-archive-title {
margin-bottom: 1.6rem;
@bradyvercher
bradyvercher / readme.md
Created April 27, 2016 21:34
Configure WordPress to send email through an SMTP server.

WordPress SMTP Configuration

Usage

  1. Install and activate the smtp-config.php file as a plugin or drop it in /mu-plugins.
  2. Define the necessary constants in wp-config.php.

Configuration Examples

MailHog