Instantly share code, notes, and snippets.

View gist:a4cac4d471694be59d82257956f51766
// Insert featured images as post thumbnails into RSS feed
function insert_thumbnail_rss( $content ) {
global $post;
if ( has_post_thumbnail( $post->ID ) ) {
$content = '' . get_the_post_thumbnail( $post->ID, 'large' ) . '' . $content;
return $content;
add_filter( 'the_excerpt_rss', 'insert_thumbnail_rss' );
View pushstage
# push a local WP database to an existing staging site
# uses current directory as theme path and ssh alias
pushstage() {
START=$(date +%s)
# make a backup of the current local database
# get current directory name, used for database and URL
cd ~/Sites/$current || return
# rsync the local database to staging site
View getuploads
# rsync wp uploads directory from staging to current site, exclude .pdf files
# uses command line argument $1 for prod or staging ssh alias
getups() {
cd ~/Sites/$current/wp-content/uploads || return
rsync -avzW --progress --exclude '*.pdf' --exclude '*.docx' $current-$1:~/www/wp-content/uploads/* .
View _dmc-cards.scss
.cards {
display: flex;
align-items: stretch;
justify-content: space-between;
max-width: $row-width;
list-style: none;
margin: 0;
@media #{$medium-up} {
> * {
View wpmu change site domain
# If the sub site's site/home url can not be changed from the WP admin, the following SQL
# queries will change the necessary fields to map a domain to a sub site.
# presuming the sub site ID that we are changing is 1…
UPDATE `wp_blogs` SET domain='', path='/' WHERE blog_id = 1;
UPDATE `wp_options` SET option_value='' WHERE option_name='siteurl';
UPDATE `wp_options` SET option_value='' WHERE option_name='home';
View gist:c150fe755a9879b4077d36ec40e8ed43
// allow editors to manage gravity forms
// allow editors to use Appearance menu
// allow editors to manage co-authors plus plugin, create guest authors
// allow editors to manage Privacy sub-menu under Settings
function dmc_modify_editor_role() {
$role = get_role( 'editor' );
$capabilities = array(
View index.html
<hr />
<article class="copy">
<h1>Responsive Typography for dummies</h1>
<pre>h1 {
@include responsive-type(22px, 38px);
<p><strong>A "let the mixin do all the work" approach</strong> to the wonderful <code>calc()</code> liquid and molten text. This is all based off the great work done <a href="">by mike</a></p>
<p>Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em></p>
<h2>A Level two header that has a lot of text in it for the molten-lettering and showing off that the <a href="">line height drops</a> as it gets smaller.</h2>
View gist:4f9c6dc52fb53fe2cebdd0fcc2f8e5a1
wp post list --post_type=page --fields=ID --format=csv | xargs -I % wp post meta get % _wp_page_template
View add git branch to bash prompt
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
export PS1="\u@\h \[\033[32m\]\W\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "
View wp-cli delete all featured images of a post type
wp post list --post_type=dmc-sief-project --fields=ID --format=csv | xargs -I % wp post meta delete % _thumbnail_id