# FluentSnippets > A file-based code snippet manager for WordPress. Add PHP, CSS, JavaScript and HTML to your site with zero database queries, conditional logic, and no lock-in. FluentSnippets is a free, open-source WordPress plugin by WPManageNinja. It stores snippets as PHP files on disk rather than as rows in the database, so running them costs no queries and a broken snippet can be removed over SFTP without a working admin login. Every page below is also available as Markdown: request it with an `Accept: text/markdown` header, or append `.md` to the path. ## Getting started - [Introduction](https://fluentsnippets.com/docs/introduction): What FluentSnippets is, how it stores your code, and what you get in the free plugin. - [Installation](https://fluentsnippets.com/docs/installation): Three ways to install FluentSnippets, and what it creates on disk the first time it runs. - [Your first snippet](https://fluentsnippets.com/docs/first-snippet): Create, save and activate a snippet, and understand every field on the editor screen. ## Writing snippets - [Snippet types and run locations](https://fluentsnippets.com/docs/snippet-types): The four types, every run location each one offers, and how priority orders snippets on the same hook. - [Functions (PHP) snippets](https://fluentsnippets.com/docs/functions-snippets): Server-side PHP, the functions.php replacement, and the one hook-timing rule that catches people out. - [Content (PHP + HTML) snippets](https://fluentsnippets.com/docs/content-snippets): Print markup into the header, body, footer or around post content, mixing HTML and PHP freely. - [Styles (CSS) snippets](https://fluentsnippets.com/docs/css-snippets): Custom CSS for the front end, the admin and the block editor, inline or served as a real stylesheet. - [Scripts (JS) snippets](https://fluentsnippets.com/docs/js-snippets): JavaScript in the site or admin header and footer, printed inline or enqueued as a real file. - [Shortcodes](https://fluentsnippets.com/docs/shortcodes): Turn a Content snippet into a reusable shortcode, pass it attributes, and understand what it must return. ## Controlling snippets - [Conditional logic](https://fluentsnippets.com/docs/conditional-logic): Every condition source and operator, how AND and OR groups combine, and when conditions are evaluated. - [Organising snippets](https://fluentsnippets.com/docs/organising-snippets): Groups, tags, search, sorting, the two list views, and the per-row actions. - [Import and export](https://fluentsnippets.com/docs/import-export): Move snippets between sites as JSON, build a reusable starter library, or copy the files directly. ## Safety & recovery - [Error handling](https://fluentsnippets.com/docs/error-handling): What happens when a snippet fatals, how the right snippet gets blamed, and how to bring it back. - [Safe Mode](https://fluentsnippets.com/docs/safe-mode): The kill switch. Turn every snippet off from a URL or from wp-config.php when you are locked out. - [Standalone mode](https://fluentsnippets.com/docs/standalone-mode): Keep your snippets running from mu-plugins after the plugin is deactivated or deleted. ## Reference - [How it works](https://fluentsnippets.com/docs/how-it-works): The storage directory, the generated index, and the exact sequence of a request. - [File format and headers](https://fluentsnippets.com/docs/file-format): The anatomy of a snippet file, every header key, and the rules if you edit one by hand. - [Constants and hooks](https://fluentsnippets.com/docs/constants-and-hooks): Every PHP constant and every action and filter FluentSnippets exposes, with what each one is for. - [Permissions and security](https://fluentsnippets.com/docs/permissions): Which capabilities are needed to view, write and configure snippets, and how the storage directory is protected. - [Troubleshooting](https://fluentsnippets.com/docs/troubleshooting): The problems people actually hit, with the cause and the fix for each. ## Articles - [How to add Search Console and Bing verification tags in WordPress without opening your theme](https://fluentsnippets.com/articles/search-console-bing-verification-wordpress): Google and Bing each give you one meta tag for the page head. Put both in one Content snippet on Site Wide Header. - [How to add custom CSS in WordPress that survives a theme change](https://fluentsnippets.com/articles/custom-css-wordpress-theme-change): Appearance → Customize → Additional CSS dies on the next theme switch. Put the same rules in a Styles snippet instead. - [How to add a Facebook pixel in WordPress without tracking yourself](https://fluentsnippets.com/articles/facebook-pixel-wordpress): Meta sent you a pixel and said to paste it in the header. One Content snippet, skip logged-in users. - [How to stop editing functions.php in WordPress](https://fluentsnippets.com/articles/stop-editing-functions-php): Theme updates put the file back. Put the same PHP in a Functions snippet instead, with an off switch. - [How to disable WordPress comments without a comments plugin](https://fluentsnippets.com/articles/disable-wordpress-comments): Discussion settings do not kill the form everywhere. One Functions snippet does, without functions.php or another plugin. - [How to add Google Tag Manager in WordPress without opening your theme](https://fluentsnippets.com/articles/google-tag-manager-wordpress): Google gave you two blocks. Put them in two snippets, not in header.php, Site Kit, or a one-job plugin. - [How to Add Header and Footer Code in WordPress (Without Editing Your Theme)](https://fluentsnippets.com/articles/header-footer-code-wordpress): Google sent you a tag and said to paste it in the header. Put it in a snippet instead, so the next theme update can't eat it. - [A full redesign, and the story behind 50,000 sites](https://fluentsnippets.com/articles/fluentsnippets-10-56): Dark mode, every screen redrawn, and real runtime work underneath — plus the origin story most of those fifty thousand sites have never heard. - [File-based vs. database snippets: a real performance breakdown](https://fluentsnippets.com/articles/file-based-vs-database-snippets): Where the work actually goes on a page load, why the query count matters more than the milliseconds, and what zero buys you. - [Add Google Analytics 4 without another plugin](https://fluentsnippets.com/articles/google-analytics-4-without-a-plugin): Drop your GA4 tag into wp_head in under a minute, scoped to just the pages you care about. - [Conditional logic: run code exactly where it belongs](https://fluentsnippets.com/articles/conditional-logic-in-practice): Role, page type, URL, date and more. Build grouped AND/OR rules visually, without writing the checks yourself. - [Standalone mode: ship client sites with zero lock-in](https://fluentsnippets.com/articles/standalone-mode-client-handover): Install the mu-plugin loader, remove FluentSnippets, and hand off a site whose snippets keep working. - [A snippet starter kit for every new agency build](https://fluentsnippets.com/articles/agency-snippet-starter-kit): The analytics, hardening and cleanup snippets we drop into every project on day one. - [Every hook and filter in FluentSnippets](https://fluentsnippets.com/articles/every-hook-and-filter): Register your own snippet types, skip the runner entirely, or react when a snippet is created, updated or deleted. - [What happens when a snippet takes your site down](https://fluentsnippets.com/articles/when-a-snippet-breaks-your-site): Validation before save, automatic quarantine at runtime, and the URL that gets you back in when neither one helped. ## Elsewhere - [Download from WordPress.org](https://wordpress.org/plugins/easy-code-manager/): the plugin listing, reviews and changelog. - [Source on GitHub](https://github.com/WPManageNinja/easy-code-manager): issues and pull requests. - [About](https://fluentsnippets.com/about): who builds it and why.