• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Simply Home Cooking

  • Homepage
  • Recipe Index
  • Budget
  • Cheat Meal
  • Healthy
  • Keto
  • Quick
  • Vegan
  • Contact
  • About

Simply Home Cooking

  • Homepage
  • Recipe Index
  • Budget
  • Cheat Meal
  • Healthy
  • Keto
  • Quick
  • Vegan
  • Contact
  • About
Keto / Dessert / Pecan Pie Cheesecake

Pecan Pie Cheesecake

June 26, 2026 by Tiffany

Jump to Recipe·Print Recipe

If you’re looking for a show-stopping dessert that combines the best of both worlds, this Pecan Pie Cheesecake is just what you need. Imagine the creamy richness of cheesecake paired with the sweet, nutty delight of pecan pie — it’s truly a match made in dessert heaven! This recipe is perfect for family gatherings, holiday celebrations, or whenever you want to impress your guests with something special.

Pecan Pie Cheesecake image 2

What makes this pecan pie cheesecake so beloved is its delightful layers of flavor and texture. The graham cracker crust provides a satisfying crunch, while the cinnamon pecan filling swirls beautifully into the smooth brown sugar cheesecake. It’s a comforting treat that brings warmth to any occasion!

Pecan Pie Cheesecake image 3
Pecan Pie Cheesecake image 4

Why You’ll Love This Recipe

  • Decadent Flavor: This dessert offers an indulgent blend of creamy and crunchy textures that will leave everyone wanting more.
  • Family-Friendly: With its rich flavor profile, this cheesecake is sure to be a hit with both kids and adults alike!
  • Make-Ahead Convenience: You can prepare it in advance, allowing you to enjoy more time with your loved ones on special occasions.
  • Perfect for Celebrations: Whether it’s Thanksgiving or a cozy family dinner, this cake adds a festive touch to any table.
  • Versatile Serving Options: Serve it chilled or at room temperature; it’s delicious either way!

Ingredients You’ll Need

This pecan pie cheesecake uses simple and wholesome ingredients that are easy to find. Let’s gather everything we need for this delightful treat!

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

For the Crust

  • 2 1/2 cups Graham cracker crumbs (equal to 2 full packets of graham crackers, fine crumb)
  • 1/4 cup Brown sugar (packed light or dark)
  • 10 TBSP Unsalted butter (melted)

For the Filling

  • 1 1/2 cups Brown sugar (packed light or dark)
  • 2 tsp Ground cinnamon
  • 1 1/2 cups Heavy cream
  • 2 1/2 cups Pecans (chopped into larger pieces)
  • 24 oz Cream cheese (room temperature)
  • 3/4 cup Brown sugar (packed light or dark)
  • 1/2 cup Sour cream (room temperature)
  • 1/2 cup Heavy cream (room temperature)
  • 1 tsp Pure vanilla extract
  • 4 Large eggs (room temperature)

Variations

This recipe is wonderfully flexible! Here are some fun ideas to customize your Pecan Pie Cheesecake:

  • Try Different Nuts: Swap out pecans for walnuts or almonds for a unique twist on flavor and texture.
  • Add Chocolate: Incorporate chocolate chips into the batter or drizzle melted chocolate on top for an extra indulgence.
  • Go Vegan: Use plant-based cream cheese and coconut cream instead of heavy cream for a vegan-friendly version.
  • Infuse Some Flavor: Add a splash of maple syrup or bourbon extract for extra depth in flavor without using alcohol.

How to Make Pecan Pie Cheesecake

Step 1: Prepare the Crust

Start by preheating your oven to 350°F (175°C). In a mixing bowl, combine the graham cracker crumbs, brown sugar, and melted butter. Press this mixture firmly into the bottom of a greased springform pan. This crust will add that essential crunch and sweetness that contrasts beautifully with the creamy filling. Bake it for about 10 minutes until lightly golden.

Step 2: Make the Filling

