{"id":177,"date":"2025-07-05T04:22:40","date_gmt":"2025-07-05T04:22:40","guid":{"rendered":"https:\/\/mitalgoswami.in\/?p=177"},"modified":"2025-07-17T06:49:39","modified_gmt":"2025-07-17T06:49:39","slug":"177","status":"publish","type":"post","link":"https:\/\/mitalgoswami.in\/?p=177","title":{"rendered":"wordpress theme common file structure"},"content":{"rendered":"\n<p>my-theme\/<br>\u2502<br>\u251c\u2500\u2500 style.css<br>\u251c\u2500\u2500 index.php<br>\u251c\u2500\u2500 functions.php<br>\u251c\u2500\u2500 screenshot.png<br>\u251c\u2500\u2500 readme.txt<br>\u2502<br>\u251c\u2500\u2500 header.php<br>\u251c\u2500\u2500 footer.php<br>\u251c\u2500\u2500 sidebar.php<br>\u251c\u2500\u2500 front-page.php<br>\u251c\u2500\u2500 home.php<br>\u251c\u2500\u2500 page.php<br>\u251c\u2500\u2500 single.php<br>\u251c\u2500\u2500 archive.php<br>\u251c\u2500\u2500 category.php<br>\u251c\u2500\u2500 tag.php<br>\u251c\u2500\u2500 search.php<br>\u251c\u2500\u2500 404.php<br>\u251c\u2500\u2500 comments.php<br>\u2502<br>\u251c\u2500\u2500 template-parts\/<br>\u2502 \u2514\u2500\u2500 content.php<br>\u2502<br>\u251c\u2500\u2500 assets\/<br>\u2502 \u251c\u2500\u2500 css\/<br>\u2502 \u251c\u2500\u2500 js\/<br>\u2502 \u2514\u2500\u2500 images\/<br>\u2502<br>\u2514\u2500\u2500 languages\/<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 MAIN FILES IN EVERY THEME<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. <strong><code>style.css<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Required:<\/strong> Yes<\/li>\n\n\n\n<li><strong>Purpose:<\/strong> Contains the theme metadata (name, author, version, etc.) and the main CSS styles.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. <strong><code>index.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Required:<\/strong> Yes (Acts as a fallback)<\/li>\n\n\n\n<li><strong>Purpose:<\/strong> The main template file. Used if a more specific template (like <code>single.php<\/code>, <code>page.php<\/code>, etc.) isn\u2019t found.<\/li>\n\n\n\n<li><strong>Loads:<\/strong> Posts, pages, or any content as a fallback.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">3. <strong><code>functions.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Required:<\/strong> No (but strongly recommended)<\/li>\n\n\n\n<li><strong>Purpose:<\/strong> Add theme features and hook into WordPress core functions.<\/li>\n\n\n\n<li><strong>Common usage:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Register menus<\/li>\n\n\n\n<li>Add theme support (e.g., <code>post-thumbnails<\/code>)<\/li>\n\n\n\n<li>Enqueue styles and scripts<\/li>\n\n\n\n<li>Create custom functions<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">4. <strong><code>screenshot.png<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Required:<\/strong> No<\/li>\n\n\n\n<li><strong>Purpose:<\/strong> A preview image shown in the WordPress dashboard under Appearance \u2192 Themes.<\/li>\n\n\n\n<li><strong>Size recommendation:<\/strong> 1200\u00d7900px<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">5. <strong><code>readme.txt<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Required:<\/strong> No<\/li>\n\n\n\n<li><strong>Purpose:<\/strong> Documentation for the theme. Usually contains info like version history, author, and usage notes.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 TEMPLATE FILES<\/h2>\n\n\n\n<p>These files control <strong>how different types of content<\/strong> are displayed:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. <strong><code>header.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Contains the HTML <code>&lt;head><\/code> section and site header (logo, navigation).<\/li>\n\n\n\n<li><strong>Included in:<\/strong> Most templates using <code>get_header()<\/code> function.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">7. <strong><code>footer.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Contains closing HTML tags and the site\u2019s footer content.<\/li>\n\n\n\n<li><strong>Included in:<\/strong> Most templates using <code>get_footer()<\/code> function.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">8. <strong><code>sidebar.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Displays the sidebar with widgets or links.<\/li>\n\n\n\n<li><strong>Included in:<\/strong> Templates using <code>get_sidebar()<\/code>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">9. <strong><code>front-page.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Used when a static front page is set in WordPress.<\/li>\n\n\n\n<li><strong>Overrides:<\/strong> <code>home.php<\/code> and <code>index.php<\/code> for front page display.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">10. <strong><code>home.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Displays the blog posts index page when no static front page is set.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">11. <strong><code>single.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Displays single blog posts.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">12. <strong><code>page.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Displays individual static pages (like About, Contact).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">13. <strong><code>archive.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Displays archive pages (categories, tags, authors, dates).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">14. <strong><code>category.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Specifically displays category archive pages.<\/li>\n\n\n\n<li><strong>Overrides:<\/strong> <code>archive.php<\/code> for categories.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">15. <strong><code>tag.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Specifically displays tag archive pages.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">16. <strong><code>search.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Displays search results.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">17. <strong><code>404.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Displays a custom error page when content isn\u2019t found.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">18. <strong><code>comments.php<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Displays the comments section and comment form.<\/li>\n\n\n\n<li><strong>Used in:<\/strong> <code>single.php<\/code>, <code>page.php<\/code>, etc.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>my-theme\/\u2502\u251c\u2500\u2500 style.css\u251c\u2500\u2500 index.php\u251c\u2500\u2500 functions.php\u251c\u2500\u2500 screenshot.png\u251c\u2500\u2500 readme.txt\u2502\u251c\u2500\u2500 header.php\u251c\u2500\u2500 footer.php\u251c\u2500\u2500 sidebar.php\u251c\u2500\u2500 front-page.php\u251c\u2500\u2500 home.php\u251c\u2500\u2500 page.php\u251c\u2500\u2500 single.php\u251c\u2500\u2500 archive.php\u251c\u2500\u2500 category.php\u251c\u2500\u2500 tag.php\u251c\u2500\u2500 search.php\u251c\u2500\u2500 404.php\u251c\u2500\u2500 comments.php\u2502\u251c\u2500\u2500 template-parts\/\u2502 \u2514\u2500\u2500 content.php\u2502\u251c\u2500\u2500 assets\/\u2502 \u251c\u2500\u2500 css\/\u2502 \u251c\u2500\u2500 js\/\u2502 \u2514\u2500\u2500 images\/\u2502\u2514\u2500\u2500 languages\/ \u2705 MAIN FILES IN EVERY THEME 1. style.css 2. index.php 3. functions.php 4. screenshot.png 5. readme.txt \u2705 TEMPLATE FILES These files control how different types [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-177","post","type-post","status-publish","format-standard","hentry","category-wordpress"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/posts\/177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=177"}],"version-history":[{"count":2,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/posts\/177\/revisions"}],"predecessor-version":[{"id":179,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/posts\/177\/revisions\/179"}],"wp:attachment":[{"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}