Skip to content

Instantly share code, notes, and snippets.

View joelstransky's full-sized avatar

Joel Stransky joelstransky

View GitHub Profile
@joelstransky
joelstransky / main.scss
Last active December 16, 2016 00:27
Sticky footer for WordPress
/**
* https://philipwalton.com/articles/normalizing-cross-browser-flexbox-bugs/
* 1. Avoid the IE 10-11 `min-height` bug.
* 2. Set `flex-shrink` to `0` to prevent Chrome, Opera, and Safari from
* letting these items shrink to smaller than their content's default
* minimum size.
*/
.Site {
display: flex;
flex-direction: column;
<?php
class F6_DRILL_MENU_WALKER extends Walker_Nav_Menu
{
/*
* Add vertical menu class
*/
function start_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul class=\"vertical menu\">\n";
@joelstransky
joelstransky / write-log.php
Created March 8, 2017 00:02
Write string, array or objects to log in php
<?php
if ( ! function_exists('write_log')) {
function write_log ( $log ) {
if ( is_array( $log ) || is_object( $log ) ) {
error_log( print_r( $log, true ) );
} else {
error_log( $log );
}
}
}
<?php
/**
* This is a temporary fix needed to repair the issue mentioned here:
* https://core.trac.wordpress.org/ticket/40090
*/
add_filter( 'wp_nav_menu_args', 'replace_default_menu_walker', 10, 1 );
function replace_default_menu_walker( $args ) {
if ( empty($args['walker']) )
$args['walker'] = new Walker_Nav_Menu_40090;
return $args;
@joelstransky
joelstransky / functions::paginate_links_as_bootstrap.php
Last active May 19, 2020 08:30
Display pagination in WordPress! using Twitter Bootstrap 3's pagination component
@joelstransky
joelstransky / functions::acf_settings_load_json.php
Created May 10, 2017 02:25
Advanced Custom Fields acf-json support for child themes
<?php
/**
* Child theme support for acf-json
* This will load acf-json from the parent theme first.
* That way if a child theme's acf-json folder contains a .json
* file with the same name as the parent, it will get loaded second
*/
add_filter('acf/settings/save_json', function() {
return get_stylesheet_directory() . '/acf-json';
});
@joelstransky
joelstransky / functions::paginate_links_as_bootstrap.php
Last active May 25, 2017 20:10
Wraps WordPress paginate_links data in Twitter bootstrap pagination component
@joelstransky
joelstransky / functions::get_connected_terms.php
Created June 9, 2017 19:53
Wordpress: Create relationship between two taxonomy's using ACF
<?php
$all_tax_a_terms = get_terms( array( 'taxonomy' => 'taxonomy_a', 'hide_empty' => false) );
foreach ($all_tax_a_terms as $a_term) {
$b_terms_set_to_a_term = get_terms( array(
'taxonomy' => 'taxonomy_b',
'meta_key' => 'acf-key-for-taxonomy-b',
'meta_value' => $a_term->slug,
'hide_empty' => false )
);
}
@joelstransky
joelstransky / functions::taxonomies.php
Created August 22, 2017 21:18
A working sort for taxonomy terms + numeric meta data
<?php
register_taxonomy( 'uh_service_type_taxonomy', array( 'contact_cpt' ), $args );
// add and 'Order' column to Service Type taxonomy terms
add_filter("manage_edit-uh_service_type_taxonomy_columns", "on_manage_edit_uh_service_type_taxonomy_columns");
function on_manage_edit_uh_service_type_taxonomy_columns( $columns ) {
$columns['term_order'] = __('Order');
return $columns;
}
@joelstransky
joelstransky / functions::custom_field_render.php
Created December 1, 2017 17:19
Alter Advanced Custom Field rendering in admin
<?php
/*
* This snippet is from a project where I used an ACF Options gallery field to collect a set of icons.
* This fields data was then used to replace a radio field's options with the actual icons.
*/
class Special_Excerpt_Icon {
function __construct() {
// filter load_field on all 'radio' fields
add_filter('acf/load_field/type=radio', array($this, 'on_acf_load_radio_field' ) );
}