In another bowl, beat together the room temperature cream cheese and brown sugar until smooth and creamy. Adding sour cream will enhance the richness while keeping it light. Mix in heavy cream, eggs, and vanilla extract until well-combined. The key here is to mix until just combined; overmixing can lead to cracks in your cheesecake!

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

Step 3: Fold in Pecan Mixture

In yet another bowl, toss chopped pecans with ground cinnamon and additional brown sugar. Gently fold half of this mixture into your cheesecake filling; this step ensures every slice has delightful pockets of pecan goodness throughout.

Step 4: Assemble and Bake

Pour half of the cheesecake filling over your prepared crust, followed by drizzling with half of the remaining pecan mixture. Then pour over the rest of your cheesecake filling before topping it off with any remaining pecans. Bake in the preheated oven for about 75 minutes until set but still slightly jiggly in the center — it will continue to firm up as it cools.

Step 5: Cool and Serve

Allow your cheesecake to cool in the pan for at least an hour before transferring it to chill completely in the refrigerator for several hours or overnight if possible. This chilling time allows flavors to meld beautifully! When you’re ready to serve, slice into generous pieces and watch everyone’s faces light up as they dig into this spectacular dessert!

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

Pro Tips for Making Pecan Pie Cheesecake

Creating the perfect pecan pie cheesecake is a delightful journey, and these tips will help you achieve a delicious result!

  • Use Room Temperature Ingredients: Ensuring that your cream cheese, eggs, and sour cream are at room temperature helps them blend smoothly, resulting in a creamy texture without lumps.

  • Don’t Overmix the Batter: Mixing too much can incorporate excess air, leading to cracks in your cheesecake as it bakes. Mix until just combined for the best results.

    REMEMBER

    WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

    PIN
  • Bake with a Water Bath: Placing your cheesecake pan in a larger pan filled with water helps regulate the temperature, preventing cracks and creating an even baking environment.

  • Cool Gradually: After baking, let your cheesecake cool in the oven with the door slightly ajar. This gradual cooling process minimizes the chances of cracking due to sudden temperature changes.

  • Chill Overnight: For the best flavor and texture, refrigerate your cheesecake overnight before serving. This allows the flavors to meld beautifully and gives it time to fully set.

    REMEMBER

    WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

    PIN

How to Serve Pecan Pie Cheesecake

Presenting your pecan pie cheesecake beautifully can make all the difference when serving this indulgent dessert. Here are some ideas to elevate your presentation!

Garnishes

  • Whipped Cream: A dollop of freshly whipped cream on top adds lightness and enhances the richness of the cheesecake.
  • Toasted Pecans: Sprinkle some toasted pecans on top for added crunch and a beautiful visual contrast.
  • Caramel Drizzle: A drizzle of caramel sauce can complement the flavors perfectly and add an elegant touch.

Side Dishes

  • Fresh Fruit Salad: A mix of seasonal fruits provides a refreshing contrast that balances out the richness of the cheesecake.
  • Vanilla Ice Cream: The creaminess of vanilla ice cream pairs wonderfully with warm slices of pecan pie cheesecake for a comforting treat.
  • Coffee or Tea: Serving with a cup of freshly brewed coffee or herbal tea can enhance the overall experience and provide a nice palate cleanser.
  • Chocolate Sauce: For those who love chocolate, offering a side of chocolate sauce creates an indulgent pairing that many will enjoy!

Make Ahead and Storage

This Pecan Pie Cheesecake is perfect for meal prep, allowing you to enjoy a delicious dessert without the last-minute rush. Here are some tips for storing and enjoying this treat later!

Storing Leftovers

  • Store leftover cheesecake slices in an airtight container in the refrigerator.
  • It will keep well for up to 5 days.
  • If you need to stack slices, place parchment paper between them to prevent sticking.

Freezing

  • Wrap individual slices tightly in plastic wrap, then place them in a freezer-safe container.
  • You can freeze the cheesecake for up to 3 months.
  • For best results, thaw in the refrigerator overnight before serving.

