Custom Countries

function pw_edd_custom_countries( $countries = array() ) { $countries = array( ‘US’ => ‘United States’, ‘CA’ => ‘Canada’ ); return $countries; } add_filter( ‘edd_countries’, ‘pw_edd_custom_countries’ );Continue reading

Uncanny Groups Course Reports LearnDash Login Timestamp to Date

add_filter( ‘ulgm_group_course_report_user_data’, function ( $user_data, $user_id, $group_id, $course_id ) { $date_format = get_option( ‘date_format’ ); $login_timestamp = get_user_meta( $user_id, ‘learndash-last-login’, true ); // Add additional keys and add data like $user_data[‘learndash-last-login’] = wp_date( $date_format, $login_timestamp ); return $user_data; }, 99,…Continue reading

Get YouTube ID

function theme_get_video_id($url=”){ $url_parts = array(); $video_id = ”; if(!empty($url) && is_string($url)){ if(strpos($url,’youtube.be’) !== false){ $url_parts = explode(‘be/’,$url); }elseif(strpos($url,’?v=’) !== false){ $url_parts = explode(‘?v=’,$url); }elseif(strpos($url,’/v/’) !== false){ $url_parts = explode(‘/v/’,$url); }elseif(strpos($url,’/shorts/’) !== false){ $url_parts = explode(‘/shorts/’,$url); } if(isset($url_parts[0]) && isset($url_parts[1])){ if(strpos($url_parts[1],’?’)…Continue reading

Get YouTube API

function theme_youtube_api($media){ $ids = array(); foreach($media as $m){$ids[] = theme_get_video_id(get_field(‘video_url’,$m->ID));} $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,”https://www.googleapis.com/youtube/v3/videos?part=contentDetails,statistics&id=”.implode(‘,’,$ids).’&key=’.YOUTUBE_APIKEY); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); $output = curl_exec($ch); curl_close($ch); $json = json_decode($output); $info = array(); foreach($json->items as $v){ $o = new stdClass(); $duration = str_replace(array(‘PT’,’H’,’M’,’S’),array(”,’:’,’:’,”),$v->contentDetails->duration); $duration_parts = explode(‘:’,$duration); $pad_parts…Continue reading

Disable Notifications

function disable_all_notifications() { wp_deregister_script(‘wp-notification-script’); } add_action(‘wp_enqueue_scripts’, ‘disable_all_notifications’, 999);Continue reading