Skip to content

Instantly share code, notes, and snippets.

View jimboobrien's full-sized avatar

Jimobrien jimboobrien

View GitHub Profile
@jimboobrien
jimboobrien / array-order-by-keys.php
Created September 20, 2017 23:19 — forked from wpscholar/array-order-by-keys.php
Order an array based an ordered set of keys. NOTE: Values that don't have a corresponding key in the array of keys will be dropped.
<?php
/**
* Order an array based an ordered set of keys.
* NOTE: Values that don't have a corresponding key in the array of keys will be dropped.
*
* @param array $array
* @param array $keys
* @return array
*/
public static function array_order_by_keys( array $array, array $keys ) {
@jimboobrien
jimboobrien / array-find.php
Created September 20, 2017 23:19 — forked from wpscholar/array-find.php
Case insensitive array_search() with partial matches
<?php
/**
* Case insensitive array_search() with partial matches.
*
* @param string $needle
* @param array $haystack
* @return bool|int|string
*/
public static function array_find( $needle, array $haystack ) {
@jimboobrien
jimboobrien / index-by.php
Created September 20, 2017 23:19 — forked from wpscholar/index-by.php
Index a collection of arrays/objects by a specific key/property.
<?php
/**
* Index a collection of arrays/objects by a specific key/property.
*
* @param string $index
* @param array $data
* @return array
*/
function index_by( $index, array $data ) {
@jimboobrien
jimboobrien / validate.php
Created September 20, 2017 23:19 — forked from wpscholar/validate.php
Validate a value by running it through one or more callbacks.
<?php
/**
* Validate a value by running it through one or more callbacks.
*
* @param mixed $value
* @param callable $validation
* @return bool
*/
function validate( $value, $validation ) {
@jimboobrien
jimboobrien / sanitize.php
Created September 20, 2017 23:18 — forked from wpscholar/sanitize.php
Sanitize a value by passing it through one or more sanitization callbacks.
<?php
/**
* Sanitize a value by passing it through one or more sanitization callbacks.
*
* @param mixed $value
* @param callable|array $sanitize
* @return mixed
*/
function sanitize( $value, $sanitize ) {
@jimboobrien
jimboobrien / wp-get-excerpt-by-id.php
Created September 20, 2017 23:18 — forked from wpscholar/wp-get-excerpt-by-id.php
Get the excerpt for a WP_Post by post ID.
<?php
/**
* Get the excerpt for a WP_Post by post ID.
*
* @param int $post_id
*/
function get_excerpt_by_id( $post_id = 0 ) {
global $post;
$save_post = $post;
@jimboobrien
jimboobrien / shortcode.php
Created September 20, 2017 23:17 — forked from wpscholar/shortcode.php
A class for creating shortcodes in a flexible way.
<?php
/**
* Class My_Shortcode
*/
class My_Shortcode {
/**
* The shortcode attributes
*
@jimboobrien
jimboobrien / multisite-migrate.php
Created September 20, 2017 23:16 — forked from wpscholar/multisite-migrate.php
WP-CLI script for moving a multi-site instance from one domain to another
<?php
/**
* WP-CLI script for moving a multi-site instance from one domain to another
*
* Example command usage: wp eval-file multisite-migrate.php old-domain.com new-domain.com
* Note: Currently, this script doesn't update all domain references, such as in post content.
* At this time, it is primarily used when creating a local copy of a multi-site instance in
* order to ensure everything will load on a local dev domain.
*/
@jimboobrien
jimboobrien / attachment-query.php
Created September 20, 2017 23:15 — forked from wpscholar/attachment-query.php
Practical example of how and why you might want to extend the WP_Query class.
<?php
/**
* Class Attachment_Query
*/
class Attachment_Query extends WP_Query {
function __construct( $query = '' ) {
$defaults = array(
'post_type' => 'attachment',
@jimboobrien
jimboobrien / salt.sh
Created September 20, 2017 23:15 — forked from wpscholar/salt.sh
Create a new salt.php file with secret keys
echo "<?php" > salt.php
wget https://api.wordpress.org/secret-key/1.1/salt/ -O - >> salt.php