Gossip & News

Katharine McPhee and David Foster: A Timeline of Their Relationship


master mentalism tricks

[]

There’s a song in Katharine McPhee’s heart! The American Idol alum and David Foster were friends for years before they were spotted getting cozy in Malibu in May 2017.

“When Kat talks about David, her face lights up. She’s really so happy. They’re actually so sweet together,” a source exclusively told Us Weekly in November 2017. “They aren’t hiding it anymore. … David is really charming. The age difference might seem substantial to some, but they are really cute together and it makes sense.”

Less than one year later, Us confirmed in July 2018 that the pair were engaged. The duo’s whirlwind romance came as the music producer was finalizing his divorce from Real Housewives of Beverly Hills alum Yolanda Hadid. Meanwhile, McPhee had recently ended her two-year relationship with Scorpion costar Elyes Gabel. Ahead of their own romance, the Waitress star had Foster play the piano at her first wedding to Nick Cokas, whom she split from in 2013 after six years of marriage.

The following year, the twosome exchanged vows in London in June 2019.

“A year ago today I married the love of my life. Thank you for always loving me and inspiring me in all aspects of my life,” McPhee wrote via Instagram in June 2020, celebrating her first wedding anniversary. “I love you. Here’s to the future! (Oh and happy anniversary to the other love of my life – this dreamy dress! thank you @ZacPosen!!).”

