Skip to content

Instantly share code, notes, and snippets.

View verticalgrain's full-sized avatar

Jamie Graham verticalgrain

View GitHub Profile
@verticalgrain
verticalgrain / get_field_choices.php
Created January 11, 2017 18:52
Get all field choices for a Wordpress ACF select field
<?php
function get_field_choices($field_key) {
$field = get_field_object($field_key);
if( $field )
{
$results = array();
foreach( $field['choices'] as $k => $v )
{
@verticalgrain
verticalgrain / acf-srcset-image.php
Created January 17, 2017 18:41
ACF Image srcset
function responsive_image_background($image_field_name) {
$imageobject = get_field($image_field_name);
echo '<img class="fullscreen__image-background" src="' . $imageobject['sizes']['superhero'] . '" srcset="' . $imageobject['sizes']['superhero'] .' '. $imageobject['sizes']['superhero-width'] .'w, ' . $imageobject['sizes']['hero'] .' '. $imageobject['sizes']['hero-width'] .'w, '. $imageobject['sizes']['large'] .' '. $imageobject['sizes']['large-width'] .'w">';
}
@verticalgrain
verticalgrain / image-srcset.html
Created January 17, 2017 18:43
Basic image srcset
<img src="image-src.png" srcset="image-1920x960.png 1920w, image-1280x680.png 1280w, image-600x320.png 600w">
@verticalgrain
verticalgrain / react-cheatsheet.js
Last active December 11, 2019 23:41
Jamies React Cheatsheet
// React Router V4
// Pass props to a component being matched
<Match pattern='/create' exactly render={() => (
<Create
dbItems={this.dbItems}
/>
)} />
@verticalgrain
verticalgrain / wordpress-json-cheatsheet.md
Last active October 12, 2025 13:38
Wordpress JSON API Cheat Sheet

POSTS:

Get a post by id:

http://mixmeals.com/wp-json/wp/v2/posts/?filter[p]=12

Get multiple posts by id:

http://mixmeals.com/wp-json/wp/v2/posts/?include=470,469

@verticalgrain
verticalgrain / app.js
Last active April 26, 2022 15:37
React Router V4 Redirect after form submission
import React, { Component } from 'react'
import { Redirect } from 'react-router'
export default class ContactForm extends Component {
constructor () {
super();
this.state = {
fireRedirect: false
}
}
@verticalgrain
verticalgrain / markerclustererBackgroundSize.js
Created February 15, 2017 20:31
Make markerclusterer.js marker icons support background size for retina icons
// Forked createCss method from markerclusterer
// Sets icon background size to same size as icon width and height
// Add this file after loading markerclusterer.js https://github.com/googlemaps/js-marker-clusterer
ClusterIcon.prototype.createCss = function(pos) {
var style = [];
style.push('background-image:url(' + this.url_ + ');');
var backgroundPosition = this.backgroundPosition_ ? this.backgroundPosition_ : '0 0';
style.push('background-position:' + backgroundPosition + ';');
style.push('background-size: ' + this.width_ + 'px ' + this.height_ + 'px;'); //added to support retina
@verticalgrain
verticalgrain / .htaccess
Last active February 16, 2017 20:41
Fix CORS policy access errors when accessing fonts on a different domain
<FilesMatch ".(eot|ttf|otf|woff)">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
Header add Access-Control-Allow-Origin "your-domain.com"
## To test access-control-allow-headers in terminal:
## curl -I https://some.cdn.otherdomain.net/media/fonts/somefont.ttf
@verticalgrain
verticalgrain / javascript-cheatsheet.js
Last active March 31, 2021 15:36
Javascript Cheat Sheet
const myobject = {}
myobject[ key ] = value
// { key: value }
// Add element to array
const myarray = []
myarray.push(value1)
myarray.push(value2)
// [value1,value2]
@verticalgrain
verticalgrain / timber-cheatsheet
Last active May 24, 2017 17:25
Wordpress Timber cheat sheet
// Including twig files with vars
{% include "button.twig" with { text: "Click me" } %}
// Debug (enable WP debugging)
{{post|print_r}}// deprecated
{{dump(post)}}
// Image URL with custom image size
{{ TimberImage( fieldname ).src('large') }}