Reheating

  • There’s no need to reheat pecan pie cheesecake; it’s best enjoyed chilled.
  • If you prefer it slightly warm, let it sit at room temperature for about 30 minutes before serving.

FAQs

Can I make Pecan Pie Cheesecake ahead of time?

Absolutely! You can prepare this cheesecake a day or two before serving. It actually tastes even better after the flavors have had time to meld together.

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

How do I store leftover Pecan Pie Cheesecake?

Store any leftovers in an airtight container in the refrigerator for up to 5 days. You can also freeze individual slices for longer storage.

What if I don’t have graham crackers?

You can use crushed vanilla wafers or digestive biscuits as a substitute for the graham cracker crust. Both options will complement the flavors beautifully!

Can I use different nuts instead of pecans?

Yes! While pecans are traditional, you can substitute walnuts or almonds if you prefer a different nut flavor. Just keep in mind that this will change the overall taste of the cheesecake.

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

How long does it take to make Pecan Pie Cheesecake?

The total time to make this cheesecake is about 510 minutes, which includes both prep and cooking time. However, it’s well worth the wait!

Final Thoughts

I hope you enjoy making this Pecan Pie Cheesecake as much as I do! It’s a delightful twist on two classic desserts that’s sure to impress your family and friends. Don’t hesitate to get creative with your toppings or variations—this cheesecake is truly special. Happy baking!

Print

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

Pecan Pie Cheesecake

Print Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

No reviews

Indulge in the heavenly layers of this Pecan Pie Cheesecake that combines the rich creaminess of cheesecake with the sweet, nutty essence of pecan pie. Perfect for family gatherings or holiday celebrations, this dessert is a delightful treat that will leave your guests impressed. The crunchy graham cracker crust contrasts beautifully with the smooth brown sugar cheesecake and cinnamon-pecan filling, creating an unforgettable experience for every palate. With its make-ahead convenience and versatile serving options, you can enjoy more time with loved ones while still presenting a stunning dessert. Get ready to savor every bite!

  • Author: Tiffany
  • Prep Time: 30 minutes
  • Cook Time: 75 minutes
  • Total Time: 1 hour 45 minutes
  • Yield: Serves approximately 12 1x
  • Category: Dessert
  • Method: Baking
  • Cuisine: American

Ingredients


Scale
  • 2 1/2 cups graham cracker crumbs
  • 1/4 cup brown sugar
  • 10 tablespoons unsalted butter (melted)
  • 1 1/2 cups packed brown sugar
  • 2 teaspoons ground cinnamon
  • 1 1/2 cups heavy cream
  • 2 1/2 cups chopped pecans
  • 24 ounces cream cheese (room temperature)
  • 3/4 cup packed brown sugar
  • 1/2 cup sour cream (room temperature)
  • 1 teaspoon pure vanilla extract
  • 4 large eggs (room temperature)

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

Instructions

  1. Preheat your oven to 350°F (175°C). In a mixing bowl, combine the graham cracker crumbs, brown sugar, and melted butter. Press firmly into the bottom of a greased springform pan. Bake for about 10 minutes until lightly golden.
  2. In another bowl, beat together room temperature cream cheese and brown sugar until smooth. Mix in sour cream, heavy cream, eggs, and vanilla extract until just combined.
  3. Toss chopped pecans with ground cinnamon and additional brown sugar in a separate bowl. Gently fold half into the cheesecake mixture.
  4. Pour half of the batter over the crust; drizzle with half of the remaining pecan mix. Add the remaining batter and top with leftover pecans. Bake for approximately 75 minutes until set but slightly jiggly in the center.
  5. Let cool for an hour before transferring to chill in the refrigerator for several hours or overnight.

