3-Ingredient Banana Pudding Recipe – Easy, Quick Dessert

Author avatar
|
3-Ingredient Banana Pudding Recipe – Easy, Quick Dessert

Welcome to a delightful and simple recipe that’s sure to become a family favorite – the 3-Ingredient Banana Pudding. With just a few ingredients and a quick preparation time, this dessert is the perfect treat for any occasion. Whether you’re hosting a party or just looking for a sweet indulgence, this banana pudding recipe will hit the spot. Plus, with only three ingredients, it’s budget-friendly and incredibly easy to make.

Introduction to Banana Pudding

Banana pudding is a beloved dessert in American cuisine, offering layers of creamy sweetness paired with the fresh flavor of bananas and the crunch of vanilla wafers. This banana pudding recipe is a simpler version of the classic, making it accessible for both beginners and busy home cooks. The combination of cool vanilla pudding, ripe bananas, and the iconic Nilla Wafers makes this dish an irresistible comfort food that generations have enjoyed.

For those looking for a quick dessert without sacrificing flavor, this 3-ingredient banana pudding is perfect. Not only does it offer the nostalgic taste of traditional banana pudding, but it’s also much quicker to assemble. Bonus tip: It’s a great way to use up overripe bananas!

Ingredients for 3-Ingredient Banana Pudding

Here’s everything you’ll need for this easy banana pudding recipe:

  • 5-6 bananas, sliced
  • 1 box Nilla Wafers (save a few for garnishing later)
  • 3 cups vanilla pudding (prepared or store-bought)

For an optional topping:

  • Cool Whip for added creaminess and garnish

This banana pudding can be made with gluten-free wafers for those with dietary restrictions, and you can substitute the vanilla pudding with sugar-free pudding for a lighter version.

How to Make 3-Ingredient Banana Pudding – Step by Step

Step 1: Prepare Your Layering Dish

Grab a 9×13″ baking dish, large bowl, or trifle bowl to begin the layering process.

Step 2: Layer the Wafers

Start by covering the bottom of the dish with a layer of Nilla Wafers. These will form the base of your dessert, giving a delightful crunch that pairs beautifully with the pudding.

Step 3: Add Banana Slices

Next, slice your bananas into rounds and create a layer over the wafers. The bananas provide natural sweetness and creamy texture, adding to the dessert’s richness.

Step 4: Repeat Layers

Continue alternating between layers of Nilla Wafers and sliced bananas. You can create two to three layers depending on your dish size and ingredient amounts.

Step 5: Add the Pudding

Once your layers are done, pour the prepared vanilla pudding over the top, spreading it evenly to ensure every bite has that creamy goodness.

Step 6: Chill and Garnish

Refrigerate the dish for at least one hour to allow the flavors to meld. Before serving, crumble a few Nilla Wafers on top or garnish with whole wafers and additional banana slices. For an extra indulgent touch, top with Cool Whip.

Helpful Tips for Perfect Banana Pudding

  • Use ripe bananas: The riper the bananas, the sweeter and more flavorful your pudding will be. Overripe bananas are perfect for this dish.
  • Chill before serving: Letting the pudding sit in the fridge for at least an hour helps the flavors meld together. This also softens the wafers slightly, giving them a cakey texture.
  • Add layers: If you want more texture, feel free to add extra layers of pudding and wafers.

Cooking Tips for the Best 3-Ingredient Banana Pudding

To elevate this simple recipe, here are a few cooking techniques:

  • Use fresh bananas: Bananas can brown quickly after slicing, so assemble the pudding shortly before serving.
  • For added texture: Some people like to mix a bit of whipped cream into the pudding to create a lighter, mousse-like texture.
  • Serving in individual dishes: For a fancier presentation, layer the pudding in small glass jars or dessert cups.

Serving Suggestions for Banana Pudding

This banana pudding pairs wonderfully with a cup of coffee or iced tea. For special occasions, serve it in a trifle dish or individual dessert cups for a more elegant presentation. You can also serve it alongside other classic Southern desserts like pecan pie or sweet potato casserole to create a full comfort food spread.

Nutritional Information for Banana Pudding (per serving)

Calories: 97 kcal
Carbohydrates: 20g
Fat: 2g
Protein: 1g
Fiber: 2g
Vitamin C: 10% of the daily value (from bananas)

This recipe is relatively light and perfect for those who want to indulge without overloading on calories. For a healthier option, consider using sugar-free vanilla pudding and low-fat wafers.

Storage and Leftovers for Banana Pudding

If you have leftovers, store the banana pudding in an airtight container in the fridge for up to two days. However, keep in mind that the bananas may start to brown, and the wafers will soften further the longer it sits. To reheat or serve again, no special preparation is needed—just enjoy it straight from the fridge.

4 Frequently Asked Questions (FAQs) About Banana Pudding

1. Can I make banana pudding ahead of time?

Yes, but it’s best to assemble it no more than an hour or two before serving to ensure the wafers stay crisp and the bananas don’t brown.

2. Can I use other fruits in this pudding?

Absolutely! While bananas are the classic choice, you can try adding berries or peaches for a different flavor profile.

3. How long does banana pudding last in the fridge?

Banana pudding can last up to 2 days in the fridge, though the texture may change as the wafers soften and the bananas brown.

4. Can I freeze banana pudding?

Unfortunately, freezing banana pudding is not recommended as the texture of the bananas and pudding may not hold up well after thawing.

2 Related Recipes for Banana Lovers

