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

Easy Cook Inspo

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

Easy Cook Inspo

  • Home
  • Recipe Index
  • Budget
  • Cheat Meal
  • Healthy
  • Keto
  • Quick
  • Vegan
  • Contact
  • About
Healthy / DINNER / Creamy Chicken Sausage Orzo Recipe

Creamy Chicken Sausage Orzo Recipe

January 11, 2026 by Kaylee

Jump to Recipe·Print Recipe

If you’re looking for a comforting and delicious meal that can be whipped up in no time, then you’re in for a treat with this Creamy Chicken Sausage Orzo Recipe! This dish has quickly become one of my go-to favorites. It combines the hearty goodness of chicken sausage with tender orzo, all enveloped in a rich, creamy parmesan sauce. What makes it even better? You can prepare it all in just one pan! Whether it’s a busy weeknight or a casual family gathering, this recipe fits the bill perfectly.

Creamy Chicken Sausage Orzo Recipe image 2

The best part is how easy it is to adapt and make your own. I often find myself making this at least once a month, and each time it’s just as delightful as the last. Let’s dive into why you’ll love this recipe!

Creamy Chicken Sausage Orzo Recipe image 3
Creamy Chicken Sausage Orzo Recipe image 4

Why You’ll Love This Recipe

  • Quick and Easy: This recipe comes together in just 30 minutes, making weeknight dinners stress-free.
  • One-Pan Wonder: Less cleanup means more time to enjoy your meal with loved ones.
  • Family-Friendly: Kids love the creamy sauce and flavorful sausage, ensuring everyone leaves the table happy!
  • Versatile Ingredients: You can easily swap out ingredients based on what you have on hand or your family’s preferences.
  • Make Ahead Friendly: Prep it in advance for nights when you know you’ll be busy.

Ingredients You’ll Need

Let’s talk about the ingredients! This Creamy Chicken Sausage Orzo Recipe uses simple, wholesome ingredients that are easy to find. Here’s what you’ll need for this delightful dish:

  • 12 oz fully cooked chicken sausage (sliced into rounds)
  • 1½ cups orzo
  • 4 cloves garlic (minced)
  • 1 shallot or ½ small sweet onion (diced)
  • 2 tbsp olive oil
  • 4 cups chicken broth
  • ½ cup heavy cream
  • 1 cup freshly grated parmesan
  • 2 cups fresh spinach or frozen organic spinach (roughly chopped)
  • 1 pinch dried oregano (optional)
  • 1 pinch freshly cracked pepper (optional)

Variations

One of the great things about this recipe is its flexibility! Feel free to get creative and customize it to fit your taste. Here are some fun variations to consider:

  • Swap the protein: Try using turkey sausage or even plant-based sausage for a lighter option.
  • Add more veggies: Toss in bell peppers, zucchini, or mushrooms for extra nutrition and flavor.
  • Make it spicy: Add some red pepper flakes if you want to kick up the heat!
  • Cheese alternatives: Experiment with different cheeses like feta or mozzarella for a unique twist.

How to Make Creamy Chicken Sausage Orzo Recipe

Step 1: Sauté the Sausage

Start by heating olive oil in a deep skillet over medium heat. Adding the sliced sausage at this point lets it brown beautifully on both sides, enhancing its flavor. Once browned, remove the sausage from the pan and set it aside.

Step 2: Cook the Aromatics

In the same skillet, add your diced shallot and sauté until softened. Don’t rush this step! Cooking shallots brings out their natural sweetness. Then stir in minced garlic along with a pinch of oregano if you’re using it. Let that cook for about 30 seconds—your kitchen will smell amazing!

Step 3: Toasting Orzo

Now it’s time to add the orzo. Stir it into your skillet and let it toast slightly for a minute or two. This step adds depth to the flavor and gives your final dish that perfect texture.

Step 4: Add Broth and Simmer

Pour in the chicken broth and bring everything to a gentle simmer. Stir often while cooking until most of the liquid is absorbed and your orzo is tender—this should take about 10–12 minutes.

Step 5: Stir in Cream and Cheese

