{"id":154854,"date":"2024-12-05T14:10:24","date_gmt":"2024-12-05T20:10:24","guid":{"rendered":"https:\/\/wpengine.com\/?post_type=resource&#038;p=154854"},"modified":"2024-12-05T14:10:32","modified_gmt":"2024-12-05T20:10:32","slug":"how-to-create-and-install-must-use-plugins-in-wordpress","status":"publish","type":"resource","link":"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/","title":{"rendered":"How to Create and Install Must-Use Plugins in WordPress"},"content":{"rendered":"\n<p>Must-use plugins are a type of <a href=\"https:\/\/wpengine.com\/resources\/wordpress-plugins\/\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress plugin<\/a> that remains permanently enabled and cannot be deactivated from the admin dashboard. Often abbreviated as \u201cmu-plugins,\u201d they\u2019re used to ensure critical site-wide modifications or features are always activated. <\/p>\n\n\n\n<p>In this article, we\u2019ll discuss some of the use cases for mu-plugins and show you how to build one for your WordPress site.<\/p>\n\n\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What are mu-plugins?<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Before we go any further, let\u2019s clarify what exactly mu-plugins are.<\/p>\n\n\n\n<p>As noted above, mu-plugins are always active on your WordPress site, but what truly sets them apart is how WordPress loads and manages them.&nbsp;<\/p>\n\n\n\n<p>Unlike standard plugins, which you manage through the <a href=\"https:\/\/wpengine.com\/resources\/beginner-wordpress-dashboard-tutorial\/\" target=\"_blank\" rel=\"noreferrer noopener\">admin dashboard<\/a>, mu-plugins are automatically included during the WordPress initialization process. They load earlier in the sequence, giving them priority over regular plugins.\u00a0<\/p>\n\n\n\n<p>This early execution is essential for enforcing critical functionality, such as maintaining security protocols or ensuring specific features remain active without risk of accidental deactivation.&nbsp;<\/p>\n\n\n\n<p>Mu-plugins also differ in how they\u2019re set up. Instead of residing in the general plugins folder, they\u2019re stored in a dedicated directory (<code>wp-content\/mu-plugins<\/code>). They don\u2019t require activation, nor do they show up in the WordPress admin interface for updates or deactivation.\u00a0<\/p>\n\n\n\n<p>This design makes them a powerful tool for developers who want to lock in essential functionality while <a href=\"https:\/\/wpengine.com\/resources\/security-ebook-prevention-is-better-than-the-cure\/\" target=\"_blank\" rel=\"noreferrer noopener\">minimizing risks<\/a> from user errors or misconfigurations, ensuring site reliability and security.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Mu-plugin use cases<\/strong><\/h2>\n\n\n\n<p>There are a lot of situations where mu-plugins are useful, typically in cases where you want your WordPress site to include custom code that can\u2019t be easily disabled, at least by accident.<\/p>\n\n\n\n<p>Normal WordPress plugins can usually be deactivated with a single mouse click from within the WordPress admin. Deactivating a mu-plugin requires that you first have access to <code>wp-content\/mu-plugins<\/code>, and then manually deleting the file.\u00a0<\/p>\n\n\n\n<p>The specific use case for your mu-plugin will vary depending on your site and what you\u2019re trying to achieve. The list below is by no means exhaustive, but it gives you some idea of the most common use cases:&nbsp;<\/p>\n\n\n\n<p><strong>1. Security: <\/strong>Mu-plugins can be used to implement security measures that cannot be disabled by users, even those with admin-level access.&nbsp;<\/p>\n\n\n\n<p><strong>2.<\/strong> <strong>Performance:<\/strong> Mu-plugins can be used to optimize performance by loading critical functionality early in the WordPress loading process.<\/p>\n\n\n\n<p><strong>3. Customization:<\/strong> Mu-plugins can be used to implement custom functionality that is specific to a particular WordPress installation.&nbsp;<\/p>\n\n\n\n<p><strong>4. Portability: <\/strong>Using mu-plugins for custom code enhances portability because the code is not tied to a specific theme. Custom code added to the <code>functions.php<\/code> file of a theme can be lost if the theme is updated or changed, but mu-plugins remain active regardless of theme changes. This ensures that critical custom functionalities are preserved across different themes and updates.<\/p>\n\n\n\n<p><strong>5. Multisite networks: <\/strong>Mu-plugins are particularly useful in multisite networks, where they can be used to implement network-wide functionality.<\/p>\n\n\n\n<p><strong>6. Host-specific features: <\/strong>Your host may install a mu-plugin on your WordPress site to activate certain features specific to their services.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How to create a mu-plugin<\/strong><\/h2>\n\n\n\n<p>By default, mu-plugins are located in the <code>wp-content\/mu-plugins<\/code> directory of your WordPress installation. You can change this directory by defining the <code>WPMU_PLUGIN_DIR<\/code> and <code>WPMU_PLUGIN_URL<\/code> attributes in your <code>wp-config.php<\/code> file.<\/p>\n\n\n\n<p>There are some best practices and caveats you should be aware of before you create your mu-plugin.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Best practices<\/strong><\/h3>\n\n\n\n<p><strong>1. Use a unique filename: <\/strong>Use a unique filename for your mu-plugin to avoid conflicts with other plugins. Remember that mu-plugins are loaded alphabetically by file name. This may be important if you have multiple mu-plugins.<\/p>\n\n\n\n<p><strong>2. Keep it simple: <\/strong>Keep your mu-plugin code simple and focused on a specific task.<\/p>\n\n\n\n<p><strong>3. Test thoroughly:<\/strong> Test your mu-plugin thoroughly to ensure it does not cause any issues with your WordPress installation. We recommend testing in a <a href=\"https:\/\/wpengine.com\/support\/environments\/\" target=\"_blank\" rel=\"noreferrer noopener\">staging environment<\/a> or with a tool like <a href=\"https:\/\/localwp.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Local<\/a> before rolling it out to your production site.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Caveats<\/strong><\/h3>\n\n\n\n<p><strong>1. No activation hooks:<\/strong> Mu-plugins cannot use activation hooks, which are commonly used by regular plugins to initialize or set up the plugin. This means any setup code that relies on these hooks will <em>not<\/em> be executed for mu-plugins.<\/p>\n\n\n\n<p><strong>2. Update notifications:<\/strong> Mu-plugins do not appear in the update notifications list in the WordPress admin dashboard, even if you\u2019re using a mu-plugin created by someone else. You will need to make any updates manually.&nbsp;<\/p>\n\n\n\n<p><strong>3. Security:<\/strong> Since mu-plugins are always active and cannot be deactivated through the WordPress admin, it is crucial to use trusted and secure mu-plugins to avoid introducing malware or errors that could affect the entire site or network.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Creating a mu-plugin for WordPress: A step-by-step tutorial<\/strong><\/h2>\n\n\n\n<p>In this tutorial, we&#8217;ll create a simple mu-plugin that adds a custom footer message to the WordPress admin dashboard. We&#8217;ll cover the basics of mu-plugin development, including creating the plugin file, adding functionality, and testing the plugin.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 1: Create the mu-plugin file<\/strong><\/h3>\n\n\n\n<p>To create a mu-plugin, you&#8217;ll need to create a PHP file in the <code>wp-content\/mu-plugins<\/code> directory of your WordPress installation. If the <code>mu-plugins<\/code> directory doesn&#8217;t exist, create it.&nbsp;<\/p>\n\n\n\n<p>Using your favorite code editor or IDE, create a new file called <code>custom-footer-message.php<\/code> in the <code>wp-content\/mu-plugins<\/code> directory.<\/p>\n\n\n\n<p>It\u2019s possible to use a text editor to write PHP files by switching the file extension from <code>.txt<\/code> to <code>.php<\/code>. This will work, but we strongly recommend against it. There are code editors available for free, such as <a href=\"https:\/\/code.visualstudio.com\/\">VSCode<\/a>, with features like syntax highlighting, auto-completion, and error checking, which can make coding more efficient and less prone to errors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Add the plugin header<\/h3>\n\n\n\n<p>In WordPress, plugins typically include a header that provides information about the plugin, such as its name, description, and version. While mu-plugins don&#8217;t require a header, it&#8217;s a good practice to include one to provide context about the plugin.<\/p>\n\n\n\n<p>Add the following code to the top of the `custom-footer-message.php` file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\/*\nPlugin Name: Custom Footer Message\nDescription: Adds a custom footer message to the WordPress admin dashboard\nVersion: 1.0\n*\/\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 3: Add the plugin functionality<\/strong><\/h3>\n\n\n\n<p>In this example, we&#8217;ll add a custom footer message to the WordPress admin dashboard. We&#8217;ll use the <code>admin_footer_text<\/code> filter to modify the footer text.<\/p>\n\n\n\n<p>Add the following code to the <code>custom-footer-message.php<\/code> file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function custom_footer_message() {\n  return 'This is a custom footer message!';\n}\nadd_filter( 'admin_footer_text', 'custom_footer_message' );\n<\/code><\/pre>\n\n\n\n<p>This code defines a function called <code>custom_footer_message<\/code> that returns the custom footer message. We then use the <code>add_filter<\/code> function to hook into the <code>admin_footer_text<\/code> filter and modify the footer text.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 4: Test the plugin<\/strong><\/h3>\n\n\n\n<p>To test the plugin, simply save the <code>custom-footer-message.php<\/code> file and refresh the WordPress admin dashboard. You should see the custom footer message displayed at the bottom of the page.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"176\" src=\"https:\/\/wpengine.com\/wp-content\/uploads\/2024\/12\/mu-plugins-article-custom-footer-message.png\" alt=\"Screenshot of part of the WordPress admin, with &quot;This is a custom footer message!&quot; displayed in the footer. \" class=\"wp-image-154856\" srcset=\"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2024\/12\/mu-plugins-article-custom-footer-message.png 800w, https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2024\/12\/mu-plugins-article-custom-footer-message-540x119.png 540w, https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2024\/12\/mu-plugins-article-custom-footer-message-768x169.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p>Mu-plugins offer a powerful way to extend and customize your WordPress site. However, it&#8217;s essential to use them responsibly and with caution, as they can drastically change the way your WordPress site functions. This is particularly true for multisite networks, as they can be used to implement network-wide functionality, with impacts cascading down to the individual sites.&nbsp;<\/p>\n\n\n\n<p>Always test your mu-plugins thoroughly, and consider using a version control system such as git to manage your code and track changes.<\/p>\n\n\n\n<p><strong>Find more content like this on <\/strong><a href=\"https:\/\/wpengine.com\/solution-center\/wp-engine-resource-center\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>WP Engine\u2019s Resource Center<\/strong><\/a><strong> and visit <\/strong><a href=\"https:\/\/wpengine.com\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>casestudies26.wpengine.com<\/strong><\/a><strong> to learn more about hosting your sites on the most trusted platform for WordPress.\u00a0<\/strong><br>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Must-use plugins are a type of WordPress plugin that remains permanently enabled and cannot be deactivated from the admin dashboard. Often abbreviated as \u201cmu-plugins,\u201d they\u2019re used to ensure critical site-wide modifications or features are always activated. In this article, we\u2019ll discuss some of the use cases for mu-plugins and show you how to build one<span class=\"tile__ellipses\">&hellip;<\/span><span class=\"tile__ellipses--animated\"><\/span><\/p>\n","protected":false},"author":414,"featured_media":154909,"template":"","resource-topic":[901],"resource-role":[895,896,897,899],"resource-type":[916],"class_list":["post-154854","resource","type-resource","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Create and Install Must-Use Plugins in WordPress<\/title>\n<meta name=\"description\" content=\"Learn how to create and use mu-plugins in WordPress to enforce essential site-wide functionality with our step-by-step guide.\" \/>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create and Install Must-Use Plugins in WordPress\" \/>\n<meta property=\"og:description\" content=\"Learn how to create and use mu-plugins in WordPress to enforce essential site-wide functionality with our step-by-step guide.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/\" \/>\n<meta property=\"og:site_name\" content=\"WP Engine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/wpengine\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-05T20:10:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2024\/12\/muplugin1_1200x627.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2024\/12\/muplugin1_1200x627.png\" \/>\n<meta name=\"twitter:site\" content=\"@wpengine\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/\",\"url\":\"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/\",\"name\":\"How to Create and Install Must-Use Plugins in WordPress\",\"isPartOf\":{\"@id\":\"https:\/\/wpengine.com\/case-studies\/#website\"},\"datePublished\":\"2024-12-05T20:10:24+00:00\",\"dateModified\":\"2024-12-05T20:10:32+00:00\",\"description\":\"Learn how to create and use mu-plugins in WordPress to enforce essential site-wide functionality with our step-by-step guide.\",\"breadcrumb\":{\"@id\":\"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wpengine.com\/case-studies\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Resources\",\"item\":\"https:\/\/wpengine.com\/case-studies\/resources\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Create and Install Must-Use Plugins in WordPress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/#website\",\"url\":\"https:\/\/wpengine.com\/case-studies\/\",\"name\":\"WP Engine\",\"description\":\"Managed Hosting for WordPress\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wpengine.com\/case-studies\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/#\/schema\/person\/579a2f6ae3f812931a823d14ccfb8c4b\",\"name\":\"Mike Davey\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c7b5657436bc691685001a6b303ba37795ae34ecb50b824ca7c6b0043cd1973a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c7b5657436bc691685001a6b303ba37795ae34ecb50b824ca7c6b0043cd1973a?s=96&d=mm&r=g\",\"caption\":\"Mike Davey\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Create and Install Must-Use Plugins in WordPress","description":"Learn how to create and use mu-plugins in WordPress to enforce essential site-wide functionality with our step-by-step guide.","robots":{"index":"noindex","follow":"follow"},"og_locale":"en_US","og_type":"article","og_title":"How to Create and Install Must-Use Plugins in WordPress","og_description":"Learn how to create and use mu-plugins in WordPress to enforce essential site-wide functionality with our step-by-step guide.","og_url":"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/","og_site_name":"WP Engine","article_publisher":"https:\/\/www.facebook.com\/wpengine","article_modified_time":"2024-12-05T20:10:32+00:00","og_image":[{"width":1200,"height":627,"url":"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2024\/12\/muplugin1_1200x627.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2024\/12\/muplugin1_1200x627.png","twitter_site":"@wpengine","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/","url":"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/","name":"How to Create and Install Must-Use Plugins in WordPress","isPartOf":{"@id":"https:\/\/wpengine.com\/case-studies\/#website"},"datePublished":"2024-12-05T20:10:24+00:00","dateModified":"2024-12-05T20:10:32+00:00","description":"Learn how to create and use mu-plugins in WordPress to enforce essential site-wide functionality with our step-by-step guide.","breadcrumb":{"@id":"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wpengine.com\/case-studies\/resources\/how-to-create-and-install-must-use-plugins-in-wordpress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wpengine.com\/case-studies\/"},{"@type":"ListItem","position":2,"name":"Resources","item":"https:\/\/wpengine.com\/case-studies\/resources\/"},{"@type":"ListItem","position":3,"name":"How to Create and Install Must-Use Plugins in WordPress"}]},{"@type":"WebSite","@id":"https:\/\/wpengine.com\/case-studies\/#website","url":"https:\/\/wpengine.com\/case-studies\/","name":"WP Engine","description":"Managed Hosting for WordPress","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wpengine.com\/case-studies\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/wpengine.com\/case-studies\/#\/schema\/person\/579a2f6ae3f812931a823d14ccfb8c4b","name":"Mike Davey","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wpengine.com\/case-studies\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c7b5657436bc691685001a6b303ba37795ae34ecb50b824ca7c6b0043cd1973a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c7b5657436bc691685001a6b303ba37795ae34ecb50b824ca7c6b0043cd1973a?s=96&d=mm&r=g","caption":"Mike Davey"}}]}},"acf":[],"grid_image_url":"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2024\/12\/muplugin1_343x245.png","media-type":{"term_id":916,"name":"Article","slug":"article"},"role":"<strong>Roles:<\/strong> Agency, Developer, Freelancer, Site Owner","topic":"<strong>Topics:<\/strong> WordPress","_links":{"self":[{"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource\/154854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource"}],"about":[{"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/types\/resource"}],"author":[{"embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/users\/414"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/media\/154909"}],"wp:attachment":[{"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/media?parent=154854"}],"wp:term":[{"taxonomy":"resource-topic","embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource-topic?post=154854"},{"taxonomy":"resource-role","embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource-role?post=154854"},{"taxonomy":"resource-type","embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource-type?post=154854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}