Skip to content

Instantly share code, notes, and snippets.

Avatar

Robert O'Rourke roborourke

View GitHub Profile
@roborourke
roborourke / ep-prefix-search.php
Created Jun 30, 2020
ElasticPress query using prefix match
View ep-prefix-search.php
<?php
/**
* Wrapper for WP_Query that performs a prefix search.
*
* @param string $url The URL string to search for.
* @param array $args Args to pass to WP_Query
* @return WP_Query
*/
function ep_url_prefix_search( string $url, array $args = [] ) : WP_Query {
@roborourke
roborourke / wp-react-dev.php
Last active May 17, 2020
Get the development version of react in WordPress without needing a dev version of WP
View wp-react-dev.php
<?php
/**
* Enable dev mode vendor packages.
*/
if ( ! defined( 'SCRIPT_DEBUG' ) || ! SCRIPT_DEBUG ) {
return;
}
add_action( 'init', function () {
@roborourke
roborourke / nf-gtm.js
Last active Mar 23, 2020
Ninja Forms Google Tag Manager Trigger
View nf-gtm.js
<script>
jQuery( document ).on( 'nfFormReady', function() {
nfRadio.channel('forms').on('submit:response', function(form) {
window.dataLayer = window.dataLayer||[];
dataLayer.push({
event: 'ninjaFormSubmission',
eventData: form.data,
formID: form.data.form_id,
formTitle: form.data.settings.title
})
@roborourke
roborourke / wp-packagist-stats.php
Last active Feb 20, 2020
Get stats from packagist for all WP related packages
View wp-packagist-stats.php
#!/usr/bin/env php
<?php
$plugins = file_get_contents( 'https://packagist.org/packages/list.json?type=wordpress-plugin' );
$muplugins = file_get_contents( 'https://packagist.org/packages/list.json?type=wordpress-muplugin' );
$dropins = file_get_contents( 'https://packagist.org/packages/list.json?type=wordpress-dropin' );
$themes = file_get_contents( 'https://packagist.org/packages/list.json?type=wordpress-theme' );
$plugins_json = json_decode( $plugins, true )['packageNames'];
$muplugins_json = json_decode( $muplugins, true )['packageNames'];
@roborourke
roborourke / add_feed.php
Last active Mar 24, 2019
add_feed() example for WordPress
View add_feed.php
<?php
class custom_feed {
public $feed = 'custom-xml';
public function __construct() {
add_action( 'init', array( $this, 'init' ) );
@roborourke
roborourke / gutenberg-frontend-columns.php
Last active Jun 5, 2018
Fixes markup for <InnerBlocks.Content/> output
View gutenberg-frontend-columns.php
<?php
add_filter( 'the_content', function ( $content ) {
// Fix layouts HTML.
libxml_use_internal_errors( true );
$dom = new \DOMDocument( '1.0', 'UTF-8' );
$dom->loadHTML( utf8_decode( $content ) );
$xpath = new \DOMXPath( $dom );
@roborourke
roborourke / pantheon-wp-multisite.php
Last active Mar 25, 2017
Get subfolder multisite wordpress to work on getpantheon.com hosting
View pantheon-wp-multisite.php
<?php
// hack to make pantheon work with subdirectory multisite
add_action( 'wpmu_new_blog', function( $blog_id, $user_id, $domain, $path, $site_id, $meta ) {
if ( defined( 'SUBDOMAIN_INSTALL' ) && ! SUBDOMAIN_INSTALL ) {
$abspath = untrailingslashit( ABSPATH );
$subpath = $abspath . untrailingslashit( $subpath );
if ( ! is_dir( $path ) )
@roborourke
roborourke / keybase.md
Last active Jul 20, 2016
Keybase verification
View keybase.md

Keybase proof

I hereby claim:

  • I am roborourke on github.
  • I am robo (https://keybase.io/robo) on keybase.
  • I have a public key whose fingerprint is 779C 084C 30CA 91E6 4B0C 9242 ED5B EDB9 0BBA 458F

To claim this, I am signing this object:

@roborourke
roborourke / wp-stickies.php
Created Jan 17, 2012
Better sticky post handling for WordPress
View wp-stickies.php
<?php
/**
* Fixes sticky post ordering in WordPress anywhere the order is not explicitly defined.
*
* Updates a post's menu order whenever the sticky posts option is updated
*
* Props to Simon Fransson of http://dessibelle.se/ for a bugfix where 'unstickied' posts were not updated
*
* @param Array $stickies An array of post IDs
View .kbaliases
### Keybase ###
function pb() {
echo "$@" | pbcopy
}
# Usage: kbm 'message' <usernames...>
alias kbm='pb keybase encrypt -m'
You can’t perform that action at this time.