Skip to content

Instantly share code, notes, and snippets.

View Robbertvermeulen's full-sized avatar

Robbert Vermeulen Robbertvermeulen

View GitHub Profile
@Robbertvermeulen
Robbertvermeulen / media-warning-fix.php
Created March 4, 2025 09:06
Fix "Undefined array key "width" in /wp-includes/media.php at line 1458" warning.
<?php
/**
* Filter to prevent "Undefined array key 'width'" warning in wp_calculate_image_srcset
*
* @param array $sources The image sources.
* @param array $size_array The size array.
* @param string $image_src The image source URL.
* @param array $image_meta The image meta data.
* @param int $attachment_id The attachment ID.
* @return array Modified image sources.
add_action('rest_api_init', 'register_custom_order_billing_shipping_fields');
function register_custom_order_billing_shipping_fields() {
// Extend billing fields
register_rest_field('shop_order', 'billing', array(
'get_callback' => 'get_order_billing_fields',
'update_callback' => null,
'schema' => null,
));
@Robbertvermeulen
Robbertvermeulen / user-has-role.php
Last active November 26, 2022 08:25
WordPress - User has role
<?php
/**
* Check if a user has a specific role
*/
function user_has_role( string $role, $user_id = null ) {
if ( is_numeric( $user_id ) ) {
$user = get_user_by( 'id', $user_id );
} else {
$user = wp_get_current_user();
@Robbertvermeulen
Robbertvermeulen / get-nav-menu-items-by-location.php
Created November 25, 2022 08:11
WordPress - Get navigation menu items by location
<?php
/**
* Get nav menu items by location
*/
function get_nav_menu_items_by_location( string $location, array $args = [] ) {
$locations = get_nav_menu_locations();
$object = wp_get_nav_menu_object( $locations[$location] );
$menu_items = wp_get_nav_menu_items( $object->name, $args );
return $menu_items;
}
@Robbertvermeulen
Robbertvermeulen / get-page-by-template.php
Last active November 24, 2022 07:22
WordPress - Get page by template
<?php
/**
* Get page by template file name
*/
function get_page_id_by_template( $template ) {
$args = [
'post_type' => 'page',
'fields' => 'ids',
'nopaging' => true,
'meta_key' => '_wp_page_template',
@Robbertvermeulen
Robbertvermeulen / get-first-term-by-id.php
Last active November 24, 2022 07:23
WordPress - Get the first term of a post by ID
<?php
/**
* Get the first term of a post by id
*/
function get_first_term_by_id( int $post_id, string $taxonomy, string $output = 'term_id' ) {
$terms = get_the_terms( $post_id, $taxonomy );
if ( ! empty( $terms ) ){
$term = array_shift( $terms );
}
return $term->$output;
/**
* Registers the improved pages widget
*/
function add_improved_pages_widget() {
register_widget( 'Improved_Pages_Widget' );
}
add_action( 'widget_init', 'add_improved_pages_widget' );