Nutrition

  • Serving Size: 1 slice (120g)
  • Calories: 370
  • Sugar: 28g
  • Sodium: 250mg
  • Fat: 24g
  • Saturated Fat: 14g
  • Unsaturated Fat: 8g
  • Trans Fat: 0g
  • Carbohydrates: 36g
  • Fiber: 2g
  • Protein: 6g
  • Cholesterol: 95mg

Did you make this recipe?

Share a photo and tag us — we can’t wait to see what you’ve made!

window.trCommon={“minRating”:6,”ajaxurl”:”https:\/\/simplyhomecooking.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:”fdfc9d7961″,”postId”:9380};
window.TastyRecipes = window.TastyRecipes || {};

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

window.TastyRecipes.smoothScroll = {
init() {
document.addEventListener( ‘click’, ( e ) => {
let anchor = e.target;
if ( anchor.tagName !== ‘A’ ) {
anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ );
}

if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
return;
}

const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: ‘smooth’ } );
}
};

document.addEventListener(
‘DOMContentLoaded’,
() => window.TastyRecipes.smoothScroll.init()
);

(function(){

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

var bothEquals = function( d1, d2, D ) {
var ret = 0;
if (d1<=D) {
ret++;
}
if (d2<=D) {
ret++;
}
return ret === 2;
};

var frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1){while(bothEquals(d1,d2,D)){var m=(n1+n2)/(d1+d2);if(x===m){if(d1+d2d2){d2=D+1;}else {d1=D+1;}break}else if(xD){d1=d2;n1=n2}if(!mixed){return[0,n1,d1];}var q=Math.floor(n1/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-AD){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed){return[0,sgn*P,Q];}var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]};

window.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(“%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D”));

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

window.tastyRecipesFormatAmount = function(amount, el) {
if ( parseFloat( amount ) === parseInt( amount ) ) {
return amount;
}
var roundType = ‘frac’;
if (typeof el.dataset.amountShouldRound !== ‘undefined’) {
if (‘false’ !== el.dataset.amountShouldRound) {
if ( ‘number’ === el.dataset.amountShouldRound ) {
roundType = ‘number’;
} else if (‘frac’ === el.dataset.amountShouldRound) {
roundType = ‘frac’;
} else if (‘vulgar’ === el.dataset.amountShouldRound) {
roundType = ‘vulgar’;
} else {
roundType = ‘integer’;
}
}
}
if (‘number’ === roundType) {
amount = Number.parseFloat(amount).toPrecision(2);
} else if (‘integer’ === roundType) {
amount = Math.round(amount);
} else if (‘frac’ === roundType || ‘vulgar’ === roundType) {
var denom = 8;
if (typeof el.dataset.unit !== ‘undefined’) {
var unit = el.dataset.unit;
if ([‘cups’,’cup’,’c’].includes(unit)) {
denom = 4;
if (0.125 === amount) {
denom = 8;
}
if (“0.1667″ === Number.parseFloat( amount ).toPrecision(4)) {
denom = 6;
}
}
if ([‘tablespoons’,’tablespoon’,’tbsp’].includes(unit)) {
denom = 2;
}
if ([‘teaspoons’,’teaspoon’,’tsp’].includes(unit)) {
denom = 8;
}
}
var amountArray = frac.cont( amount, denom, true );
var newAmount = ”;
if ( amountArray[1] !== 0 ) {
newAmount = amountArray[1] + ‘/’ + amountArray[2];
if (‘vulgar’ === roundType) {
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {
newAmount = vulgar;
}
});
}
}
if ( newAmount ) {
newAmount = ‘ ‘ + newAmount;
}
if ( amountArray[0] ) {
newAmount = amountArray[0] + newAmount;
}
amount = newAmount;
}
return amount;
};

