Skip to content

Instantly share code, notes, and snippets.

View kevinwhoffman's full-sized avatar

Kevin W. Hoffman kevinwhoffman

View GitHub Profile
@kevinwhoffman
kevinwhoffman / resources-web-developers-designers.md
Last active October 21, 2025 14:29
Resources for Web Developers and Designers

Resources for Web Developers and Designers

This is an incomplete list of resources including courses and individuals who publish content that has helped me grow as a web developer and designer. Many of these resources are WordPress-specific as that is my current area of specialization. This list will grow over time. If you've got something to add, send me a link @kevinwhoffman and I'll check it out!

Course Providers

@kevinwhoffman
kevinwhoffman / responsive-images-notes.md
Last active September 5, 2024 01:55
WordPress 4.4 Responsive Images Notes

Notes and Resources for Responsive Images in WordPress 4.4

Following the addition of responsive images support in WordPress 4.4, there has been a lot of confusion over what WordPress does "automatically" and what is left up to the developer. I've gathered the following notes from chatting with members of the core team and also my own investigation of the 4.4 source. Here's what I've discovered:

  • Following the 4.4 update, WordPress automatically serves the following images responsively:

    • Content images added via the main content editor will now be served with srcset markup. This is accomplished by filtering the_content() prior to display, which means it applies to existing posts and new posts going forward.
    • Featured images called by the_post_thumbnail() also get srcset markup without any additional steps required.
  • Images that are referenced from custom fields will not be served responsively unless the theme calls the image via wp_get_attachment_image() OR constructst the responsive m

@kevinwhoffman
kevinwhoffman / loop-custom.php
Last active July 17, 2024 14:47
WordPress - Custom Post Type Loop
<?php
$loop = new WP_Query( array(
'post_type' => 'Property',
'posts_per_page' => -1
)
);
?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
@kevinwhoffman
kevinwhoffman / plugin.php
Last active April 15, 2022 20:46 — forked from mathetos/plugin.php
Dependent Plugin Activation/Deactivation and Alert
<?php
/*
* Dependent Plugin Activation/Deactivation
*
* Sources:
* 1. https://pippinsplugins.com/checking-dependent-plugin-active/
* 2. http://10up.com/blog/2012/wordpress-plug-in-self-deactivation/
*
*/
@kevinwhoffman
kevinwhoffman / acf-lat-lng-fields.php
Created January 22, 2016 01:21
Split ACF Google Map Field Data Into Separate Custom Fields
<?php
/**
* In order for Google Maps Builder Pro to work with ACF map fields,
* lat and lng are saved as separate fields in the function below.
*/
function acf_save_lat_lng( $post_id ) {
// get value of ACF map field
@kevinwhoffman
kevinwhoffman / add-styles-to-visual-editor.php
Last active January 30, 2022 14:15
Add customizer styles to visual editor
<?php
/**
* Adds styles from customizer to head of TinyMCE iframe.
* These styles are added before all other TinyMCE stylesheets.
* h/t Otto.
*/
function kwh_add_editor_style( $mceInit ) {
// This example works with Twenty Sixteen.
$background_color = get_theme_mod( 'background_color' );
$styles = '.mce-content-body { background-color: #' . $background_color . '; }';
@kevinwhoffman
kevinwhoffman / style.css
Created June 24, 2018 23:23
Shift Breakpoint of WP List Table
/**
* The layout of a WP List Table typically changes from a multi-column to
* single-column layout when the viewport width is less than or equal to 782px.
* This CSS shifts that breakpoint to 960px for tables with more columns that
* would otherwise become squished if they were all crammed on screen at once.
*/
@media screen and ( max-width: 960px ) {
/* WP List Table Options & Filters */
.tablenav {
@kevinwhoffman
kevinwhoffman / acf-seo-image.php
Last active November 8, 2020 18:29 — forked from bahia0019/acf-seo-image.php
For ACF users, creates an easy to use function that wraps your image in HTML5 <figure> adds <figcaption>. Also adds Schema markup in JSON LD. Parameters are 1. ACF field name, 2. Size, 3. Figure CSS class, 4. Figcaption CSS class.
function fsc_figure( $image, $size, $imageclass, $captionclass ){
/**
* Let plugins pre-filter the image meta to be able to fix inconsistencies in the stored data.
*
* @param string $image The ACF field name (i.e. 'your_photo_name').
* @param string $size Thumbnail size (i.e. 'Thumbnail', 'Medium', 'Large')
* @param string $imageclass The Figure class you want to use (ex: 'my-figure')
* @param string $captionclass The Figcaption class you want to use (ex: 'caption-blue')
*/
@kevinwhoffman
kevinwhoffman / acf-update-post-thumbnail.php
Created January 30, 2016 16:40
Update post thumbnail with value of ACF Image field
<?php
function acf_update_post_thumbnail( $post_id ) {
$thumbnail_id = get_post_meta( $post_id, 'acf_image_field' );
set_post_thumbnail( $post_id, $thumbnail_id );
}
// run after ACF saves the $_POST['acf'] data
add_action( 'acf/save_post', 'acf_update_post_thumbnail', 20 );
@kevinwhoffman
kevinwhoffman / 2017-wordcamp-us-job-board.md
Last active December 9, 2018 19:09
2017 WordCamp US Job Board

The following table is a transcription of the job board at WordCamp US on December 1-3, 2017. The table includes a combination of individuals and companies that are either seeking jobs or hires related to WordPress.

Post Contact
Looking for affiliates to build church websites. aboundant.com
WordPress devs helping agencies and businesses. gtadev.ca
A full service digital agency can assist you with any of your WP needs. krishaweb.com
Web developer, WP, HTML, CSS, PHP. uark.edu
I do support. Hire me! kait.blog
I am a technical writer with WP and freelance writing experience. Nicole Plumlee Arguello, sites.uark.edu/blog