Skip to content

Instantly share code, notes, and snippets.

View DavidCramer's full-sized avatar

David Cramer DavidCramer

View GitHub Profile
@DavidCramer
DavidCramer / gist:d849d8bd53fd46e10e7f
Last active August 29, 2015 14:07
Caldera Forms default Grid Settings
<?php
// Default grid render settings
$grid_settings = array(
"first" => 'first_row', // Classname for first row
"last" => 'last_row', // Classname for last row
"single" => 'single', // Classname for single row (grid with only 1 row)
"column_first" => 'first_col', // Classname for first column
"column_last" => 'last_col', // Classname for last column
"column_single" => 'single', // Classname for single column (grid row with a single column)
@DavidCramer
DavidCramer / formjson.js
Last active August 29, 2015 14:08
form to json with nested fields
$.fn.formJSON = function(){
var fields = $(this).serializeArray(),
json = {},
arraynames = {};
for( var v = 0; v < fields.length; v++){
var field = fields[v],
name = field.name.replace(/\]/gi,'').split('['),
value = field.value,
lineconf = {};
for(var i = name.length-1; i >= 0; i--){
@DavidCramer
DavidCramer / gist:6534826
Created September 12, 2013 09:11
Configure and use jQuery plugins with html attributes only
/* Attrify
Allows you to activate and configure jQuery plugins* via html attributes & without writing javascript.
* most, not all.
EXAMPLE:
<a class="attrify"
data-plugn="nivoLightbox"
data-effect="fade"
data-theme="default"
@DavidCramer
DavidCramer / reinit_wp_editors.js
Created September 7, 2015 13:16
reinit WP editors dynamically
function re_init_wp_editors(){
if( typeof tinyMCEPreInit === 'undefined'){
return;
}
var ed, init, edId, qtId, firstInit, wrapper;
if ( typeof tinymce !== 'undefined' ) {
@DavidCramer
DavidCramer / functions.php
Last active September 7, 2016 07:43
Remove cf_id= in Caldera Forms
<?php
// add this to your theme or child theme's functions.php file to
// remove the cf_id=x from redirect URLs on form submit
function cf_remove_cfid( $url ){
if( false !== strpos( $url, '?' ) ){
$parts = explode( '?', $url );
parse_str( $parts[1], $query );
if( isset( $query['cf_id'] ) ){
unset( $query['cf_id'] );
return $parts[0] . '?' . http_build_query( $query );
<?php
/**
* The Template for displaying product archives, including the main shop page which is a post type archive
*
* This template can be overridden by copying it to yourtheme/woocommerce/archive-product.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
@DavidCramer
DavidCramer / output
Created December 6, 2016 09:51 — forked from mikeTierney19/output
changing $output
function my_facetwp_facet_html( $output, $params ) {
if ( 'monthly_tags' == $params['facet']['name'] ) {
$output = '
<div class="facetwp-checkbox" data-value="january-2017">
January 2017
<span class="facetwp-counter">(1)</span>
</div>
<div class="facetwp-checkbox" data-value="february-2017">
February 2017
<span class="facetwp-counter">(1)</span>
function my_facetwp_index_row( $params, $class ) {
if ( 'branch' == $params['facet_name'] ) {
$values = (array) $params['facet_value']; // an array of post IDs (it's already unserialized)
foreach ( $values as $val ) {
$params['facet_value'] = the_field( 'martygeocoderlatlng', $val );
$params['facet_display_value'] = the_field('martygeocoderaddress', $val);
$class->insert( $params ); // insert each value to the database
}
// skip the default indexing query
return false;
@DavidCramer
DavidCramer / custom.js
Last active February 6, 2017 05:57 — forked from mgibbs189/test.js
FacetWP - Set "sort by" when specific facet is used
(function($) {
$(document).on('facetwp-refresh', function() {
if( FWP.extras['sort'] !== 'default' ){
return;
}
if ( FWP.facets['baby_sitter_cost'].length ) {
FWP.extras['sort'] = 'cost';
}else if ( FWP.facets['age'].length ) {
FWP.extras['sort'] = 'age';
}else if ( FWP.facets['experience'].length ) {
function cspm_display_single_product_map(){
echo do_shortcode('[facetwp map="true"]');
}
add_action('woocommerce_after_single_product_summary', 'cspm_display_single_product_map', 15);