Skip to content

Instantly share code, notes, and snippets.

View joedolson's full-sized avatar

Joe Dolson joedolson

View GitHub Profile
@joedolson
joedolson / gist:9e14117850d9e4b6aa7e039a609bfe48
Created April 12, 2024 00:06
Console JS for viewing uploaded images in Gravity Forms admin list
let images = document.querySelectorAll( '.field_id-18 a' ); images.forEach( function( el ) { let url = el.getAttribute( 'href' ); let img = el.querySelector( 'img' ); img.setAttribute( 'src', url ); } );
@joedolson
joedolson / wowza.php
Last active November 1, 2023 18:49
Load Wowza in WordPress
/**
* Embed a Wowza streaming player in WordPress. Maps the `$` function to `jQuery.noConflict()` before running embed so that variable is available.
* Usage: [wowza url="//player.video.wowza.com/hosted/WOWZA_ID/wowza.js"]
*
* @param array $atts Shortcode attributes.
* @param string $content Container content. Not used.
*
* @return string
*/
function embed_wowza( $atts, $content ) {
<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<?php
$rand = '_' . mt_rand( 10000, 99999 );
?>
<label for="search<?php echo $rand; ?>"><?php echo _x( 'Search for:', 'label', 'textdomain' ); ?></label>
<input id="search<?php echo $rand; ?>" type="search" class="search-field" value="<?php echo get_search_query(); ?>" name="s" />
<button type="submit" class="search-submit"><?php echo _x( 'Search', 'submit button', 'textdomain' ); ?></button>
</form>
@joedolson
joedolson / table-demo-alt.html
Last active November 11, 2020 20:58
WordPress Accessibility Pattern Library - Table (alt)
<table class="form-table" role="presentation">
<tr>
<th scope="row"><label for="blogname">Site Title</label></th>
<td><input name="blogname" type="text" id="blogname" value="Make WordPress Accessible" class="regular-text" /></td>
</tr>
<tr>
<th scope="row"><label for="blogdescription">Tagline</label></th>
<td><input name="blogdescription" type="text" id="blogdescription" aria-describedby="tagline-description" value="Equal Access For All" class="regular-text" />
@joedolson
joedolson / table-demo.html
Created November 11, 2020 20:47
WordPress Accessibility Pattern Library - Table Demo
<table class="wp-list-table widefat fixed striped table-view-excerpt pages">
<thead>
<tr>
<td id='cb' class='manage-column column-cb check-column'><label class="screen-reader-text" for="cb-select-all-1">Select All</label><input id="cb-select-all-1" type="checkbox" /></td><th scope="col" id='title' class='manage-column column-title column-primary sortable desc'><a href="https://make.wordpress.org/accessibility/wp-admin/edit.php?post_type=handbook&#038;orderby=title&#038;order=asc"><span>Title</span><span class="sorting-indicator"></span></a></th><th scope="col" id='author' class='manage-column column-author'>Author</th><th scope="col" id='date' class='manage-column column-date sortable asc'><a href="https://make.wordpress.org/accessibility/wp-admin/edit.php?post_type=handbook&#038;orderby=date&#038;order=desc"><span>Date</span><span class="sorting-indicator"></span></a></th>
</tr>
</thead>
<tbody id="the-list">
...
</tbody>
@joedolson
joedolson / events-as-posts.php
Last active August 29, 2015 14:22
Add My Calendar Events as Blog Posts
add_action( 'mc_save_event', 'my_event_post', 10, 3 );
function my_event_post( $action, $data, $new_event ) {
// if the event save was successful.
if ( $action == 'add' ) {
$title = $data['event_title'];
$content = "[my_calendar_event event='$new_event' template='details' list='']";
$post_status = 'publish';
$auth = $data['event_author'];
$type = 'post';
$my_post = array(
@joedolson
joedolson / ID24 Demo 8
Created May 23, 2015 17:03
For the purposes of styling, we take another look at the function created in Demo 4. We need some more complexity to style this effectively.
/*
* Generate the HTML links using URLs.
*
* @param integer $post_ID of current post
*
* @return string block of HTML links.
*/
function id24_create_links( $post_ID ) {
$urls = id24_create_urls( $post_ID );
$html = '';
@joedolson
joedolson / ID24 Demo 7
Created May 23, 2015 17:01
Social media sharing is about engagement; there's nothing engaging about a bunch of text links. We'll enqueue a stylesheet.
/*
* Register custom stylesheet for ID24 social sharing.
*/
add_action( 'wp_enqueue_scripts', 'id24_register_styles' );
function id24_register_styles() {
wp_register_style( 'id24-icomoon', plugins_url( 'fonts/icomoon.css', __FILE__ ) );
if ( !is_admin() ) {
wp_enqueue_style( 'id24-social-share', plugins_url( 'css/id24.css', __FILE__ ), array( 'dashicons', 'id24-icomoon' ) );
}
}
@joedolson
joedolson / ID24 Demo 6
Created May 23, 2015 17:01
It hardly matters what else we do if this doesn't show up on the page! Use the power of filters and 'the_content' to get crucial data.
/*
* Use WordPress filter 'the_content' to add sharing links into post content.
*
* @param $content The current content of the post.
*
* @return $content The previous content of the post plus social sharing links.
*/
add_filter( 'the_content', 'id24_post_content' );
function id24_post_content( $content ) {
global $post;
@joedolson
joedolson / ID24 Demo 5
Created May 23, 2015 17:01
These links will be impossible to find if they're just links; we'll wrap them in an aria landmark element and add a heading.
/*
* Fetch HTML for links and wrap in a container. Add heading and ARIA landmark role.
*
* @param integer $post_ID of current post.
*
* @return full HTML block.
*/
function id24_social_block( $post_ID ) {
$links = id24_create_links( $post_ID );