Lower your heat, then stir in that luscious heavy cream along with freshly grated parmesan cheese. This is where the magic happens—the sauce becomes incredibly creamy!

Step 6: Fold in Spinach and Return Sausage

If you’re using spinach, fold it right into the mixture now! It adds color and nutrients without overpowering other flavors. Don’t forget to return that delicious sausage back into the pan.

Step 7: Rest Before Serving

Let everything sit off heat for about a minute before serving. This little pause allows all those flavors to meld together beautifully. Top with more parmesan and freshly cracked pepper if desired—enjoy every bite!

Pro Tips for Making Creamy Chicken Sausage Orzo Recipe

This creamy chicken sausage orzo recipe is a delight to prepare, and with a few helpful tips, you can make it even better!

  • Use high-quality ingredients: The flavor of this dish heavily relies on the quality of your chicken sausage and parmesan cheese. Opt for fresh, flavorful options that will elevate your meal.

  • Don’t rush the browning process: Allowing the sausage to brown nicely adds depth of flavor to the dish. Patience here pays off in taste!

  • Keep stirring the orzo: Stirring frequently while cooking the orzo helps prevent it from sticking to the pan and ensures even cooking. This is key for achieving that creamy texture.

  • Adjust cream to taste: Feel free to modify the amount of heavy cream based on your preference for richness. A little extra cream can make it even more luxurious!

  • Add more veggies if desired: You can easily boost the nutrition by adding in other vegetables like bell peppers or zucchini. They’ll not only enhance the health aspect but also add color and flavor.

How to Serve Creamy Chicken Sausage Orzo Recipe

Serving your creamy chicken sausage orzo beautifully can make mealtime feel special! Here are some ideas to present this dish with flair.

Garnishes

  • Fresh herbs: Chopped parsley or basil adds a pop of color and freshness that complements the rich flavors.
  • Extra parmesan: A sprinkle of freshly grated parmesan on top just before serving enhances both presentation and taste.

Side Dishes

  • Garlic bread: Crispy, buttery garlic bread is perfect for soaking up any leftover sauce from your orzo. It’s an easy crowd-pleaser!
  • Mixed green salad: A light salad with mixed greens, cherry tomatoes, and a simple vinaigrette provides a refreshing balance to the creamy dish.
  • Roasted vegetables: Seasonal roasted veggies like broccoli, carrots, or asparagus add a healthy crunch and vibrant colors to your plate.
  • Steamed green beans: Tender green beans tossed in olive oil and lemon juice offer a zesty complement that pairs well with the richness of the orzo.

With these serving suggestions and pro tips, your creamy chicken sausage orzo will be not only delicious but also visually appealing. Enjoy every bite!

Make Ahead and Storage

This creamy chicken sausage orzo recipe is perfect for meal prep, making it easy to enjoy delicious home-cooked meals throughout the week. You can prepare it in advance and store it properly to keep it fresh.

Storing Leftovers

  • Allow the orzo to cool completely before storing.
  • Transfer leftovers to an airtight container.
  • Refrigerate for up to 3 days.

Freezing

  • Let the dish cool completely.
  • Portion into freezer-safe containers or bags, leaving some space for expansion.
  • Freeze for up to 3 months.

Reheating

  • Thaw overnight in the refrigerator before reheating.
  • Warm on the stovetop over low heat, adding a splash of chicken broth or water if needed.
  • Alternatively, microwave in short intervals until heated through.

FAQs

I know you might have some questions about this creamy chicken sausage orzo recipe, so let’s dive into a few common ones!

Can I use a different type of sausage in the Creamy Chicken Sausage Orzo Recipe?

Absolutely! While this recipe calls for chicken sausage, you can easily substitute it with turkey sausage or other cooked sausages that suit your taste.

How can I make the Creamy Chicken Sausage Orzo Recipe healthier?

To make this dish healthier, consider using whole grain orzo instead of regular orzo and add extra vegetables like bell peppers or zucchini for added nutrients.

Is there a dairy-free alternative for the cream in this recipe?

Yes! You can substitute heavy cream with coconut milk or a dairy-free cream alternative to keep this dish creamy without dairy.