{ let bidders = [‘a9’, ‘ix’, ‘iris’]; // create a requestManager to keep track of bidder state to determine when to send ad server // request and what amazonSlots to request from the ad server var requestManager = { adserverRequestSent: false, }; //loop through bidder array and add the bidders to the request manager: bidders.forEach( function( bidder ) { requestManager[bidder] = false; } ); // return true if all bidders have returned function allBiddersBack() { var allBiddersBack = bidders // get the booleans from the object .map( function( bidder ) { return requestManager[bidder]; } ) // get rid of false values – indicates that the bidder has responded .filter( Boolean ) // if length is equal to bidders, all bidders are back .length === bidders.length; return allBiddersBack; } // handler for header bidder responses function headerBidderBack( bidder ) { // return early if request to adserver is already sent if ( requestManager.adserverRequestSent === true ) { return; } // flip bidder back flag if ( bidder === ‘a9’ ) { requestManager.a9 = true; console.log(‘second promise a9 ready’); } else if ( bidder === ‘ix’ ) { requestManager.ix = true; console.log(‘second promise ix ready’); } else if ( bidder === ‘iris’ ) { requestManager.iris = true; console.log(‘second promise iris ready’); } // if all bidders are back, send the request to the ad server if ( allBiddersBack() ) { resolve( url ); } } if ( typeof apstag == ‘object’ && apstag ) { apstag.fetchBids({ slots: [{ slotID: window.prerollTag[vHash], mediaType: ‘video’ }] }, function( bids ) { console.log( “AMI jwp amazon bid callback”, new Date().getTime(), bids ); window.jwpBids[vHash].amazon = true; if ( bids.length > 0 ) { //If we have received any bids back try { console.log(“AMI jwp amazon bid request ad”, bids[0].encodedQsParams); url = url + ‘&scp=’ + bids[0].encodedQsParams; } catch ( e ) { console.log(e); } } else { console.log(“AMI jwp amazon no bids”); } headerBidderBack(‘a9’); }); } else { headerBidderBack(‘a9’); } headertag.cmd.push( function() { headertag.retrieveVideoDemand( [{‘htSlotName’: ‘preroll’}], function( demand ) { console.log( “AMI jwp IX callback”, demand ); if ( ‘undefined’ !== typeof demand.preroll && demand.preroll.length ){ window.jwpBids[vHash].ixBids = demand.preroll[0].targeting.price; console.log( ‘AMI jwp IX Bids’, new Date().getTime(), demand.preroll[0].targeting ); var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } var keys = Object.keys( demand.preroll[0].targeting.price ); for ( var key of keys ) { custParams.set( key, demand.preroll[0].targeting.price[key][0]); } vastParams.set( ‘cust_params’, custParams.toString() ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘ix’); } ); } ); // Get main item context data window.irisContext.getContext(jwplayer(el).getPlaylistItem().mediaid).then(function(data) { // Encode the context data console.log( ‘AMI jwp IrisTV Bids’, new Date().getTime(), data.context ); // Replace the server url with the context data (this is for simple ad requests), // If you have the serverUrl dynamically configured, then you will need to append the context data // under cust_params, so this is just for testing purpose if ( data.context && Object.keys( data.context ).length ) { var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } custParams.set( ‘iris_context’, data.context.join(‘,’)); vastParams.set( ‘cust_params’, decodeURIComponent( custParams.toString() ) ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘iris’); }); setTimeout(function(){ resolve( url ); }, 10000); }); } var player_jwplayer_KvD3Go8N_l3ahXupL_div = jwplayer(el).setup(videoParams).on(“ready”, function(){ var el = decodeURIComponent( “jwplayer_KvD3Go8N_l3ahXupL_div” ); var playerInstance = jwplayer(el); ns_.StreamingAnalytics.JWPlayer( playerInstance, { publisherId: “6036076”, labelmapping: “ns_st_pu=”AMI”, c3=”Us Weekly”, ns_st_ge=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ia=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ce=”” + decodeURIComponent( “1” ) + “”, ns_st_ddt=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_tdt=”” + decodeURIComponent( “%2Anull” ) + “””, }); }).on(‘adsManager’, (e) => { var vHash = ‘ami’ + decodeURIComponent( ‘KvD3Go8N’ ); const { adsManager, videoElement } = e; const iasConfig = { anId: ‘928572’, campId: `${jwplayer().getWidth()}x${jwplayer().getHeight()}`, // This is dynamic based on player dimensions, but can be hard coded chanId: window.prerollTag[vHash], placementId: ‘Open Auction’, pubOrder: ‘Video’, pubId: ‘Direct’ }; if (googleImaVansAdapter) { googleImaVansAdapter.init(window.google, adsManager, videoElement, iasConfig); } }).on( ‘time’, function( e ) { var id = this.id; var pct = Math.round( e.position ); if ( ! window.amiPlayersData ) { window.amiPlayersData = {}; } if ( ! window.amiPlayersData[id] ) { window.amiPlayersData[id] = { m3: false, m10: false }; } if ( window.amiPlayersData[id][‘m3’] === false && pct >= 3 ) { window.amiPlayersData[id][‘m3’] = true; console.log( ‘3sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ‘3s played’} ); } if ( window.amiPlayersData[id][‘m10’] === false && pct >= 10 ) { window.amiPlayersData[id][‘m10’] = true; console.log( ’10sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ’10s played’} ); } }).on( ‘complete’, function( e ) { if ( window.amiPlayersData && window.amiPlayersData[ this.id ] ) { window.amiPlayersData[ this.id ][‘m3’] = false; window.amiPlayersData[ this.id ][‘m10’] = false; console.log( ‘clear played: ‘, this.id ); } }).once(“play”, function(){ var el = decodeURIComponent( “jwplayer_KvD3Go8N_l3ahXupL_div” ); var playerInstance = jwplayer(el); loadIrisPlugin(playerInstance, playerInstance.getConfig().plugins[“https://ovp.iris.tv/plugins/jwplayer/v2/iris-jwplayer8.adaptive.min.js”]) }).on(‘play’, (e) => { var el = decodeURIComponent( “jwplayer_KvD3Go8N_l3ahXupL_div” ); var vHash = “ami” + decodeURIComponent( “KvD3Go8N” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “KvD3Go8N” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language:”English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video play”); }).on(‘complete’, (e) => { var el = decodeURIComponent( “jwplayer_KvD3Go8N_l3ahXupL_div” ); var vHash = “ami” + decodeURIComponent( “KvD3Go8N” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoComplete”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “KvD3Go8N” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video event:”, e); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; }).on(‘time’, (e) => { var el = decodeURIComponent( “jwplayer_KvD3Go8N_l3ahXupL_div” ); var vHash = “ami” + decodeURIComponent( “KvD3Go8N” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.currentTime/e.duration).toFixed(2); if ( (0.25 === progress && false === window.lock_25) || (0.5 === progress && false === window.lock_50) || (0.75 === progress && false === window.lock_75) || (100 === progress && false === window.lock_100) ) { window.permutive.track(“VideoProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “KvD3Go8N” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 === progress ) { window.lock_25 = true; } if ( 0.5 === progress ) { window.lock_50 = true; } if ( 0.75 === progress ) { window.lock_75 = true; } if ( 1 === progress ) { window.lock_100 = true; } console.log(“Permutive video play progress ” + progress); } }).on(‘mute’, (e) => { var el = decodeURIComponent( “jwplayer_KvD3Go8N_l3ahXupL_div” ); var vHash = “ami” + decodeURIComponent( “KvD3Go8N” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.mute) ? “sound off” : “sound on”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “KvD3Go8N” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘fullscreen’, (e) => { var el = decodeURIComponent( “jwplayer_KvD3Go8N_l3ahXupL_div” ); var vHash = “ami” + decodeURIComponent( “KvD3Go8N” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.fullscreen) ? “fullscreen on” : “fullscreen off”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “KvD3Go8N” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘ready’, (e) => { var el = decodeURIComponent( “jwplayer_KvD3Go8N_l3ahXupL_div” ); var vHash = “ami” + decodeURIComponent( “KvD3Go8N” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); console.log(jwInfo); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; window.permutive.track(“VideoLoad”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “KvD3Go8N” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video load event”); }).on(‘adPlay’, (e) => { var el = decodeURIComponent( “jwplayer_KvD3Go8N_l3ahXupL_div” ); var vHash = “ami” + decodeURIComponent( “KvD3Go8N” ); window.adInfo = e; var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.adlock_25 = false; window.adlock_50 = false; window.adlock_75 = false; window.adlock_100 = false; window.permutive.track(“VideoAdPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “KvD3Go8N” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad play”); }).on(‘adClick’, (e) => { var el = decodeURIComponent( “jwplayer_KvD3Go8N_l3ahXupL_div” ); var vHash = “ami” + decodeURIComponent( “KvD3Go8N” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoAdClick”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “KvD3Go8N” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad click”); }).on(‘adTime’, (e) => { var el = decodeURIComponent( “jwplayer_KvD3Go8N_l3ahXupL_div” ); var vHash = “ami” + decodeURIComponent( “KvD3Go8N” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.position/e.duration).toFixed(2); if ( (0.25 >= progress && false === window.adlock_25) || (0.5 >= progress && false === window.adlock_50) || (0.75 >= progress && false === window.adlock_75) || (0.95 >= progress && false === window.adlock_100) ) { window.permutive.track(“VideoAdProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “KvD3Go8N” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 >= progress ) { window.adlock_25 = true; } if ( 0.5 >= progress ) { window.adlock_50 = true; } if ( 0.75 >= progress ) { window.adlock_75 = true; } if ( 0.95 >= progress ) { window.adlock_100 = true; } console.log(“Permutive video ad progress ” + progress); } }).setPlaylistItemCallback(function(item, index) { return waitForAmazon // Wait until Amazon is loaded. .then(() => performAsyncBidding( player_jwplayer_KvD3Go8N_l3ahXupL_div, item, index ), () => { console.log(“AMI JWP bidding FAILER”); }) // External bidding. .then(tag => { // Update the playlist item. console.log(“AMI jwp new headerbid”, tag); return Object.assign({}, item, { adschedule: [{ tag, offset: “pre” }] }); }).catch(function(e){ console.log(“AMI jwp bidding failed”, e); return item; }); // If bidding fails, use unmodified playlist item. });; clearInterval(checkJWReady); } }, 500); })(); ]]>

The following month, Foster gushed about his wife, telling Us exclusively, “She’s really magical and able to float in and out of all the family dynamics. It’s amazing to watch because that’s a huge talent — being able to navigate my life.”

Us confirmed in October 2020 that the Smash alum was expecting her first child with Foster, who has five daughters from his previous relationships.

One day later, McPhee seemingly confirmed the pregnancy news while talking about alcohol on her Instagram Story. “Thank you, Aperol Spritz,” the Country Comfort star said in the video, showing off the liquor gift. “I won’t be drinking this anytime soon, wink, wink. But, I’m very excited! Who’s coming over for an Italian-inspired cocktail?”

The duo welcomed their son four months later. “Kat McPhee and David Foster are the proud parents of a baby boy,” the Los Angeles native’s rep told Us in February 2021. A source added, “Everything went well. Mom and baby are healthy.”

Scroll down to take a look back at McPhee and Foster’s love story:

Read The Full Article Here


trick photography
These 18 Old Hollywood Confessions Are So Wild I Cant Stop Thinking About Them
These 18 Old Hollywood Confessions Are So Wild I Cant Stop Thinking About Them
15 Celebrities Who Have Opened Up About Their Heartbreaking Experiences With Grief
15 Celebrities Who Have Opened Up About Their Heartbreaking Experiences With Grief
Kelly Clarksons Interaction With Idiot Shopkeeper Revealed in Brooklyn Stores CCTV Footage
Kelly Clarksons Interaction With Idiot Shopkeeper Revealed in Brooklyn Stores CCTV Footage
Breaking Bad Star RJ Mittes Ex-Girlfriend Saint Sasha Breaks Silence After His Death by Suicide
Breaking Bad Star RJ Mittes Ex-Girlfriend Saint Sasha Breaks Silence After His Death by Suicide
Callina Liang Has a Secret Real-Life Connection to Her Street Fighter Character Chun-Li
Callina Liang Has a Secret Real-Life Connection to Her Street Fighter Character Chun-Li
Klara and the Sun review – send it back to the factory
Klara and the Sun review – send it back to the factory
Programmers Picks from the Breeze Film Festival
Programmers Picks from the Breeze Film Festival
General Hospitals Robert Kelker-Kellys Final Hours Before Death Detailed in Police Report
General Hospitals Robert Kelker-Kellys Final Hours Before Death Detailed in Police Report
25 Years Ago Today: The WB Premiered One Of TVs Most Successful Superhero Shows – TVLine
25 Years Ago Today: The WB Premiered One Of TVs Most Successful Superhero Shows – TVLine
9-1-1 Season 10 Premiere Reveals Bucks Problems With Theo & Volcano Precursors
9-1-1 Season 10 Premiere Reveals Bucks Problems With Theo & Volcano Precursors
Love Comes Softly, New Series Adaptation Of When Calls The Heart Authors Books, Reveals Cast Ahead Of 2027 Premiere — Exclusive First Look – TVLine
Love Comes Softly, New Series Adaptation Of When Calls The Heart Authors Books, Reveals Cast Ahead Of 2027 Premiere — Exclusive First Look – TVLine
Is Abbott Elementary Gearing Up for a General Hospital Crossover?
Is Abbott Elementary Gearing Up for a General Hospital Crossover?
A$AP Rocky Recruits Jeremih and Reggie for Shroom Clouds
A$AP Rocky Recruits Jeremih and Reggie for Shroom Clouds
Zach Bryans Young Manhood and Other Donatable Organs: Every Song Ranked
Zach Bryans Young Manhood and Other Donatable Organs: Every Song Ranked
Danny Elfman Says Tool Album Helped Him Endure the Pain of His Multiple Tattoos
Danny Elfman Says Tool Album Helped Him Endure the Pain of His Multiple Tattoos
How Much Did Turnstile & Rosalías SNL Appearances Help Their Streaming Numbers?
How Much Did Turnstile & Rosalías SNL Appearances Help Their Streaming Numbers?
Interview with Zeke Freeman, Author of Radical Hospitality – NewInBooks
Interview with Zeke Freeman, Author of Radical Hospitality – NewInBooks
Interview with R.T.J. Tan, Author of Morsel of Flesh – NewInBooks
Interview with R.T.J. Tan, Author of Morsel of Flesh – NewInBooks
New Romance Books to Read | October 13 – NewInBooks
New Romance Books to Read | October 13 – NewInBooks
New Mystery and Thriller Books to Read | October 13 – NewInBooks
New Mystery and Thriller Books to Read | October 13 – NewInBooks
15 Sunglasses For Fall, From Editor-Loved Styles to Celebrity-Approved Frames
15 Sunglasses For Fall, From Editor-Loved Styles to Celebrity-Approved Frames
I Put Kylie Jenners Meta Glasses to the Test and I Have Thoughts
I Put Kylie Jenners Meta Glasses to the Test and I Have Thoughts
I Tested This Viral Luxury Fashion Rental App and It's a Wardrobe Game-Changer
I Tested This Viral Luxury Fashion Rental App and It's a Wardrobe Game-Changer
10 Meta Glasses That Combine AI and Fashion, Including My New Favorite Pair
10 Meta Glasses That Combine AI and Fashion, Including My New Favorite Pair
This Week in Horror: Hulu Orders The X-Files and the OConnells Return
This Week in Horror: Hulu Orders The X-Files and the OConnells Return
Halloween: The Game Adds Tower Farm Free on October 27
Halloween: The Game Adds Tower Farm Free on October 27
Ryan Cooglers X-Files Reboot Gets a Hulu Series Order
Ryan Cooglers X-Files Reboot Gets a Hulu Series Order
Devour Review: Great Monsters, Bad Choices
Devour Review: Great Monsters, Bad Choices