{"id":380770,"date":"2026-10-07T16:42:19","date_gmt":"2026-10-07T16:42:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/nutrio-dietitian-practice-manager\/"},"modified":"2026-10-07T16:41:45","modified_gmt":"2026-10-07T16:41:45","slug":"merodiet","status":"publish","type":"plugin","link":"https:\/\/am.wordpress.org\/plugins\/merodiet\/","author":18629485,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.0","stable_tag":"0.1.0","tested":"7.1.3","requires":"6.9","requires_php":"8.1","requires_plugins":null,"header_name":"MeroDiet \u2013 Dietitian Practice Manager","header_author":"Aashil","header_description":"Dietitian and nutritionist practice manager: client records, meal plans, food logs and USDA nutrition data in one dashboard.","assets_banners_color":"9fa0b6","last_updated":"2026-10-07 16:41:45","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/lihsaa591\/merodiet","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"lihsaa","date":"2026-10-07 16:41:45","revision":3733011}},"upgrade_notice":{"0.1.0":"<p>Initial directory release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3733011,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3733011,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3733011,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3733011,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3733039,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=merodiet\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"login\":true,\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"merodiet\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\n\\nuse MeroDiet\\\\Repositories\\\\ClientRepository;\\nuse MeroDiet\\\\Repositories\\\\CustomFoodRepository;\\nuse MeroDiet\\\\Repositories\\\\PlanRepository;\\nuse MeroDiet\\\\Repositories\\\\RecipeRepository;\\n\\n$practitioner = 1;\\n$clients      = new ClientRepository();\\n$foods        = new CustomFoodRepository();\\n$recipes      = new RecipeRepository();\\n$plans        = new PlanRepository();\\n\\nforeach ( array(\\n\\tarray( 'Priya', 'Thapa', 'Lose 6 kg with a steady routine', 'Vegetarian', array( 'peanuts' ) ),\\n\\tarray( 'Rohan', 'Karki', 'Gain lean muscle, 2,800 kcal target', '', array() ),\\n\\tarray( 'Sita', 'Gurung', 'Manage blood sugar with balanced meals', 'Low sugar', array( 'shellfish' ) ),\\n\\tarray( 'Arjun', 'Shrestha', 'Marathon prep: carb periodisation', '', array() ),\\n) as $c ) {\\n\\t$clients->create( $practitioner, array(\\n\\t\\t'first_name'           => $c[0],\\n\\t\\t'last_name'            => $c[1],\\n\\t\\t'email'                => strtolower( $c[0] ) . '@example.test',\\n\\t\\t'goals'                => $c[2],\\n\\t\\t'dietary_restrictions' => $c[3],\\n\\t\\t'allergies'            => $c[4],\\n\\t) );\\n}\\n\\n$f = array();\\nforeach ( array(\\n\\t'Rolled oats'          => array( 379, 13.2, 67.7, 6.5 ),\\n\\t'Greek yogurt'         => array( 59, 10.2, 3.6, 0.4 ),\\n\\t'Blueberries'          => array( 57, 0.7, 14.5, 0.3 ),\\n\\t'Chicken breast'       => array( 165, 31, 0, 3.6 ),\\n\\t'Brown rice, cooked'   => array( 123, 2.7, 25.6, 1 ),\\n\\t'Broccoli'             => array( 34, 2.8, 6.6, 0.4 ),\\n) as $name => $v ) {\\n\\t$f[ $name ] = $foods->create( $practitioner, array(\\n\\t\\t'name' => $name, 'calories' => $v[0], 'protein' => $v[1], 'carbs' => $v[2], 'fat' => $v[3],\\n\\t) );\\n}\\n\\n$bowl = $recipes->create( $practitioner, array(\\n\\t'name'        => 'Lemon herb chicken bowl',\\n\\t'description' => 'Grilled chicken over brown rice with steamed broccoli.',\\n\\t'servings'    => 1,\\n\\t'items'       => array(\\n\\t\\tarray( 'food_id' => $f['Chicken breast'], 'quantity_grams' => 150.0 ),\\n\\t\\tarray( 'food_id' => $f['Brown rice, cooked'], 'quantity_grams' => 150.0 ),\\n\\t\\tarray( 'food_id' => $f['Broccoli'], 'quantity_grams' => 100.0 ),\\n\\t),\\n) );\\n\\n$days = array();\\nfor ( $i = 0; $i < 3; $i++ ) {\\n\\t$days[] = array(\\n\\t\\t'day_offset' => $i,\\n\\t\\t'items'      => array(\\n\\t\\t\\tarray( 'meal_type' => 'breakfast', 'food_id' => $f['Rolled oats'], 'quantity_grams' => 60.0 ),\\n\\t\\t\\tarray( 'meal_type' => 'breakfast', 'food_id' => $f['Greek yogurt'], 'quantity_grams' => 150.0 ),\\n\\t\\t\\tarray( 'meal_type' => 'lunch', 'recipe_id' => $bowl, 'servings' => 1.0 ),\\n\\t\\t),\\n\\t);\\n}\\n$plans->create( $practitioner, array(\\n\\t'title'      => 'Balanced starter plan',\\n\\t'start_date' => gmdate( 'Y-m-d' ),\\n\\t'end_date'   => gmdate( 'Y-m-d', strtotime( '+2 days' ) ),\\n\\t'days'       => $days,\\n) );\\n\"}]}"}},"all_blocks":[],"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3733011,"resolution":"1","location":"assets","locale":"","width":1600,"height":845},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3733011,"resolution":"10","location":"assets","locale":"","width":1600,"height":850},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3733011,"resolution":"2","location":"assets","locale":"","width":1600,"height":849},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3733011,"resolution":"3","location":"assets","locale":"","width":1600,"height":850},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3733011,"resolution":"4","location":"assets","locale":"","width":1600,"height":848},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3733011,"resolution":"5","location":"assets","locale":"","width":1600,"height":854},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3733011,"resolution":"6","location":"assets","locale":"","width":1600,"height":850},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3733011,"resolution":"7","location":"assets","locale":"","width":1600,"height":848},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3733011,"resolution":"8","location":"assets","locale":"","width":1600,"height":1097},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3733011,"resolution":"9","location":"assets","locale":"","width":1600,"height":852}},"screenshots":{"1":"Dashboard with active clients, today's logging, plans awaiting review and 7-day client compliance.","2":"Client roster with photos, portal account status, search and filters.","3":"Client detail with plan compliance, current weight, log history and measurements.","4":"Meal plan library showing draft and assigned plans with average daily calories.","5":"Plan builder with meals per day, foods and recipes, and live nutrient totals.","6":"Custom food database with calories and macronutrients per 100 g.","7":"Client portal dashboard showing today's plan, meals logged and current weight.","8":"Client portal \"My Plan\" with each day's meals, quantities and nutrition totals.","9":"Client portal log where clients mark meals as eaten, substituted or skipped.","10":"Client portal measurements with weight history over time."}},"plugin_section":[],"plugin_tags":[27930,284865,42481,13467,284866],"plugin_category":[],"plugin_contributors":[284867],"plugin_business_model":[],"class_list":["post-380770","plugin","type-plugin","status-publish","hentry","plugin_tags-client-management","plugin_tags-dietitian","plugin_tags-meal-planner","plugin_tags-nutrition","plugin_tags-nutritionist","plugin_contributors-lihsaa","plugin_committers-lihsaa"],"banners":{"banner":"https:\/\/ps.w.org\/merodiet\/assets\/banner-772x250.png?rev=3733011","banner_2x":"https:\/\/ps.w.org\/merodiet\/assets\/banner-1544x500.png?rev=3733011","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/merodiet\/assets\/icon-128x128.png?rev=3733011","icon_2x":"https:\/\/ps.w.org\/merodiet\/assets\/icon-256x256.png?rev=3733011","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/merodiet\/assets\/screenshot-1.png?rev=3733011","caption":"Dashboard with active clients, today's logging, plans awaiting review and 7-day client compliance."},{"src":"https:\/\/ps.w.org\/merodiet\/assets\/screenshot-2.png?rev=3733011","caption":"Client roster with photos, portal account status, search and filters."},{"src":"https:\/\/ps.w.org\/merodiet\/assets\/screenshot-3.png?rev=3733011","caption":"Client detail with plan compliance, current weight, log history and measurements."},{"src":"https:\/\/ps.w.org\/merodiet\/assets\/screenshot-4.png?rev=3733011","caption":"Meal plan library showing draft and assigned plans with average daily calories."},{"src":"https:\/\/ps.w.org\/merodiet\/assets\/screenshot-5.png?rev=3733011","caption":"Plan builder with meals per day, foods and recipes, and live nutrient totals."},{"src":"https:\/\/ps.w.org\/merodiet\/assets\/screenshot-6.png?rev=3733011","caption":"Custom food database with calories and macronutrients per 100 g."},{"src":"https:\/\/ps.w.org\/merodiet\/assets\/screenshot-7.png?rev=3733011","caption":"Client portal dashboard showing today's plan, meals logged and current weight."},{"src":"https:\/\/ps.w.org\/merodiet\/assets\/screenshot-8.png?rev=3733011","caption":"Client portal \"My Plan\" with each day's meals, quantities and nutrition totals."},{"src":"https:\/\/ps.w.org\/merodiet\/assets\/screenshot-9.png?rev=3733011","caption":"Client portal log where clients mark meals as eaten, substituted or skipped."},{"src":"https:\/\/ps.w.org\/merodiet\/assets\/screenshot-10.png?rev=3733011","caption":"Client portal measurements with weight history over time."}],"raw_content":"<!--section=description-->\n<p>MeroDiet is a practice management tool for dietitians and nutritionists. It lives in your WordPress admin, so you can keep your clients, meal plans and progress notes in one place on your own website, without a separate monthly subscription.<\/p>\n\n<p>You build a meal plan, give it to a client, and the client follows it from a simple page on your site. You then see how they are doing.<\/p>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li><strong>Build a plan.<\/strong> Pick foods and recipes, and see the calories and nutrients add up as you go.<\/li>\n<li><strong>Give it to a client.<\/strong> Invite a client by email. They get their own login and see only their own plan.<\/li>\n<li><strong>The client logs their day.<\/strong> They tick off meals they ate, note any swaps, and record weight and other measurements.<\/li>\n<li><strong>You review progress.<\/strong> A dashboard shows how all your clients are doing, and what was planned against what was eaten for each person.<\/li>\n<\/ol>\n\n<h4>For practitioners<\/h4>\n\n<ul>\n<li><strong>Client list.<\/strong> Add clients, and send invitations to the client portal.<\/li>\n<li><strong>Meal plans.<\/strong> Build plans made of days and meals, using a recipe builder and your own custom foods.<\/li>\n<li><strong>Nutrition numbers.<\/strong> Calories and nutrients come from USDA FoodData Central, a free and trusted public food database.<\/li>\n<li><strong>Fixed plan totals.<\/strong> When you give a plan to a client, its totals are saved at that moment. Later changes to the food data will not quietly change a plan the client already has.<\/li>\n<li><strong>Dashboard.<\/strong> See compliance and recent activity across your clients.<\/li>\n<li><strong>Emails.<\/strong> Edit the emails sent to clients, and turn on a daily digest of client activity.<\/li>\n<li><strong>Your data, your choice.<\/strong> Keep or delete all MeroDiet data when you delete the plugin, with a setting under MeroDiet &gt; Settings.<\/li>\n<\/ul>\n\n<h4>For clients<\/h4>\n\n<ul>\n<li><strong>Their own portal.<\/strong> Clients sign in at <code>yoursite.com\/client-portal\/<\/code>, or you can place the portal on any page with the <code>[merodiet_client_portal]<\/code> shortcode.<\/li>\n<li><strong>Easy to use on a phone.<\/strong> The layout adapts to small screens.<\/li>\n<li><strong>Accessibility.<\/strong> The interface is tested with automated accessibility checks (axe).<\/li>\n<\/ul>\n\n<h4>Who is it for?<\/h4>\n\n<p>Registered dietitians, nutritionists and nutrition coaches who work with individual clients and want their plans and records on their own WordPress site.<\/p>\n\n<h4>Good to know<\/h4>\n\n<ul>\n<li>You need a free USDA FoodData Central API key. MeroDiet guides you to get one in Settings.<\/li>\n<li>MeroDiet adds two user roles, <code>practitioner<\/code> and <code>nutrition_client<\/code>. All access is limited to these roles.<\/li>\n<li>MeroDiet is a record-keeping and planning tool. It does not give medical advice.<\/li>\n<\/ul>\n\n<h4>Roadmap<\/h4>\n\n<p>MeroDiet is at an early stage. These features are planned and are not available yet. There are no release dates, and plans can change.<\/p>\n\n<ul>\n<li><strong>Analytics.<\/strong> Deeper reports on client progress and compliance over time.<\/li>\n<li><strong>White label.<\/strong> Use your own practice name and branding in the app, the portal and the emails.<\/li>\n<li><strong>GDPR tools.<\/strong> Export and erase a client's data on request, to help you meet your privacy duties.<\/li>\n<li><strong>Public REST API.<\/strong> Documented endpoints so you can connect MeroDiet to your own tools.<\/li>\n<li><strong>MCP connector.<\/strong> Let compatible AI assistants work with your MeroDiet data, only when you allow it.<\/li>\n<li>And more. Have an idea? Tell us at https:\/\/github.com\/lihsaa591\/merodiet\/issues<\/li>\n<\/ul>\n\n<h4>Use of 3rd Party Services<\/h4>\n\n<p>MeroDiet has one third-party service, and it is only contacted by a practitioner searching for or loading a food. No client or personal data is sent. MeroDiet does not include tracking, advertising or usage telemetry.<\/p>\n\n<ul>\n<li><strong>USDA FoodData Central<\/strong> (food search and nutrient data): <a href=\"https:\/\/fdc.nal.usda.gov\/api-guide.html\">Terms of Use<\/a> | <a href=\"https:\/\/www.usda.gov\/privacy-policy\">Privacy Policy<\/a>\n\n<ul>\n<li>Endpoint: https:\/\/api.nal.usda.gov\/fdc\/v1<\/li>\n<li>Data sent: the food search text or food ID being requested, and the API key you enter in MeroDiet settings.<\/li>\n<li>When: only when a food is not already cached locally.<\/li>\n<li>You need your own free API key: https:\/\/fdc.nal.usda.gov\/api-key-signup.html<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p>Emails (client invitations, plan notifications, the daily digest) are sent through your site's own mail setup using <code>wp_mail()<\/code>. MeroDiet does not connect to an email service itself, so any SMTP or email plugin you use applies.<\/p>\n\n<p>MeroDiet is not affiliated with or endorsed by the U.S. Department of Agriculture (USDA).<\/p>\n\n<h4>Data and privacy<\/h4>\n\n<p>Client records, plans, food logs and measurements are stored in custom tables in your WordPress database. Nothing is sent to the plugin author. Data is kept when you delete the plugin unless you turn on \"Delete all MeroDiet data when the plugin is deleted\" under MeroDiet &gt; Settings &gt; General.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>merodiet<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>MeroDiet<\/strong> in the admin menu and enter your USDA FoodData Central API key under Settings.<\/li>\n<li>Invite your first client.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20api%20key%3F\"><h3>Do I need an API key?<\/h3><\/dt>\n<dd><p>Yes. A free USDA FoodData Central key is required for food search and nutrient data.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20uninstall%3F\"><h3>What happens to my data if I uninstall?<\/h3><\/dt>\n<dd><p>Data is preserved by default. To remove all MeroDiet tables, options and roles when the plugin is deleted, turn on \"Delete all MeroDiet data when the plugin is deleted\" under MeroDiet &gt; Settings &gt; General first.<\/p><\/dd>\n<dt id=\"what%20are%20the%20requirements%3F\"><h3>What are the requirements?<\/h3><\/dt>\n<dd><p>WordPress 6.9+ and PHP 8.1+.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Pre-release; first submission to the WordPress.org directory (review version).<\/li>\n<\/ul>","raw_excerpt":"Dietitian and nutritionist practice manager: client records, meal plans, food logs and USDA nutrition data in one dashboard.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/380770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=380770"}],"author":[{"embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lihsaa"}],"wp:attachment":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=380770"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=380770"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=380770"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=380770"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=380770"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=380770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}