window.tastyRecipesUpdatePrintLink = () => {

const printButton = document.querySelector( ‘.tasty-recipes-print-button’ );

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

if ( ! printButton ) {
return;
}

const printURL = new URL( printButton.href );
const searchParams = new URLSearchParams( printURL.search );

const unitButton = document.querySelector( ‘.tasty-recipes-convert-button-active’ );
const scaleButton = document.querySelector( ‘.tasty-recipes-scale-button-active’ );

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

let unit = ”;
let scale = ”;

if ( unitButton ) {
unit = unitButton.dataset.unitType;
searchParams.delete(‘unit’);
searchParams.set( ‘unit’, unit );
}

if ( scaleButton ) {
scale = scaleButton.dataset.amount;
searchParams.set( ‘scale’, scale );
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

const paramString = searchParams.toString();
const newURL = ” === paramString ? printURL.href : printURL.origin + printURL.pathname + ‘?’ + paramString;
const printLinks = document.querySelectorAll( ‘.tasty-recipes-print-link’ );

printLinks.forEach( ( el ) => {
el.href = newURL;
});

const printButtons = document.querySelectorAll( ‘.tasty-recipes-print-button’ );
printButtons.forEach( ( el ) => {
el.href = newURL;
});
};

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

document.addEventListener( ‘DOMContentLoaded’, () => {

if ( ! window.location.href.includes( ‘/print/’ ) ) {
return;
}

const searchParams = new URLSearchParams( window.location.search );

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

const unit = searchParams.get( ‘unit’ );
const scale = searchParams.get( ‘scale’ );

if ( unit && ( ‘metric’ === unit || ‘usc’ === unit ) ) {
document.querySelector( ‘.tasty-recipes-convert-button[data-unit-type=”‘ + unit + ‘”]’ ).click();
}

if ( scale && Number(scale) > 0 ) {
document.querySelector( ‘.tasty-recipes-scale-button[data-amount=”‘ + Number(scale) + ‘”]’ ).click();
}
});
}());

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

(function(){
var buttonClass = ‘tasty-recipes-scale-button’,
buttonActiveClass = ‘tasty-recipes-scale-button-active’,
buttons = document.querySelectorAll(‘.tasty-recipes-scale-button’);
if ( ! buttons ) {
return;
}

buttons.forEach(function(button){
button.addEventListener(‘click’, function(event){
event.preventDefault();
var recipe = event.target.closest(‘.tasty-recipes’);
if ( ! recipe ) {
return;
}
var otherButtons = recipe.querySelectorAll(‘.’ + buttonClass);
otherButtons.forEach(function(bt){
bt.classList.remove(buttonActiveClass);
});
button.classList.add(buttonActiveClass);

var scalables = recipe.querySelectorAll(‘span[data-amount]’);
var buttonAmount = parseFloat( button.dataset.amount );
scalables.forEach(function(scalable){
if (typeof scalable.dataset.amountOriginalType === ‘undefined’
&& typeof scalable.dataset.nfOriginal === ‘undefined’) {
if (-1 !== scalable.innerText.indexOf(‘/’)) {
scalable.dataset.amountOriginalType = ‘frac’;
}
if (-1 !== scalable.innerText.indexOf(‘.’)) {
scalable.dataset.amountOriginalType = ‘number’;
}
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (-1 !== scalable.innerText.indexOf(vulgar)) {
scalable.dataset.amountOriginalType = ‘vulgar’;
}
});
if (typeof scalable.dataset.amountOriginalType !== ‘undefined’) {
scalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;
}
}
var amount = parseFloat( scalable.dataset.amount ) * buttonAmount;
amount = window.tastyRecipesFormatAmount(amount, scalable);
if ( typeof scalable.dataset.unit !== ‘undefined’ ) {
if ( ! scalable.classList.contains(‘nutrifox-quantity’) ) {
if ( ! scalable.classList.contains(‘nutrifox-second-quantity’) ) {
amount += ‘ ‘ + scalable.dataset.unit;
}
}
}
scalable.innerText = amount;
});

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

var nonNumerics = recipe.querySelectorAll(‘[data-has-non-numeric-amount]’);
nonNumerics.forEach(function(nonNumeric){
var indicator = nonNumeric.querySelector(‘span[data-non-numeric-label]’);
if ( indicator ) {
nonNumeric.removeChild(indicator);
}
if ( 1 !== buttonAmount ) {
indicator = document.createElement(‘span’);
indicator.setAttribute(‘data-non-numeric-label’, true);
var text = document.createTextNode(‘ (x’ + buttonAmount + ‘)’);
indicator.appendChild(text);
nonNumeric.appendChild(indicator);
}
});

window.tastyRecipesUpdatePrintLink();
});
});
}());