If you loved this recipe, check out these related recipes on Optimal Recipes:

Conclusion

We hope you enjoy this 3-Ingredient Banana Pudding recipe! It’s a quick and easy dessert that’s perfect for any occasion. Whether you’re making it for a potluck or just to satisfy a sweet craving, this banana pudding is sure to be a hit. Don’t forget to share your own variations or tips in the comments below—we’d love to hear how you make this recipe your own!


Print

clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

3-Ingredient Banana Pudding Recipe – Easy, Quick Dessert

3-Ingredient Banana Pudding Recipe – Easy, Quick Dessert



5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews


  • Author:
    Patri


Description

Welcome to a delightful and simple recipe that’s sure to become a family favorite – the 3-Ingredient Banana Pudding. With just a few ingredients and a quick preparation time, this dessert is the perfect treat for any occasion. Whether you’re hosting a party or just looking for a sweet indulgence, this banana pudding recipe will hit the spot. Plus, with only three ingredients, it’s budget-friendly and incredibly easy to make.


Ingredients


Scale

 

  • 56 bananas, sliced
  • 1 box Nilla Wafers (save a few for garnishing later)
  • 3 cups vanilla pudding (prepared or store-bought)

For an optional topping:

  • Cool Whip for added creaminess and garnish

This banana pudding can be made with gluten-free wafers for those with dietary restrictions, and you can substitute the vanilla pudding with sugar-free pudding for a lighter version.


Instructions

Step 1: Prepare Your Layering Dish

Grab a 9×13″ baking dish, large bowl, or trifle bowl to begin the layering process.

Step 2: Layer the Wafers

Start by covering the bottom of the dish with a layer of Nilla Wafers. These will form the base of your dessert, giving a delightful crunch that pairs beautifully with the pudding.

Step 3: Add Banana Slices

Next, slice your bananas into rounds and create a layer over the wafers. The bananas provide natural sweetness and creamy texture, adding to the dessert’s richness.

Step 4: Repeat Layers

Continue alternating between layers of Nilla Wafers and sliced bananas. You can create two to three layers depending on your dish size and ingredient amounts.

Step 5: Add the Pudding

Once your layers are done, pour the prepared vanilla pudding over the top, spreading it evenly to ensure every bite has that creamy goodness.

Step 6: Chill and Garnish

Refrigerate the dish for at least one hour to allow the flavors to meld. Before serving, crumble a few Nilla Wafers on top or garnish with whole wafers and additional banana slices. For an extra indulgent touch, top with Cool Whip.

Notes

  • Use ripe bananas: The riper the bananas, the sweeter and more flavorful your pudding will be. Overripe bananas are perfect for this dish.
  • Chill before serving: Letting the pudding sit in the fridge for at least an hour helps the flavors meld together. This also softens the wafers slightly, giving them a cakey texture.
  • Add layers: If you want more texture, feel free to add extra layers of pudding and wafers.

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; }

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(){

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+d2<=D){d1+=d2;n1+=n2;d2=D+1}else if(d1>d2){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_1D){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"));

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' );

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' );

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 ); }

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; }); };

document.addEventListener( 'DOMContentLoaded', () => {

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

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

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(); } }); }());

(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; });

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(); }); }); }());

(function(){ document.querySelectorAll('[data-tr-ingredient-checkbox]').forEach(function(el) { var input = el.querySelector('.tr-ingredient-checkbox-container input[type="checkbox"]'); if ( ! input ) { return; } if (input.checked) { el.dataset.trIngredientCheckbox = 'checked'; } el.addEventListener('click', function(event) { if ( 'A' === event.target.nodeName || 'INPUT' === event.target.nodeName || 'LABEL' === event.target.nodeName ) { return; } input.click(); }); input.addEventListener('change', function() { el.dataset.trIngredientCheckbox = input.checked ? 'checked' : ''; }); }); }());

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' );

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; }

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; } };

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 ); };

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;

this.formWatchRating(); this.closeTooltipWhenClickOutside(); this.addBodyClassBasedOnSelectedRating(); this.backwardCompFormRatingPosition(); }, formWatchRating() { const ratings = document.querySelectorAll('.tasty-recipes-no-ratings-buttons [data-rating]'); if ( ratings.length <= 0 ) { return; } for ( const rating of ratings ) { rating.addEventListener( 'click', event => { 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 < this.minRating ) { commentTextarea.setAttribute( 'required', '' ); return; }commentTextarea.removeAttribute( 'required' ); }, maybeSendRating( rating, element ) { if ( this.savingRating === rating ) { return; }this.savingRating = rating; window.TastyRecipes.staticTooltip.init( element );const recipeCardElement = element.closest( '.tasty-recipes' ); if ( ! recipeCardElement ) { window.TastyRecipes.staticTooltip.destroy(); return; }window.TastyRecipes.ajax.sendPostRequest( window.trCommon.ajaxurl, { action: 'tasty_recipes_save_rating', rating, nonce: window.trCommon.ratingNonce, post_id: window.trCommon.postId, recipe_id: recipeCardElement.dataset.trId, }, ( response ) => { window.TastyRecipes.staticTooltip.changeMessage( response.data.message ); window.TastyRecipes.staticTooltip.show(); this.updateAverageText( response.data, recipeCardElement ); this.maybeFillCommentForm( response.data );

// 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 ); }

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; }

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; }

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;

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; }

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 ); });

Keep Reading

Leave a Comment

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