{"id":138641,"date":"2015-03-12T07:00:00","date_gmt":"2015-03-12T11:00:00","guid":{"rendered":"http:\/\/premium.wpmudev.org\/blog\/?p=138641"},"modified":"2016-12-22T23:32:28","modified_gmt":"2016-12-22T23:32:28","slug":"simplify-wordpress-backend","status":"publish","type":"post","link":"https:\/\/wpmudev.com\/blog\/simplify-wordpress-backend\/","title":{"rendered":"Tips for Simplifying WordPress to Make it Client-Friendly"},"content":{"rendered":"<h2>The WordPress backend is great if you&#8217;re used to it, but if you&#8217;re new to WordPress it definitely\u00a0comes with\u00a0a learning curve.<\/h2>\n<p>Average users usually spend their time in the posts section so why give them all those unrelated options? Clients could inadvertently switch or edit themes, or even disable plugins needed to run the site.<\/p>\n<p>Even if your client is well-behaved, perhaps you could do a little something to raise the efficiency of his or her day-to-day workload? Removing menu items, disabling plugin deactivation, modifying the dashboard, adding notices in the backend and so on.<\/p>\n<p>In this article I&#8217;ll show you some techniques to help you\u00a0streamline the WordPress backend for yourself or for your clients. We&#8217;ll look at some code-based solutions as well as\u00a0plugins.<!--more--><\/p>\n<h3>Removing Menu Items<\/h3>\n<p>Removing all that clutter in the admin menu on\u00a0the left-hand side of the screen is a good step toward WordPress zen. One handy method is to use Editor roles for your clients. This will remove tools, settings and a lot of plugin-specific menu items from view.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-138642\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/03\/editor.png\" alt=\"Editor\" width=\"700\" height=\"181\" \/><\/div>\n<\/div>\n<\/div>\n<p>This is not a perfect solution, however. You may want to hide W3 Total Cache from your clients, but not Advanced Custom Fields. In this case you&#8217;ll need to get your hands dirty with some code.<\/p>\n<p>One way to remove menus is with <code><a href=\"http:\/\/codex.wordpress.org\/Function_Reference\/remove_menu_page\" target=\"_blank\">remove_menu_page()<\/a><\/code> and <code><a href=\"http:\/\/codex.wordpress.org\/remove_submenu_page\" target=\"_blank\">remove_submenu_page()<\/a>.<\/code>\u00a0Just add the following snippet to your functions.php file:<\/p>\n<div class=\"gist\" data-gist=\"72db8fd0fed3941e4425\" data-gist-file=\"remove_menu_page.php\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/72db8fd0fed3941e4425.js?file=remove_menu_page.php\">Loading gist 72db8fd0fed3941e4425<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div>\n<p>The functions need to be called from within a function hooked to <code>admin_menu<\/code>. The example above removes the tools and settings menu. I used the <code>current_user_can()<\/code> function to make sure the menus were only removed for non-admins.<\/p>\n<p>A note about safety: Removing the menu entries does not mean the page is there. With the correct URL you could still get to this page &#8211; you&#8217;re just taking away easy access.<\/p>\n<p>Sub-menu elements can also be removed. If you are using the excellent <a href=\"https:\/\/wordpress.org\/plugins\/theme-check\/\" target=\"_blank\">Theme Check<\/a> plugin you may want to hide the entry, but not the whole appearance menu where it resides.<\/p>\n<div class=\"gist\" data-gist=\"72db8fd0fed3941e4425\" data-gist-file=\"remove_submenu_page.php\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/72db8fd0fed3941e4425.js?file=remove_submenu_page.php\">Loading gist 72db8fd0fed3941e4425<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div>\n<p>To figure out the two arguments I looked at the URL. <code>themes.php<\/code> is the slug of the parent element and <code>themecheck<\/code> is the slug of the sub-menu.<\/p>\n<h3>Disable Theme and Plugin Editing<\/h3>\n<p>By defining a constant in the <code>wp-config.php<\/code> file you can remove the file editing options in the plugins and appearance section. Most clients don&#8217;t need this at all anyway so disabling it could be a step forward.<\/p>\n<div class=\"gist\" data-gist=\"72db8fd0fed3941e4425\" data-gist-file=\"disable-edit.php\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/72db8fd0fed3941e4425.js?file=disable-edit.php\">Loading gist 72db8fd0fed3941e4425<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div>\n<p>The good news is that this doesn&#8217;t just hide the menu entry, it actually disables editing. Even if you know the URL you won&#8217;t be able to modify the theme or plugins through the admin.<\/p>\n<h3>Modify the Dashboard<\/h3>\n<p>Before we use code, don&#8217;t forget the screen options tab at the top of the page! It contains checkboxes to enable\/disable content on many screens. On the dashboard it allows you to switch each widget on and off.<\/p>\n<p>If your client needs occasional access to some widgets it may be best to educate them instead of hiding things from view permanently.<\/p>\n<h4>Removing Widgets<\/h4>\n<p>Removing widgets is easier than adding them, but it is less logical. WordPress doesn&#8217;t have a great system for handling the registration of widgets so we have to resort to complex arrays. The core of it all is the <code>$wp_meta_boxes<\/code> variable which is an array of all registered dashboard widgets.<\/p>\n<p><code>$wp_meta_boxes['dashboard']['side']<\/code> holds all the right-hand widgets, <code>$wp_meta_boxes['dashboard']['normal']<\/code> holds all the left side ones. It is easiest to print the array, search for what you need and unset it. To disable the Quick Press section you could use something like this:<\/p>\n<div class=\"gist\" data-gist=\"72db8fd0fed3941e4425\" data-gist-file=\"remove-widgets.php\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/72db8fd0fed3941e4425.js?file=remove-widgets.php\">Loading gist 72db8fd0fed3941e4425<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div>\n<h4>Adding Widgets<\/h4>\n<p>Widgets can be added using the <code>wp_add_dashboard_widget()<\/code> function. Once added, a widget can hold any type of content. From instructional videos to orientation messages and complex Javascript powered sales graphs, you can do anything.<\/p>\n<div class=\"gist\" data-gist=\"72db8fd0fed3941e4425\" data-gist-file=\"basic-widget.php\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/72db8fd0fed3941e4425.js?file=basic-widget.php\">Loading gist 72db8fd0fed3941e4425<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div>\n<p>The code above creates a simple widget with some text. Replace the text with any HTML you need to get the job done.<\/p>\n<p>Even a simple text-based widget could help a lot! You could add some guidelines and helpful links within a dashboard widget.<\/p>\n<div class=\"gist\" data-gist=\"72db8fd0fed3941e4425\" data-gist-file=\"guideline-widget.php\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/72db8fd0fed3941e4425.js?file=guideline-widget.php\">Loading gist 72db8fd0fed3941e4425<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div>\n<p>And here&#8217;s what it looks like in action:<\/p>\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-138648\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-06-at-12.52.32.png\" alt=\"Simple dashboard widget\" width=\"520\" height=\"402\" \/><\/div>\n<\/div>\n<p>Don&#8217;t forget that you can add any HTML in there and attach scripts and styles. This allows you to create anything from sales graphs to dynamic slideshows. We have a more in-depth article on <a href=\"https:\/\/wpmudev.com\/blog\/adding-custom-widgets-to-the-wordpress-admin-dashboard\/\" target=\"_blank\">Adding Custom Dashboard Widgets<\/a> which shows you how to create a comment trend bar chart like the image below &#8211; take a look if you want to learn more.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-132879\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2014\/10\/Comment-Trends.png\" alt=\"Comment Trends\" width=\"554\" height=\"267\" \/><\/div>\n<\/div>\n<\/div>\n<h3>Adding Help Text<\/h3>\n<p>WordPress has a great system for adding help text into the help section at the top of various screens. The tab to open this section is just next to the screen options and contains some basic information.<\/p>\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-138663\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/03\/help-section.png\" alt=\"help-section\" width=\"700\" height=\"253\" \/><\/div>\n<\/div>\n<p>You can add content there yourself and even better &#8211; add custom help text for your custom post types and other pages. All you need is the <code>add_help_tab()<\/code> function.<\/p>\n<div class=\"gist\" data-gist=\"72db8fd0fed3941e4425\" data-gist-file=\"add-help-text.php\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/72db8fd0fed3941e4425.js?file=add-help-text.php\">Loading gist 72db8fd0fed3941e4425<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div>\n<p>The code above adds an additional entry in the post section. You can target other screens by adding a post type or the name of the screen you are on. Print the value of the <code>$screen<\/code> variable to see what the contents are on each page.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-138667\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/03\/custom-help.png\" alt=\"Custom Help\" width=\"521\" height=\"222\" \/><\/div>\n<\/div>\n<\/div>\n<h3>Disable Theme Deactivation<\/h3>\n<p>You can prevent clients from deactivating specific plugins with a little bit of code. We&#8217;ll leverage the <code>plugin_action_links<\/code> hook to modify the display of links next to specific plugins.<\/p>\n<div class=\"gist\" data-gist=\"72db8fd0fed3941e4425\" data-gist-file=\"disable-deactivation.php\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/72db8fd0fed3941e4425.js?file=disable-deactivation.php\">Loading gist 72db8fd0fed3941e4425<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div>\n<p>The <code>$plugins<\/code> array contains the list of plugins you want to prevent from being disabled. If you&#8217;re not sure what string to add here simply print the <code>$plugin_file<\/code> variable which is passed to the function and find the plugin you need there.<\/p>\n<h3>Require and Recommend Plugins<\/h3>\n<p>Another way to manage required plugins \u2013 and also recommend some \u2013 is to use the awesome <a href=\"http:\/\/tgmpluginactivation.com\/\" target=\"_blank\">TGM Plugin Activation<\/a> class. By utilizing this class you can set your requirements and pull them in from the repository or even attach your own plugins to the theme as zip files.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-138674\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/03\/Screen-Shot-2015-03-04-at-14.47.51.png\" alt=\"TGM activation notice\" width=\"501\" height=\"177\" \/><\/div>\n<\/div>\n<\/div>\n<p>TGM has excellent documentation, take a look at the link above for all the code you&#8217;ll need to make this happen.<\/p>\n<h3>Admin Themes<\/h3>\n<p>Creating an environment where the user feels good is a big part of a successful project. The WordPress admin interface may be perfectly functional but this may not be enough. Admin themes are not as prevalent as their front-end counterparts and most of the better ones are premium themes but they can be worth their price.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-138683\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/03\/slate.jpg\" alt=\"Slate admin theme\" width=\"700\" height=\"357\" \/><\/div>\n<\/div>\n<\/div>\n<p>Admin themes, like <a href=\"https:\/\/wordpress.org\/plugins\/slate-admin-theme\/\" target=\"_blank\">Slate<\/a> pictured above are actually plugins. You can find them throughout the plugin repository as well as on marketplaces like CodeCanyon. We have a <a href=\"https:\/\/wpmudev.com\/blog\/10-impressive-wordpress-admin-themes-for-2014\/\" target=\"_blank\">roundup of admin themes<\/a> if you&#8217;re interested in a select few.<\/p>\n<h3>Using Plugins to Simplify the\u00a0Backend<\/h3>\n<p>A number of plugins have been made to make the WordPress admin interface more user friendly, easier to use, or add missing functionality. The plugins below are just some of the ones you can use to tailor the backend to your client.<\/p>\n<ul class=\"dev-tutorial-list\"><li class=\"dev-tutorial-list__item\"><header class=\"dev-tutorial-list__item__header\"><h3 class=\"dev-tutorial-list__item__title\">Advanced Custom Fields<\/h3><\/header><section class=\"dev-tutorial-list__item__image\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"195\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/03\/acf-600x195.png\" class=\"attachment-ratio-large size-ratio-large\" alt=\"Advanced Custom Fields image\" aria-hidden=\"true\" \/><\/section><!-- end dev-tutorial-list__item__image --><section class=\"dev-tutorial-list__item__content\"><p>You may know by now that ACF is one of my favourite plugins because it can be used for so much! Add some great custom fields like dropdowns, WYSIWYG editors, image fields and more! The premium product gives you even better fields like galleries, maps, repeaters and such.<\/p>\n<p>Use it to accept user input in a much more user-friendly way. You&#8217;re not restricted to text fields anymore, no more copy-pasting image IDs into textareas. This makes development a lot easier and data more modular across the site.<\/p>\n<\/section><!-- end dev-tutorial-list__item__content --><footer class=\"dev-tutorial-list__item__footer\"><p>Interested in Advanced Custom Fields?<\/p><div class=\"dev-tutorial-list__item__cta\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/advanced-custom-fields\/\" class=\"dui-btn dui-btn--sm dui-btn--brand dev-btn--View Plugin\">View Plugin<\/a><\/div><!-- end dev-tutorial-list__item__cta --><\/footer><!-- end dev-tutorial-list__item__footer --><\/li><!-- end dev-tutorial-list__item --><li class=\"dev-tutorial-list__item\"><header class=\"dev-tutorial-list__item__header\"><h3 class=\"dev-tutorial-list__item__title\">User Menu Simplifier<\/h3><\/header><section class=\"dev-tutorial-list__item__image\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"249\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/03\/user-admin-simplifier-600x249.jpg\" class=\"attachment-ratio-large size-ratio-large\" alt=\"User Menu Simplifier image\" aria-hidden=\"true\" \/><\/section><!-- end dev-tutorial-list__item__image --><section class=\"dev-tutorial-list__item__content\"><p>If you need granular control over who sees what in the menu User Menu Simplifier is the plugin for you. It allows you to select a user and enable\/disable any menu or submenu.<\/p>\n<p>This is a good choice for websites with few users, or if you want to disable some options for a test user or a one-time account.<\/p>\n<\/section><!-- end dev-tutorial-list__item__content --><footer class=\"dev-tutorial-list__item__footer\"><p>Interested in User Menu Simplifier?<\/p><div class=\"dev-tutorial-list__item__cta\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/user-admin-simplifier\/screenshots\/\" class=\"dui-btn dui-btn--sm dui-btn--brand dev-btn--View Plugin\">View Plugin<\/a><\/div><!-- end dev-tutorial-list__item__cta --><\/footer><!-- end dev-tutorial-list__item__footer --><\/li><!-- end dev-tutorial-list__item --><li class=\"dev-tutorial-list__item\"><header class=\"dev-tutorial-list__item__header\"><h3 class=\"dev-tutorial-list__item__title\">Ultimate Branding<\/h3><\/header><section class=\"dev-tutorial-list__item__image\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"293\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/03\/branding-600x293.jpg\" class=\"attachment-ratio-large size-ratio-large\" alt=\"Ultimate Branding image\" aria-hidden=\"true\" \/><\/section><!-- end dev-tutorial-list__item__image --><section class=\"dev-tutorial-list__item__content\"><p>Ultimate Branding\u00a0allows you to customize the backend by completely white labelling it. This can remove confusion on the client&#8217;s part. If they aren&#8217;t familiar with WordPress they may not want to see a log which is not theirs, not yours but some &#8220;mystical&#8221; third party logo on their website.<\/p>\n<p>Ultimate Branding is a good choice if you want to remove all traces of WordPress on a website&#8217;s backend.<\/p>\n<\/section><!-- end dev-tutorial-list__item__content --><footer class=\"dev-tutorial-list__item__footer\"><p>Interested in Ultimate Branding?<\/p><div class=\"dev-tutorial-list__item__cta\"><a target=\"_blank\" href=\"https:\/\/wpmudev.com\/project\/ultimate-branding\/\" class=\"dui-btn dui-btn--sm dui-btn--brand dev-btn--View Plugin\">View Plugin<\/a><\/div><!-- end dev-tutorial-list__item__cta --><\/footer><!-- end dev-tutorial-list__item__footer --><\/li><!-- end dev-tutorial-list__item --><li class=\"dev-tutorial-list__item\"><header class=\"dev-tutorial-list__item__header\"><h3 class=\"dev-tutorial-list__item__title\">Clean Up The Dashboard<\/h3><\/header><section class=\"dev-tutorial-list__item__image\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"267\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/03\/cleanupdashboard-600x267.jpg\" class=\"attachment-ratio-large size-ratio-large\" alt=\"Clean Up The Dashboard image\" aria-hidden=\"true\" \/><\/section><!-- end dev-tutorial-list__item__image --><section class=\"dev-tutorial-list__item__content\"><p>Clean Up The Dashboard\u00a0cleans up the dashboard automatically. It doesn&#8217;t give you granular control but if you don&#8217;t need many of the WordPress dashboard items (I never use them) this is a good one-click solution.<\/p>\n<\/section><!-- end dev-tutorial-list__item__content --><footer class=\"dev-tutorial-list__item__footer\"><p>Interested in Clean Up The Dashboard?<\/p><div class=\"dev-tutorial-list__item__cta\"><a target=\"_blank\" href=\"https:\/\/wpmudev.com\/project\/remove-wordpress-dashboard-widgets\/\" class=\"dui-btn dui-btn--sm dui-btn--brand dev-btn--View Plugin\">View Plugin<\/a><\/div><!-- end dev-tutorial-list__item__cta --><\/footer><!-- end dev-tutorial-list__item__footer --><\/li><!-- end dev-tutorial-list__item --><\/ul><!-- end dev-tutorial-list -->\n<h3>Conclusion<\/h3>\n<p>As a web developer it is your job to put effort into your clients&#8217; experiences, not just to focus on the end users. If a client doesn&#8217;t feel comfortable in an environment they won&#8217;t follow best practices which will lead to a deteriorating website.<\/p>\n<p>It&#8217;s easy to blame this on the WordPress admin but it <em>is<\/em> in your power to change it \u2013 quite substantially if you look at the admin themes on offer.<\/p>\n<p><strong>Do you have any great admin customizations under your belt? Let us know\u00a0in the comments below\u00a0so we can all learn from each other.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The WordPress backend is great if you&#8217;re used to it, but if you&#8217;re new it definitely comes with a learning curve. Fortunately, there are many ways you can make WordPress client-friendly. Here are our top techniques for simplifying the admin area.<\/p>\n","protected":false},"author":344049,"featured_media":138959,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"blog_reading_time":"","wds_primary_category":0,"wds_primary_tutorials_categories":0,"footnotes":""},"categories":[557,263],"tags":[10211,390,131],"tutorials_categories":[],"class_list":["post-138641","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","category-tutorials","tag-admin","tag-code","tag-developers"],"_links":{"self":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/138641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/users\/344049"}],"replies":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/comments?post=138641"}],"version-history":[{"count":2,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/138641\/revisions"}],"predecessor-version":[{"id":161729,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/138641\/revisions\/161729"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media\/138959"}],"wp:attachment":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media?parent=138641"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/categories?post=138641"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tags?post=138641"},{"taxonomy":"tutorials_categories","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tutorials_categories?post=138641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}