{"id":7280,"date":"2014-12-17T11:00:58","date_gmt":"2014-12-17T17:00:58","guid":{"rendered":"https:\/\/getflywheel.com\/?p=7280"},"modified":"2023-09-13T14:41:09","modified_gmt":"2023-09-13T19:41:09","slug":"wp-core","status":"publish","type":"resource","link":"https:\/\/wpengine.com\/case-studies\/resources\/wp-core\/","title":{"rendered":"Why you Shouldn&#8217;t Ever Edit the WordPress Core"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">You know you can customize and shape WordPress to fit any look or need imaginable, and people have built millions of incredibly unique websites around it. Plugins and themes allow WordPress developers to extend the core functionality and turn it into something powerful and individual.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No matter how a WordPress installation is configured or customized, however, they all have one thing in common: They\u2019re all built on top of the WordPress core.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The core is the cornerstone behind WordPress. It&#8217;s a piece of work eleven years and several major release versions in the making. Every WordPress site is powered by the same core code, no matter how differently they operate or look. Let&#8217;s peek behind the curtain of the WordPress core and take a look at its biggest cardinal rule\u2014why you should never ever edit the core. Then, on a less strict note, we&#8217;ll get into how it&#8217;s updated and released, as well as how to get involved in making it better.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Don\u2019t Edit the Core!<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The WordPress core has one big, huge, major, important rule: <strong>Never edit core files. Ever.<\/strong> Even core developers don\u2019t mess around with the core on production servers. Here\u2019s why.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When the WordPress core gets updated, it overwrites the core installation with any new updates included in the release. If the core has been chopped up and modified beforehand, it&#8217;ll wipe out those changes. That means big sections of the installation will just stop working.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Worse, modifying the core can have all kinds of unintended consequences, like preventing updates from working correctly, further screwing up an installation. But wait! There&#8217;s more! Even worse than that is the potential to introduce unintended security vulnerabilities. Messing with core files could easily introduce a hole in WordPress\u2019 security, allowing hackers to take over a site.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter wp-image-20932 size-full\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2014\/12\/DSC_0294_900.jpg\" alt=\"never-edit-wordpress-core-1\" class=\"wp-image-20932\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Understand the Core&#8217;s File Structure<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now that we\u2019ve hammered home why you shouldn&#8217;t edit core files, let\u2019s take a quick nerd moment to look through their structure. Here\u2019s what a base directory looks like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>license.txt\n readme.html\n wp-activate.php\n wp-admin\/\n wp-blog-header.php\n wp-comments-post.php\n wp-config-sample.php\n wp-content\/\n wp-cron.php\n wp-includes\/\n wp-links-opml.php\n wp-load.php\n wp-login.php\n wp-mail.php\n wp-settings.php\n wp-signup.php\n wp-trackback.php\n xmlrpc.php<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s the WordPress Core in its entirety. The folders <code>wp-admin<\/code>, <code>wp-content<\/code>, and <code>wp-includes<\/code> have the bulk of the code that powers WordPress, namely the back-end code that powers the WordPress dashboard, for example.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Familiarize Yourself With the Core&#8217;s Release Cycle<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">So if we aren&#8217;t supposed to edit the core, who is? Let&#8217;s talk about the people who implement features and push out updates. Lead developers, core developers, and guest committers, many of whom work for WordPress\u2019 parent company Automattic, all work together to maintain the WordPress core. Some core developers and guest committers, however, contribute either on their own accord or because they\u2019re associated with another WordPress related company. Because WordPress is fully open source, anyone is free to contribute documentation and code to the codebase. However, commit access on the core is limited, and any new contributions go through a code review process.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress developers utilize a formalized release cycle for major releases, and according to the core handbook, release cycles are broken down into five phases:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Planning and securing team leads<\/strong><br>Discussions and planning take place regarding the features and fixes that need to be made, and developers are assigned different tasks and\/or take the lead on specific feature implementations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Development work begins<\/strong><br>Actual feature implementation and bugfixes begin. At this point, implementing actual code and performing automated tests is done by developers and team\/project leads coordinate the arrangement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Beta testing<\/strong><br>After development work has made significant progress, the codebase is released to beta testers and anyone who is interested in living on the bleeding edge. Users discover and report bugs and other inconsistencies with the new code, and developers make fixes accordingly. At this point, no new features are added.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Release candidate<\/strong><br>Once everything is locked in, final tests are run on the codebase to ensure its stability, security, and implementation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Launch<\/strong><br>The release is launched to the public and available on every WordPress admin console for downloading.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This phase is repeated for each release cycle, with major point releases being published two or three times a year. There are also usually several security releases, which come in the form of sub points, like 4.0.1. 4.0.1 is a fix for some security vulnerabilities discovered in version 4.0 that needed to be repaired. Security releases do not include any new features\u2014they just focus on hardening the security of WordPress.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Update to Decrease Your Site&#8217;s Vulnerability<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s always a good idea to update to the latest available version of WordPress. Also, make sure to use themes and plugins that aren&#8217;t version dependent or specific. WordPress is an incredibly popular platform, which makes it a prime target for hackers. Hackers give WordPress a lot of extra scrutiny because of how widely it\u2019s used.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress plugin developers and core developers work hard to keep the platform as secure as possible and to immediately release patches for any discovered vulnerabilities. That\u2019s why keeping WordPress updated is so important\u2014you\u2019ll stay ahead of the hackers while getting to use all of the great new features introduced by developers. You can update the core via the WordPress admin panel manually, although hosts like <a href=\"https:\/\/wpengine.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">WP Engine<\/a> will update it for you automatically, keeping your sites patched and secure.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter wp-image-20936 size-full\"><img decoding=\"async\" src=\"https:\/\/getflywheel-images.s3.us-east-2.amazonaws.com\/uploads\/2014\/12\/never-edit-wordpress-core-2.jpg\" alt=\"never-edit-wordpress-core-2\" class=\"wp-image-20936\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Get Involved<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Getting involved with an open-source project can be an immensely rewarding experience, and your contributions have an opportunity to impact hundreds or even thousands of people. For WordPress specifically, there\u2019s a great deal of work to do for developers and nondevelopers alike. It\u2019s always great to write code and contribute to the functionality of your favorite open-source projects, but WordPress also requires a great deal of technical documentation and copy editing as well.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress.org maintains the Codex, which is a large repository of information surrounding WordPress, including information such as technical documentations, How Tos, and introductions to WordPress. The Codex <a href=\"https:\/\/codex.wordpress.org\/Codex:Contributing\" target=\"_blank\" rel=\"noopener noreferrer\">has a section dedicated to contributors<\/a> and discusses in detail how you can get involved in valuable, important work that doesn\u2019t involve writing and committing code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re a developer and getting involved in core code is more of your thing, an awesome way to start contributing is by submitting bug fixes. The WordPress core team has <a href=\"https:\/\/make.wordpress.org\/core\/handbook\/fixing-bugs\/\" target=\"_blank\" rel=\"noopener noreferrer\">put together a great guide<\/a> on finding bugs to fix and how to go about fixing them.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You know you can customize and shape WordPress to fit any look or need imaginable, and people have built millions of incredibly unique websites around it. Plugins and themes allow WordPress developers to extend the core functionality and turn it into something powerful and individual. No matter how a WordPress installation is configured or customized,<span class=\"tile__ellipses\">&hellip;<\/span><span class=\"tile__ellipses--animated\"><\/span><\/p>\n","protected":false},"author":1,"featured_media":141375,"template":"","resource-topic":[901],"resource-role":[896,897],"resource-type":[916],"class_list":["post-7280","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>Why You Shouldn&#039;t Ever Edit the WordPress Core<\/title>\n<meta name=\"description\" content=\"Let&#039;s peek behind the curtain of the WordPress core and take a look at its biggest cardinal rule: Why you should never ever edit the core.\" \/>\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=\"Why You Shouldn&#039;t Ever Edit the WordPress Core\" \/>\n<meta property=\"og:description\" content=\"Let&#039;s peek behind the curtain of the WordPress core and take a look at its biggest cardinal rule: Why you should never ever edit the core.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wpengine.com\/case-studies\/resources\/wp-core\/\" \/>\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=\"2023-09-13T19:41:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2014\/12\/core-header.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Why You Shouldn&#039;t Ever Edit the WordPress Core\" \/>\n<meta name=\"twitter:description\" content=\"Let&#039;s peek behind the curtain of the WordPress core and take a look at its biggest cardinal rule: Why you should never ever edit the core.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2014\/12\/core-header.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\/wp-core\/\",\"url\":\"https:\/\/wpengine.com\/case-studies\/resources\/wp-core\/\",\"name\":\"Why You Shouldn't Ever Edit the WordPress Core\",\"isPartOf\":{\"@id\":\"https:\/\/wpengine.com\/case-studies\/#website\"},\"datePublished\":\"2014-12-17T17:00:58+00:00\",\"dateModified\":\"2023-09-13T19:41:09+00:00\",\"description\":\"Let's peek behind the curtain of the WordPress core and take a look at its biggest cardinal rule: Why you should never ever edit the core.\",\"breadcrumb\":{\"@id\":\"https:\/\/wpengine.com\/case-studies\/resources\/wp-core\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wpengine.com\/case-studies\/resources\/wp-core\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/resources\/wp-core\/#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\":\"Why you Shouldn&#8217;t Ever Edit the WordPress Core\"}]},{\"@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\/f5301455463371a10d1fc290e9ad0085\",\"name\":\"WP Engine\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wpengine.com\/case-studies\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g\",\"caption\":\"WP Engine\"},\"sameAs\":[\"https:\/\/wpengine.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Why You Shouldn't Ever Edit the WordPress Core","description":"Let's peek behind the curtain of the WordPress core and take a look at its biggest cardinal rule: Why you should never ever edit the core.","robots":{"index":"noindex","follow":"follow"},"og_locale":"en_US","og_type":"article","og_title":"Why You Shouldn't Ever Edit the WordPress Core","og_description":"Let's peek behind the curtain of the WordPress core and take a look at its biggest cardinal rule: Why you should never ever edit the core.","og_url":"https:\/\/wpengine.com\/case-studies\/resources\/wp-core\/","og_site_name":"WP Engine","article_publisher":"https:\/\/www.facebook.com\/wpengine","article_modified_time":"2023-09-13T19:41:09+00:00","og_image":[{"width":1100,"height":500,"url":"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2014\/12\/core-header.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_title":"Why You Shouldn't Ever Edit the WordPress Core","twitter_description":"Let's peek behind the curtain of the WordPress core and take a look at its biggest cardinal rule: Why you should never ever edit the core.","twitter_image":"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2014\/12\/core-header.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\/wp-core\/","url":"https:\/\/wpengine.com\/case-studies\/resources\/wp-core\/","name":"Why You Shouldn't Ever Edit the WordPress Core","isPartOf":{"@id":"https:\/\/wpengine.com\/case-studies\/#website"},"datePublished":"2014-12-17T17:00:58+00:00","dateModified":"2023-09-13T19:41:09+00:00","description":"Let's peek behind the curtain of the WordPress core and take a look at its biggest cardinal rule: Why you should never ever edit the core.","breadcrumb":{"@id":"https:\/\/wpengine.com\/case-studies\/resources\/wp-core\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wpengine.com\/case-studies\/resources\/wp-core\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wpengine.com\/case-studies\/resources\/wp-core\/#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":"Why you Shouldn&#8217;t Ever Edit the WordPress Core"}]},{"@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\/f5301455463371a10d1fc290e9ad0085","name":"WP Engine","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wpengine.com\/case-studies\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g","caption":"WP Engine"},"sameAs":["https:\/\/wpengine.com"]}]}},"acf":[],"grid_image_url":"https:\/\/wpengine.com\/case-studies\/wp-content\/uploads\/2014\/12\/core-grid.png","media-type":{"term_id":916,"name":"Article","slug":"article"},"role":"<strong>Roles:<\/strong> Developer, Freelancer","topic":"<strong>Topics:<\/strong> WordPress","_links":{"self":[{"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource\/7280","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\/1"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/media\/141375"}],"wp:attachment":[{"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/media?parent=7280"}],"wp:term":[{"taxonomy":"resource-topic","embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource-topic?post=7280"},{"taxonomy":"resource-role","embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource-role?post=7280"},{"taxonomy":"resource-type","embeddable":true,"href":"https:\/\/wpengine.com\/case-studies\/wp-json\/wp\/v2\/resource-type?post=7280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}