Skip to content

Instantly share code, notes, and snippets.


Russell Heimlich kingkool68

View GitHub Profile
kingkool68 / rh-get-widget-data-for-all-sidebars.php
Last active Feb 15, 2021
WordPress function to get raw widget data for all of the widgets in a given sidebar
View rh-get-widget-data-for-all-sidebars.php
function rh_get_widget_data_for_all_sidebars() {
global $wp_registered_sidebars;
$output = array();
foreach ( $wp_registered_sidebars as $sidebar ) {
if ( empty( $sidebar['name'] ) ) {
$sidebar_name = $sidebar['name'];
kingkool68 / Serial Array Search and Replace WordPress plugin
Created Mar 13, 2013
Search and replace values in serialized arrays in specific tables. Thanks to for sharing.
View Serial Array Search and Replace WordPress plugin
Plugin Name: Pew Serial Array Search and Replace
Description: Search and replace values in serialized arrays in specific tables. Thanks to for sharing.
Version: 1.0
Author: Russell Heimlich
Author URI:
kingkool68 / Seamless Git Deployment
Last active Dec 17, 2015
To push code changes to text servers I do this.
View Seamless Git Deployment
We have a private Git running on a server somewhere which we consider our central repository. Inside the .git/hooks/post-recieve is the following:
while read oldrev newrev ref
branch=`echo $ref | cut -d/ -f3`
if [ "master" == "$branch" ]; then
kingkool68 / gist:6609735
Created Sep 18, 2013
Filter to make the <!--more --> tag do it's thang anywherez.
View gist:6609735
add_filter('the_excerpt', 'we_aint_got_time_for_more');
function we_aint_got_time_for_more($the_original_excerpt) {
global $post;
return explode('<!--more-->', $post->post_content)[0];
kingkool68 / pew_add_sitemap_urls_to_robots_txt
Last active Dec 24, 2015
Add sitemap links to your robots.txt file using the BWP Google Sitemap Plugin for WordPress.
View pew_add_sitemap_urls_to_robots_txt
//BWP Google Sitemap Plugin doesn't add sitemap links to robots.txt files so I guess I'll do it myself...
function pew_add_sitemap_urls_to_robots_txt() {
echo "\nSitemap: " . get_site_url() . "/sitemap.xml";
echo "\nSitemap: " . get_site_url() . "/post_google_news.xml";
echo "\n\n";
return $txt;
add_action( 'do_robotstxt', 'pew_add_sitemap_urls_to_robots_txt' );
kingkool68 / cdn-integration.php
Created Nov 11, 2013
I wanted to run my entire WordPress site through a CDN so this is what I had to do to make it work. cdn-integration.php is a plugin file that you shouldn't have to change. wp-config.php is some configuration details you'll need to put in wp-config.php Most CDNs let you control the TTL of how long to hold on to assets from the caching headers set…
View cdn-integration.php
Plugin Name: RH CDN Integration
Description: Making Origin Pull Work. Heavilty inspired by
Version: 0.1
Author: Russell Heimlich
Author URI:
// Convenience methods
kingkool68 / pew-infinite-scroll.js
Last active Jan 4, 2018
Plugin for handling the URLs to make infinite scrolling work properly on pages like this
View pew-infinite-scroll.js
jQuery(document).ready(function() {
//Set-up some constants.
var scrollTimeout;
var scrollUsePushStateInstead = false; //Set to true to make the history stack of the browser include every point when posts were loaded. It's kind of annoying.
var scrollDelay = 200; //Milliseconds
var scrollLoading = false;
var triggerOffset = $(document).height() - $('#pagination').siblings().eq(-4).offset().top; //The point of this is to do one calculation up front instead of multiple calculations every time the infinite scroll is triggered.
// Simple feature detection for History Management (borrowed from Modernizr)
function supportsHistory() {
View Pew Scripts Plugin
Plugin Name: Pew Scripts
Description: Scripts that are used on multiple sites can be registered and maintained in one place through this plugin.
Version: 1.2
Author: Russell Heimlich
Author URI:
function pew_register_global_scripts() {
View Add max_width to image attributes in RSS feed
function chris_coyiers_super_awesome_feed_image_magic( $content ) {
$doc = new DOMDocument();
$doc->LoadHTML( $content );
$images = $doc->getElementsByTagName('img');
foreach ($images as $image) {
// Set the new attribute.
$image->setAttribute( 'style', 'max-width:480px;' );
kingkool68 / Pew Research Archive listing to CSV
Created Apr 21, 2014
Download the URL, title, and date for all of the posts on a given archive page URL such as Copy and paste this into the Console of the developer tools.
View Pew Research Archive listing to CSV
jQuery( document ).ready( function($) {
var csv = "data:text/csv;charset=utf-8,";
var csvData = [];
$('#content .post').each(function() {
$this = $(this);
csvData.push( [this.href, $this.find('h2').text(), $this.find('.meta span:last-of-type').text() ] );
for( i=0; i < csvData.length; i++ ) {
var row = '"' + csvData[i].join('","') + '"';