window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: ‘.tasty-recipes-cook-mode’,
init() {
if (“wakeLock” in navigator && “request” in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

const cookModes = document.querySelectorAll(this.cookModeSelector);

if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(“change”, event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request(“screen”);
this.wakeLock.addEventListener(“release”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
document.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}

this.deleting = true;
this.tooltipElement.classList.remove( ‘opened’ );

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );

const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}

this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
},
show() {
if ( ! this.tooltipElement ) {
return;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );

this.tooltipElement.setAttribute( ‘style’, ‘top:’ + tooltipTop + ‘px;left:’ + posLeft + ‘px;’ );
this.tooltipElement.classList.add( ‘opened’ );

},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( ‘tr-hide-tail’ );
} else {
this.tooltipElement.classList.remove( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.send( this.preparePostData( data ) );

xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}

failure( xhr );
};

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();

for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};

window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( ratings.length {
event.preventDefault();
this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click’, e => {
// Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself.
if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}

window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( rating ) {
const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click’, currentEvent => {
const selectedRating = currentEvent.target.getAttribute( ‘value’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}

if ( rating {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );

if ( ! data.count ) {
return;
}

const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}

if ( data.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}

const averageElement = container.querySelector( ‘.average’ );
if ( averageElement ) {
averageElement.textContent = data.average;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

const countElement = container.querySelector( ‘.count’ );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( ‘.’ );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}

const thisStar = target.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}

const commentForm = document.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.value ) {
return;
}

// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name;
commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;

// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

this.resetSelectedStar( cardRatingContainer, data );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}

const previousSelectedElement= cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector(‘[data-rating]’);
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) {
ratingsButtons.style.direction = ‘rtl’;
}

if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Select the rating that was previously selected in admin.
ratingsButtons.querySelector( ‘.tasty-recipes-rating[value=”‘ + tastyRecipesRating + ‘”]’ ).checked = true;
}

REMEMBER

WANT TO SAVE THIS RECIPE? CLICK BELOW AND PIN IT

PIN

const ratingSpans = ratingsButtons.querySelectorAll( ‘.tasty-recipes-rating’ );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( ‘click’, event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});

« Previous Post
Air Fryer Grilled Cheese: Discover the Crispy Secret!
Next Post »
Blueberry Corn Feta Salad

If you enjoyed this…

High-Protein Pancake Sausage Mini Muffins

High-Protein Pancake Sausage Mini Muffins

Hot Smoked Gouda Bacon Dip

Hot Smoked Gouda Bacon Dip

Low Carb Fish Taco Bowls Recipe

Low Carb Fish Taco Bowls Recipe

Reader Interactions

Leave a Comment Cancel reply

Helpful comments include feedback on the post or changes you made.

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star

Primary Sidebar

Browse by Diet

HealthyCheat MealKetoQuickVeganBudget
Smoked jalapeño poppers pigs in a blanket

Smoked jalapeño poppers pigs in a blanket

Grilled Shrimp Bowl with Avocado, Corn Salsa & Creamy Sauce

Grilled Shrimp Bowl with Avocado, Corn Salsa & Creamy Sauce

Honey Peach & White Cheddar Grilled Cheese

Honey Peach & White Cheddar Grilled Cheese

  • Disclaimer
  • Terms and Conditions
  • Privacy Policy
  • Contact
  • About

© 2026 · © Simply Home Cooking · All Rights Reserved · Created by Tiffany ·