[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f9FkapItdrr8VWyMafff2Hi6ANM95ZXXLySk4JoHM2E8":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":15,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":37,"analysis":127,"fingerprints":338},"nutrition-facts-label","Nutrition Facts Label","1.5","kengimel","https:\u002F\u002Fprofiles.wordpress.org\u002Fkengimel\u002F","\u003Cp>Our motivation for releasing this plugin is based on a forum discussion on the food-cook theme support site.\u003C\u002Fp>\n\u003Cp>We felt that we already had some code that could serve as a basis for producing this plugin, other food bloggers could benefit and possibly improve on.\u003C\u002Fp>\n\u003Cp>This plugin will work best on blogs that use \u003Ca href=\"http:\u002F\u002Fthemeforest.net\u002Fitem\u002Ffood-cook-multipurpose-food-recipe-wp-theme\u002F4915630\" rel=\"nofollow ugc\">food-cook\u003C\u002Fa> theme.\u003C\u002Fp>\n\u003Cp>For food blogs that are not based on the food-cook theme, It is possible to create a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-post-type-ui\u002F\" rel=\"ugc\">custom post type\u003C\u002Fa> called “recipe” and an ingredients post_meta entry with key “RECIPE_META_ingredients”.\u003C\u002Fp>\n\u003Cp>We strongly recommended taking this route or using this plugin under the guidance of a WordPress developer.\u003C\u002Fp>\n\u003Cp>From a more technical side, In order to generate a nutrition facts label, you can either generate an image or generate a post_meta key (gfb_recipe_meta_nutrition_facts) that holds JSON data (for each recipe) which is used to generate a nutrition label.\u003C\u002Fp>\n\u003Cp>This plugin also includes a meta box within the recipe post edit page in the admin area, which automatically reads the post_meta entry with key “RECIPE_META_ingredients” which mainly contains your ingredients list and uses that to generate the nutrition label.\u003C\u002Fp>\n\u003Cp>In order to automatically display a nutrition label on the every recipe, your WordPress developer should add this line of code to the best possible place.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>  \u003C?php echo do_shortcode( '[embed_nutrition_label]' ) ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>It is also possible to embed this as a short-code from the text editor.\u003C\u002Fp>\n\u003Cp>But based on the food-cook recipe page layout your options may appear limited, hence why it is best that a WordPress developer helps out here.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>  [embed_nutrition_label]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>How to Video\u003C\u002Fh4>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FoM1LoVSacss?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>This plugin provides food bloggers with the ability to add a nutrition facts label to their recipe post(s).\u003C\u002Fp>\n\u003Cp>This plugin provides image download option or short-codes as possible ways of sharing nutritive insights. It also provides an update facility that adds a nutrition facts label to already existing recipe posts.\u003C\u002Fp>\n\u003Cp>Big thanks to the guys at nutritionix for sharing their \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnutritionix\u002Fnutrition-label\" rel=\"nofollow ugc\">javascript nutrition label\u003C\u002Fa> which we have tweaked and used here.\u003C\u002Fp>\n\u003Cp>We at \u003Ca href=\"http:\u002F\u002Fwww.globalfoodbook.com\" rel=\"nofollow ugc\">www.globalfoodbook.com\u003C\u002Fa> are open source and agile proponents. We have open sourced this plugin on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fglobalfoodbook\u002Fnutrition-facts-label\" rel=\"nofollow ugc\">github\u003C\u002Fa> and will continue to improve this.\u003C\u002Fp>\n\u003Cp>We appreciate the help we have received from using other plugins and would like to contribute back to this awesome WordPress community at every chance possible.\u003C\u002Fp>\n\u003Cp>At the moment we are working on improving our algorithms on the backend and would like it if you could join us.\u003C\u002Fp>\n\u003Cp>We would love to hear from you on ways this can be improved, give us a shout via the our website or via email (we [at] globalfoodbook.com).\u003C\u002Fp>\n\u003Cp>Thanks\u003C\u002Fp>\n\u003Ch4>How to Use this Nutrition Label?\u003C\u002Fh4>\n\u003Cp>Login into your WordPress account.\u003Cbr \u002F>\nScroll down to the “Ingredients Section” and list the Ingredients.\u003Cbr \u002F>\nPress “Generate Label” on the Nutrition Facts Label Generator.\u003Cbr \u002F>\nThe nutrition facts are automatically generated for you.\u003Cbr \u002F>\nN:B List the ingredients individually including the quantities.\u003C\u002Fp>\n\u003Ch4>How to Include Nutrition Label on Existing Recipes?\u003C\u002Fh4>\n\u003Cp>To include nutrition label on existing food recipes, simply press the “Go” button for automatic generation of the nutrition label.\u003Cbr \u002F>\nFor any unsuccessful updates, make sure that the ingredients are placed line by line and in each line they are without commas or fullstops.\u003Cbr \u002F>\nThen press the “Go” button to generate label.\u003C\u002Fp>\n\u003Ch3>Notes to developers\u003C\u002Fh3>\n\u003Ch4>Contributing\u003C\u002Fh4>\n\u003Cp>If you would like to contribute to our suite of plugins, head on over to \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fglobalfoodbook\" rel=\"nofollow ugc\">Global Food Book Labs\u003C\u002Fa>. Feel free to fork and contribute back.\u003C\u002Fp>\n\u003Col>\n\u003Cli>Fork it (https:\u002F\u002Fgithub.com\u002Fglobalfoodbook\u002Fnutrition-facts-label)\u003C\u002Fli>\n\u003Cli>Create your feature branch (\u003Ccode>git checkout -b my-new-feature\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Commit your changes (\u003Ccode>git commit -am 'Add some feature'\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Push to the branch (\u003Ccode>git push origin my-new-feature\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Create a new Pull Request\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Adding Screenshots to the WordPress repo\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Rename each screenshot for each step like this. For step 1 the screenshot is screenshot-1.png.\u003C\u002Fli>\n\u003Cli>The banner image is named as banner-772×250.png.\u003C\u002Fli>\n\u003Cli>Use an SVN client like smart svn or rapid svn etc to upload these images to the \u002Fassets folder.\u003C\u002Fli>\n\u003Cli>After this, commit and all will be picked up.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Pushing plugin to WordPress svn repo\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\n\u003Cp>Clone this repo\u003C\u002Fp>\n\u003Cpre>\u003Ccode>      git clone git@github.com:globalfoodbook\u002Fnutrition-facts-label.git\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>cd path\u002Fto\u002Fnutrition-facts-label\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>vim .git\u002Fconfig\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add the code below:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>  [svn-remote \"svn\"]\n          url = https:\u002F\u002Fplugins.svn.wordpress.org\u002F[plugin_name]\u002Ftrunk\n          fetch = :refs\u002Fremotes\u002Fgit-svn\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Then merge the master into the new branch:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>      git svn fetch svn\n      git checkout -b svn git-svn\n      git merge master\n      git svn dcommit --username [Wordpress.org username]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Then rebase that branch to the master, and you can dcommit from the master to svn\u003C\u002Fp>\n\u003Cpre>\u003Ccode>      git checkout master\n      git rebase svn\n      git branch -d svn\n      git svn dcommit --username [Wordpress.org username]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fli>\n\u003C\u002Fol>\n","This plugin provides food bloggers with the ability to add nutrition facts label to their recipe post(s).",10,2720,60,2,"","4.4.34","3.0.1",[19,20,21,22,23],"food","food-cook","nutrition","nutrition-facts","nutrition-label","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fnutrition-facts-label\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnutrition-facts-label.zip",100,0,null,"2026-03-15T10:48:56.248Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":33,"trust_score":35,"computed_at":36},3,30,90,87,"2026-04-04T22:27:53.482Z",[38,56,73,85,110],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":32,"last_updated":49,"tested_up_to":50,"requires_at_least":41,"requires_php":15,"tags":51,"homepage":52,"download_link":53,"security_score":54,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":55},"nutrition-facts-vitamins","Nutrition Facts Vitamins","3.0","Ruth Maude","https:\u002F\u002Fprofiles.wordpress.org\u002Fdandelionweb\u002F","\u003Cp>This plugin creates a ‘Label’ custom post type which can be assigned to any page or post.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Includes Vitamins D, Calcium, Iron and Potassium\u003C\u002Fli>\n\u003Cli>“Not a Significant source of _____” line will be generated for blank fields\u003C\u002Fli>\n\u003Cli>Add user generated additional vitamins\u003C\u002Fli>\n\u003Cli>Use the shortcode [nutrition-label id=XXX] to display a nutrition label.\u003C\u002Fli>\n\u003Cli>When creating the label you can also specify the page\u002Fpost and use shortcode [nutrition-label] to display the nutrition label that has been attached to the page\u002Fpost.\u003C\u002Fli>\n\u003Cli>Developers can add do_shortcode(‘[nutrition-label]’) to their templates.\u003C\u002Fli>\n\u003Cli>For a Bilingual Label see my Canadian Nutrition Facts Label plugin – https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcanadian-nutrition-facts-label\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Donations:\u003C\u002Fh4>\n\u003Cp>I appreciate all donations, no matter the size. Further development of this plugin is not contingent on donations, but they are a nice incentive. To donate click on the “donate to this plugin” link in the sidebar below the Authors.\u003C\u002Fp>\n","Use this free WordPress plugin to create Nutrition Facts Labels with vitamins.",70,5100,74,"2016-08-25T13:50:00.000Z","4.6.30",[19,21,22,4,23],"https:\u002F\u002Fdandelionwebdesign.com\u002Fdownloads\u002Fnutrition-facts-label-vitamins\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnutrition-facts-vitamins.zip",85,"2026-03-15T15:16:48.613Z",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":13,"downloaded":64,"rating":26,"num_ratings":65,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":15,"tags":69,"homepage":71,"download_link":72,"security_score":54,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":55},"wp-nutrition-facts","WP Nutrition Facts","1.0.2","KilukruMedia","https:\u002F\u002Fprofiles.wordpress.org\u002Fkilukrumedia\u002F","\u003Cp>Canada’s nutrition labelling regulations have been designed to provide a system for conveying information about the nutrient content of food in a standardized format, which allows for comparison among foods at the point of purchase. Clear, uniform information should support consumers in making informed food choices toward healthy eating goals.\u003C\u002Fp>\n\u003Cp>Canadians need nutrition information to permit dietary management of chronic diseases of public health significance, and to help them make food choices that may reduce the risk of developing chronic diseases.\u003C\u002Fp>\n\u003Cp>This plugin uses the \u003Cstrong>\u003Ca href=\"http:\u002F\u002Fwww.inspection.gc.ca\u002Fenglish\u002Ffssa\u002Flabeti\u002Fnutrite.shtml\" rel=\"nofollow ugc\">CFIA\u003C\u002Fa>\u003C\u002Fstrong> Nutrition Labelling Regulations. For more information please visit \u003Cstrong>\u003Ca href=\"http:\u002F\u002Fwww.inspection.gc.ca\" rel=\"nofollow ugc\">www.inspection.gc.ca\u003C\u002Fa>\u003C\u002Fstrong> or your can visit \u003Cstrong>\u003Ca href=\"http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNutrition_facts_label\" rel=\"nofollow ugc\">en.wikipedia.org\u002Fwiki\u002FNutrition_facts_label\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n","Insert a Nutrition Facts Table to pages, posts and custom post type.",3427,1,"2014-01-25T07:38:00.000Z","3.7.41","3.5",[19,70,21,22,23],"inspection","http:\u002F\u002Fwww.kilukrumedia.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-nutrition-facts.zip",{"slug":74,"name":75,"version":76,"author":77,"author_profile":78,"description":79,"short_description":80,"active_installs":11,"downloaded":81,"rating":27,"num_ratings":27,"last_updated":15,"tested_up_to":82,"requires_at_least":41,"requires_php":15,"tags":83,"homepage":15,"download_link":84,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"foodparser","FoodParser","1.0","foodparsed","https:\u002F\u002Fprofiles.wordpress.org\u002Ffoodparsed\u002F","\u003Cp>This plugin allows you to add nutrition label to a post. Just click on the pear, and copy\u002Fpaste the unformatted nutritional information from Calorie Count or Google.\u003C\u002Fp>\n\u003Cp>See http:\u002F\u002Ffoodparsed.com\u002Feasy-nutrition-label-plug-in\u002F for step by step instructions.\u003C\u002Fp>\n","This plugin allows you to add nutrition label to a post. Just click on the pear, and copy\u002Fpaste the unformatted nutritional information from Calorie C &hellip;",1388,"4.5.33",[19,21,22,23],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffoodparser.zip",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":95,"num_ratings":96,"last_updated":97,"tested_up_to":98,"requires_at_least":99,"requires_php":100,"tags":101,"homepage":105,"download_link":106,"security_score":107,"vuln_count":108,"unpatched_count":27,"last_vuln_date":109,"fetched_at":55},"cooked","Cooked – Recipe Management","1.13.0","Gora Tech","https:\u002F\u002Fprofiles.wordpress.org\u002Fgoratech\u002F","\u003Cp>Cooked is the absolute best way to create & display recipes with WordPress. SEO optimized (rich snippets), galleries, cooking timers, printable recipes and much more. Check out the full list below.\u003C\u002Fp>\n\u003Cp>Be sure to check out the \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcooked\u002F?preview=1\" rel=\"ugc\">Live Preview\u003C\u002Fa>\u003C\u002Fstrong> as well as the \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdocs.cooked.pro\u002F\" rel=\"nofollow ugc\">Cooked Documentation\u003C\u002Fa>\u003C\u002Fstrong> if you need some help!\u003C\u002Fp>\n\u003Ch4>Quality design & usability\u003C\u002Fh4>\n\u003Cp>Using the drag & drop recipe builder, you can create your recipes quickly and without limitations. Add ingredients, directions—and then add a gallery, nutrition facts, cooking times and much more.\u003C\u002Fp>\n\u003Ch4>Google-friendly\u003C\u002Fh4>\n\u003Cp>Cooked automatically includes semantic structure and schema.org microdata into each and every recipe you publish. This allows Google to display your recipes across a variety of device sizes and platforms.\u003C\u002Fp>\n\u003Ch4>Many premium features already included\u003C\u002Fh4>\n\u003Cp>Most recipe plugins require that you purchase a PRO version for features like nutrition facts, galleries, powerful searching, timers, etc. The standard version of Cooked includes all of these. Here’s what you get out of the box:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Drag & drop ingredients and directions.\u003C\u002Fli>\n\u003Cli>SEO Optimized – Google Structured Data and Schema.org support.\u003C\u002Fli>\n\u003Cli>Beautiful grid-based masonry recipe lists.\u003C\u002Fli>\n\u003Cli>Prep & Cooking Times\u003C\u002Fli>\n\u003Cli>Photo Galleries\u003C\u002Fli>\n\u003Cli>Nutrition Facts\u003C\u002Fli>\n\u003Cli>Difficulty Levels\u003C\u002Fli>\n\u003Cli>Recipe Notes\u003C\u002Fli>\n\u003Cli>Powerful recipe search with a text search, categories & sorting options.\u003C\u002Fli>\n\u003Cli>Author template to list recipes by a single author.\u003C\u002Fli>\n\u003Cli>Cooking times with clickable, interactive timers.\u003C\u002Fli>\n\u003Cli>Very developer-friendly with loads of hooks & filters.\u003C\u002Fli>\n\u003Cli>Servings switcher to adjust ingredient amounts.\u003C\u002Fli>\n\u003Cli>Ingredient Substitutions – Add alternative ingredients for dietary restrictions or preferences.\u003C\u002Fli>\n\u003Cli>CSV Import – Bulk import recipes from CSV files with support for ingredients, directions, substitutions, and more.\u003C\u002Fli>\n\u003Cli>And more to come…\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Of course, if you want even more, you can always check out the \u003Ca href=\"https:\u002F\u002Fcooked.pro\" rel=\"nofollow ugc\">PRO\u003C\u002Fa> version of Cooked. It adds features like ratings & favorites, recipe submissions, and so much more.\u003C\u002Fp>\n\u003Ch4>Developers love it\u003C\u002Fh4>\n\u003Cp>Cooked has a whole bunch of actions and filters to customize Cooked as much as you need to. Be sure to check out the \u003Ca href=\"https:\u002F\u002Fdocs.cooked.pro\u002F\" rel=\"nofollow ugc\">Developer Documentation\u003C\u002Fa>.\u003C\u002Fp>\n","Cooked is the absolute best way to create & display recipes with WordPress. SEO optimized, galleries, timers, and much more.",3000,215166,78,89,"2026-02-28T00:05:00.000Z","6.9.4","4.7","7.4",[102,19,21,103,104],"cooking","recipe","recipes","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcooked\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcooked.1.13.0.zip",95,11,"2025-12-31 00:00:00",{"slug":22,"name":111,"version":112,"author":113,"author_profile":114,"description":115,"short_description":116,"active_installs":26,"downloaded":117,"rating":27,"num_ratings":27,"last_updated":118,"tested_up_to":119,"requires_at_least":120,"requires_php":121,"tags":122,"homepage":15,"download_link":126,"security_score":54,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":55},"Nutrition Facts","1.0.0","Achal Jain","https:\u002F\u002Fprofiles.wordpress.org\u002Fibachal\u002F","\u003Cp>Display a label of nutrition facts of your recipe on your website with automatic calculation of percent daily value.\u003C\u002Fp>\n","Display a label of nutrition facts of your recipe with automatic calculation of percent daily value.",3223,"2021-08-03T17:24:00.000Z","5.8.0","5.3.2","7.0.0",[123,124,125,23,103],"block","facts-label","nutrition-guide","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnutrition-facts.zip",{"attackSurface":128,"codeSignals":174,"taintFlows":229,"riskAssessment":324,"analyzedAt":337},{"hooks":129,"ajaxHandlers":151,"restRoutes":162,"shortcodes":163,"cronEvents":172,"entryPointCount":173,"unprotectedCount":32},[130,135,140,143,147],{"type":131,"name":132,"callback":133,"file":134,"line":14},"action","add_meta_boxes","add_nutrition_label_meta_box","meta_box.php",{"type":131,"name":136,"callback":137,"file":138,"line":139},"admin_head","gfb_nutrition_label_add_to_head","nutrition-facts-label.php",37,{"type":131,"name":141,"callback":137,"file":138,"line":142},"wp_enqueue_scripts",38,{"type":131,"name":144,"callback":145,"file":138,"line":146},"admin_enqueue_scripts","gfb_nutrition_label_add_jquery_ui_to_head",48,{"type":131,"name":148,"callback":149,"file":138,"line":150},"admin_menu","nutrition_facts_label_pages",51,[152,157,160],{"action":153,"nopriv":154,"callback":153,"hasNonce":154,"hasCapCheck":154,"file":155,"line":156},"nutrition_request",false,"process.php",31,{"action":153,"nopriv":158,"callback":153,"hasNonce":154,"hasCapCheck":154,"file":155,"line":159},true,32,{"action":161,"nopriv":154,"callback":161,"hasNonce":154,"hasCapCheck":154,"file":155,"line":95},"update_recipes_request",[],[164,168],{"tag":165,"callback":166,"file":138,"line":167},"nutrition_facts_label_generator","nutrition_facts_label_generator_sc",114,{"tag":169,"callback":170,"file":138,"line":171},"embed_nutrition_label","embed_nutrition_label_sc",115,[],5,{"dangerousFunctions":175,"sqlUsage":176,"outputEscaping":178,"fileOperations":65,"externalRequests":27,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":228},[],{"prepared":65,"raw":27,"locations":177},[],{"escaped":14,"rawEcho":179,"locations":180},24,[181,184,186,188,189,191,193,195,197,199,200,202,204,206,208,211,213,214,216,219,221,223,224,226],{"file":182,"line":173,"context":183},"admin_front_end.php","raw output",{"file":182,"line":185,"context":183},6,{"file":182,"line":187,"context":183},9,{"file":182,"line":108,"context":183},{"file":190,"line":179,"context":183},"form.php",{"file":192,"line":173,"context":183},"front_end.php",{"file":192,"line":194,"context":183},7,{"file":138,"line":196,"context":183},67,{"file":138,"line":198,"context":183},68,{"file":138,"line":95,"context":183},{"file":138,"line":201,"context":183},79,{"file":155,"line":203,"context":183},46,{"file":155,"line":205,"context":183},91,{"file":155,"line":207,"context":183},93,{"file":209,"line":210,"context":183},"sections.php",15,{"file":209,"line":212,"context":183},21,{"file":209,"line":212,"context":183},{"file":209,"line":215,"context":183},23,{"file":217,"line":218,"context":183},"update_recipes.php",29,{"file":217,"line":220,"context":183},64,{"file":217,"line":222,"context":183},76,{"file":217,"line":54,"context":183},{"file":217,"line":225,"context":183},119,{"file":217,"line":227,"context":183},121,[],[230,270,282,313],{"entryPoint":231,"graph":232,"unsanitizedCount":32,"severity":269},"nutrition_request (process.php:34)",{"nodes":233,"edges":263},[234,239,244,247,251,256,259,261],{"id":235,"type":236,"label":237,"file":155,"line":238},"n0","source","$_GET",43,{"id":240,"type":241,"label":242,"file":155,"line":203,"wp_function":243},"n1","sink","echo() [XSS]","echo",{"id":245,"type":236,"label":246,"file":155,"line":142},"n2","$_GET['ingredients']",{"id":248,"type":249,"label":250,"file":155,"line":142},"n3","transform","→ process_request()",{"id":252,"type":241,"label":253,"file":155,"line":254,"wp_function":255},"n4","file_get_contents() [SSRF\u002FLFI]",57,"file_get_contents",{"id":257,"type":236,"label":237,"file":155,"line":258},"n5",44,{"id":260,"type":249,"label":250,"file":155,"line":258},"n6",{"id":262,"type":241,"label":253,"file":155,"line":254,"wp_function":255},"n7",[264,265,266,267,268],{"from":235,"to":240,"sanitized":154},{"from":245,"to":248,"sanitized":154},{"from":248,"to":252,"sanitized":154},{"from":257,"to":260,"sanitized":154},{"from":260,"to":262,"sanitized":154},"medium",{"entryPoint":271,"graph":272,"unsanitizedCount":65,"severity":269},"update_recipes_request (process.php:79)",{"nodes":273,"edges":279},[274,277,278],{"id":235,"type":236,"label":275,"file":155,"line":276},"$_POST",86,{"id":240,"type":249,"label":250,"file":155,"line":276},{"id":245,"type":241,"label":253,"file":155,"line":254,"wp_function":255},[280,281],{"from":235,"to":240,"sanitized":154},{"from":240,"to":245,"sanitized":154},{"entryPoint":283,"graph":284,"unsanitizedCount":173,"severity":269},"\u003Cprocess> (process.php:0)",{"nodes":285,"edges":304},[286,287,288,289,290,291,292,293,294,296,298,300,302],{"id":235,"type":236,"label":237,"file":155,"line":238},{"id":240,"type":241,"label":242,"file":155,"line":203,"wp_function":243},{"id":245,"type":236,"label":237,"file":155,"line":238},{"id":248,"type":241,"label":253,"file":155,"line":254,"wp_function":255},{"id":252,"type":236,"label":246,"file":155,"line":142},{"id":257,"type":249,"label":250,"file":155,"line":142},{"id":260,"type":241,"label":253,"file":155,"line":254,"wp_function":255},{"id":262,"type":236,"label":237,"file":155,"line":258},{"id":295,"type":249,"label":250,"file":155,"line":258},"n8",{"id":297,"type":241,"label":253,"file":155,"line":254,"wp_function":255},"n9",{"id":299,"type":236,"label":275,"file":155,"line":276},"n10",{"id":301,"type":249,"label":250,"file":155,"line":276},"n11",{"id":303,"type":241,"label":253,"file":155,"line":254,"wp_function":255},"n12",[305,306,307,308,309,310,311,312],{"from":235,"to":240,"sanitized":154},{"from":245,"to":248,"sanitized":154},{"from":252,"to":257,"sanitized":154},{"from":257,"to":260,"sanitized":154},{"from":262,"to":295,"sanitized":154},{"from":295,"to":297,"sanitized":154},{"from":299,"to":301,"sanitized":154},{"from":301,"to":303,"sanitized":154},{"entryPoint":314,"graph":315,"unsanitizedCount":32,"severity":323},"\u003Cupdate_recipes> (update_recipes.php:0)",{"nodes":316,"edges":321},[317,320],{"id":235,"type":236,"label":318,"file":217,"line":319},"$_GET (x3)",25,{"id":240,"type":241,"label":242,"file":217,"line":220,"wp_function":243},[322],{"from":235,"to":240,"sanitized":154},"low",{"summary":325,"deductions":326},"The \"nutrition-facts-label\" v1.5 plugin exhibits a concerning security posture, primarily due to a significant number of unprotected entry points. While the plugin demonstrates good practice by utilizing prepared statements for its SQL queries and not making external HTTP requests, these strengths are overshadowed by critical weaknesses in handling user input and access control.\n\nThe static analysis reveals an attack surface with 5 entry points, 3 of which lack any authentication checks. This is a major red flag, as it means any unauthenticated user could potentially interact with these components, leading to unintended consequences. Furthermore, the taint analysis indicates 4 flows with unsanitized paths, all of which are flagged with no severity. However, the presence of unsanitized paths is a significant concern, and their interaction with unprotected entry points could lead to severe vulnerabilities if exploited.\n\nThe plugin's vulnerability history is clean, with no recorded CVEs. While this is positive, it should not lead to complacency. The lack of recorded vulnerabilities may be due to the fact that such vulnerabilities have not been discovered or reported, rather than a testament to its inherent security. The combination of a large, unprotected attack surface and unsanitized code paths creates a high-risk environment, despite the absence of known exploits.",[327,329,331,333,335],{"reason":328,"points":210},"Unprotected AJAX handlers",{"reason":330,"points":11},"Unsanitized paths in taint analysis",{"reason":332,"points":173},"No nonce checks on AJAX handlers",{"reason":334,"points":173},"No capability checks",{"reason":336,"points":173},"Low output escaping percentage","2026-03-16T23:22:51.945Z",{"wat":339,"direct":357},{"assetPaths":340,"generatorPatterns":348,"scriptPaths":349,"versionParams":350},[341,342,343,344,345,346,347],"\u002Fwp-content\u002Fplugins\u002Fnutrition-facts-label\u002Fincludes\u002Fassets\u002Fcss\u002FnutritionLabel.css","\u002Fwp-content\u002Fplugins\u002Fnutrition-facts-label\u002Fincludes\u002Fassets\u002Fjavascript\u002FnutritionLabel.js","\u002Fwp-content\u002Fplugins\u002Fnutrition-facts-label\u002Fincludes\u002Fassets\u002Fjavascript\u002Fhtml2canvas.js","\u002Fwp-content\u002Fplugins\u002Fnutrition-facts-label\u002Fincludes\u002Fassets\u002Fjavascript\u002Fgfb_nutrition_label.js","\u002Fwp-content\u002Fplugins\u002Fnutrition-facts-label\u002Fincludes\u002Fassets\u002Fcss\u002Fjquery-ui-1.7.2.custom.css","\u002Fwp-content\u002Fplugins\u002Fnutrition-facts-label\u002Fincludes\u002Fassets\u002Fjavascript\u002Fjquery.ui.progressbar.min.js","\u002Fwp-content\u002Fplugins\u002Fnutrition-facts-label\u002Fincludes\u002Fassets\u002Fimages\u002Fbeta.png",[],[342,343,344,346],[351,352,353,354,355,356],"nutrition-facts-label\u002Fincludes\u002Fassets\u002Fcss\u002FnutritionLabel.css?ver=","nutrition-facts-label\u002Fincludes\u002Fassets\u002Fjavascript\u002FnutritionLabel.js?ver=","nutrition-facts-label\u002Fincludes\u002Fassets\u002Fjavascript\u002Fhtml2canvas.js?ver=","nutrition-facts-label\u002Fincludes\u002Fassets\u002Fjavascript\u002Fgfb_nutrition_label.js?ver=","nutrition-facts-label\u002Fincludes\u002Fassets\u002Fcss\u002Fjquery-ui-1.7.2.custom.css?ver=","nutrition-facts-label\u002Fincludes\u002Fassets\u002Fjavascript\u002Fjquery.ui.progressbar.min.js?ver=",{"cssClasses":358,"htmlComments":362,"htmlAttributes":364,"restEndpoints":370,"jsGlobals":372,"shortcodeOutput":376},[359,360,361,23],"nutritional","gfb-nutritional-embed-label","nutrition-label-outer",[363],"\u003C!-- ... -->",[365,366,367,368,369],"id=\"nutritiona-facts-label-main-title\"","id=\"gfb-nutritional-embed-label\"","id=\"nutrition-label-outer\"","id=\"nutrition-label\"","id=\"gfb-nutrition-label-msg\"",[371],"\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts",[373,374,375],"gfbnutritionlabel","options","beta_img",[377,378],"[nutrition_facts_label_generator]","[embed_nutrition_label]"]