Final Thoughts

I hope you find joy in cooking this creamy chicken sausage orzo recipe as much as I do! It’s not just a delightful dish but also a comforting meal that brings family together. Enjoy trying it out, and I would love to hear how yours turns out!

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

Creamy Chicken Sausage Orzo

5 Stars 4 Stars 3 Stars 2 Stars 1 Star
No reviews


  • Author:
    Kaylee
  • Prep Time: 10 minutes

  • Cook Time: 20 minutes

  • Total Time: 30 minutes

  • Yield: Serves 4

  • Category: Dinner

  • Method: Sautéing

  • Cuisine: American

Print Recipe

Pin Recipe

const share_pin_buttons = document.getElementsByClassName( ‘share-pin button’ );
if ( share_pin_buttons ) {
for ( let share_key = 0; share_key {
e.stopPropagation();
window.open(e.target.dataset.href,’targetWindow’,’toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=500,height=500′);
return false;
} );
}
}


Description

Indulge in a comforting bowl of Creamy Chicken Sausage Orzo that’s perfect for busy weeknights or family gatherings. This one-pan dish combines flavorful chicken sausage with tender orzo pasta, all enveloped in a rich, creamy parmesan sauce and vibrant spinach. With minimal cleanup and a preparation time of just 30 minutes, this recipe is bound to become a family favorite. The versatility of ingredients ensures you can customize it to suit your taste or use up what you have on hand. Whether you’re looking for a quick dinner solution or a hearty meal prep option, this recipe has you covered!


Ingredients


Scale

  • 12 oz fully cooked chicken sausage (sliced)
  • 1½ cups orzo
  • 4 cloves garlic (minced)
  • 1 shallot or ½ small sweet onion (diced)
  • 2 tbsp olive oil
  • 4 cups chicken broth
  • ½ cup heavy cream
  • 1 cup freshly grated parmesan
  • 2 cups fresh spinach (chopped)


Instructions

  1. Heat olive oil in a deep skillet over medium heat. Sauté the sliced chicken sausage until browned, then set aside.
  2. In the same skillet, cook the diced shallot until softened, then add minced garlic and optional oregano, cooking briefly until fragrant.
  3. Stir in the orzo and toast for 1–2 minutes before adding chicken broth. Simmer for about 10–12 minutes until the orzo is tender and most liquid is absorbed.
  4. Lower heat and mix in heavy cream and parmesan cheese until creamy.
  5. Fold in chopped spinach and return the sausage to the pan; let sit off heat for a minute before serving.



Nutrition

  • Serving Size: 1 serving
  • Calories: 540
  • Sugar: 2g
  • Sodium: 800mg
  • Fat: 27g
  • Saturated Fat: 11g
  • Unsaturated Fat: 14g
  • Trans Fat: 0g
  • Carbohydrates: 46g
  • Fiber: 3g
  • Protein: 28g
  • Cholesterol: 75mg

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:\/\/www.easycookinspo.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:”d6999d9e8c”,”postId”:1154};
window.TastyRecipes = window.TastyRecipes || {};

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+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”));

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

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

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

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

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

« Previous Post
Healthy Mustard Potato Salad
Next Post »
Easy Garlic Butter Low-Carb Zucchini Recipe With Squash

If you enjoyed this…

Delicious Pumpkin Cream Cheese Muffins Recipe for Fall Baking

Delicious Pumpkin Cream Cheese Muffins Recipe for Fall Baking

Easy Chicken Asparagus Stir Fry

Easy Chicken Asparagus Stir Fry

Sweet & Sour Vegetable Stir Fry

Sweet & Sour Vegetable Stir Fry

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

HealthyBudgetKetoQuickVeganCheat Meal
Beef and Rotini in Garlic Parmesan Sauce

Beef and Rotini in Garlic Parmesan Sauce

Almond Wedding Cake Cupcakes with Raspberry Filling

Almond Wedding Cake Cupcakes with Raspberry Filling

Feta Watermelon Salad

Feta Watermelon Salad

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

© 2026 · © Easy Cook Inspo · All Rights Reserved · Created by Kaylee ·