WPEX Tetris REST Meta Integration

if(!function_exists(‘wpex_register_universal_media_meta’)){ function wpex_register_universal_media_meta(){ $media_meta_fields=array( ‘universal_local_image_attachment_ids’, ‘universal_local_audio_attachment_ids’, ‘universal_local_video_attachment_ids’, ); $post_types=get_post_types(array(‘public’=>true)); foreach($post_types as $post_type){ if(post_type_supports($post_type,’post-formats’)){ foreach($media_meta_fields as $meta_key){ if(!registered_meta_key_exists(‘post’,$meta_key,$post_type)){ register_post_meta($post_type,$meta_key,array( ‘type’=>’array’, ‘single’=>true, ‘default’=>array(), ‘show_in_rest’=>array( ‘schema’=>array( ‘type’=>’array’, ‘items’=>array(‘type’=>’integer’), ), ), ‘sanitize_callback’=>function($value){ return is_array($value)?array_map(‘absint’,$value):array(); }, ‘auth_callback’=>function($allowed,$meta_key,$post_id,$user_id,$cap,$caps){ return current_user_can(‘edit_post’,$post_id); }, )); } } } }…Continue reading

ACF Controle kledingtype → producttype

/** * Controle: producten met oude of nieuwe veldnaam tonen * Resultaat zichtbaar via: /?dv_acf_check=1 */ add_action( ‘init’, function() { // Alleen uitvoeren wanneer je de URL opent met ?dv_acf_check=1 if ( ! isset( $_GET[‘dv_acf_check’] ) ) { return; }…Continue reading

Eenmalige migratie: kledingtype → producttype

/** * Eenmalige migratie: kledingtype → producttype */ add_action(‘init’, function() { // Alle producten ophalen $products = get_posts([ ‘post_type’ => ‘product’, ‘posts_per_page’ => -1, ‘fields’ => ‘ids’ ]); foreach ( $products as $product_id ) { // Oude waarde ophalen $old_value…Continue reading

Auteur Display

/** * Toon altijd de weergavenaam (display_name) in plaats van * de gebruikersnaam of nicename in auteurvermeldingen. */ add_filter( ‘get_the_author_user_login’, ‘dv_author_display_name’, 10, 3 ); add_filter( ‘get_the_author_user_nicename’, ‘dv_author_display_name’, 10, 3 ); add_filter( ‘get_the_author_nickname’, ‘dv_author_display_name’, 10, 3 ); function dv_author_display_name( $value, $user_id,…Continue reading

Untitled Snippet

// MDB-SOP-2026-09-HOSTREDIRECT v1.0 // Belt-and-braces host redirect. Kinsta’s edge rule (minervadb.xyz ^(.*)$ -> https://minervadb.com$1) // is not applied to every client: GSC live test on 2026-09-11 returned 200 OK for Googlebot on // inner .xyz URLs. This guarantees a 301…Continue reading

Automatically Trash Past Events

/** * Move past events to the trash on a daily schedule. * * Sites that have run for years accumulate thousands of finished events. They * stay in every admin view and every query, and past a few hundred…Continue reading

Add Your Own Custom Fields to Events

/** * Add your own fields to the event editor and show them on the event page. * * Sugar Calendar has no custom-fields UI. This adds one: edit the array in * sc_snippets_custom_event_fields() and each entry becomes a field…Continue reading