roots / soil
A WordPress plugin which contains a collection of modules to apply theme-agnostic front-end modifications
Fund package maintenance!
Patreon
roots.io/plugins/soil
Installs: 1 694 656
Dependents: 18
Suggesters: 0
Security: 1
Stars: 1 030
Watchers: 89
Forks: 181
Open Issues: 23
Type:wordpress-plugin
Requires
- php: >=5.6.0
Requires (Dev)
- brain/monkey: ^2.5
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.0
- mockery/mockery: ^1.3 | ^1.4
- phpcompatibility/php-compatibility: ^9.3
- phpunit/phpunit: <= 9.3
- squizlabs/php_codesniffer: ^3.5
- wp-coding-standards/wpcs: ^2.3
README
A WordPress plugin which contains a collection of modules to apply theme-agnostic front-end modifications.
Caution
This plugin is no longer maintained. Use Acorn Prettify instead.
Requirements
Prerequisite | How to check | How to install |
---|---|---|
PHP >= 5.6.x | php -v |
php.net |
Installation
You can install this plugin via the command-line or the WordPress admin panel.
via Command-line
If you're using Composer to manage WordPress, add Soil to your project's dependencies.
composer require roots/soil
Then activate the plugin via wp-cli.
wp plugin activate soil
via WordPress Admin Panel
- Download the latest zip of this repo.
- In your WordPress admin panel, navigate to Plugins->Add New
- Click Upload Plugin
- Upload the zip file that you downloaded.
Modules
-
Cleaner WordPress markup
add_theme_support('soil', 'clean-up');
-
Disable REST API
add_theme_support('soil', 'disable-rest-api');
-
Disable asset versioning
add_theme_support('soil', 'disable-asset-versioning');
-
Disable trackbacks
add_theme_support('soil', 'disable-trackbacks');
-
Google Analytics
add_theme_support('soil', ['google-analytics' => 'UA-XXXXX-Y']);
-
Move all JS to the footer
add_theme_support('soil', 'js-to-footer');
-
Cleaner walker for navigation menus
add_theme_support('soil', 'nav-walker');
-
Convert search results from
/?s=query
to/search/query/
add_theme_support('soil', 'nice-search');
-
Root relative URLs
add_theme_support('soil', 'relative-urls');
And in a format you can copy & paste into your theme:
/** * Enable features from Soil when plugin is activated * @link https://roots.io/plugins/soil/ */ add_theme_support('soil', [ 'clean-up', 'disable-rest-api', 'disable-asset-versioning', 'disable-trackbacks', 'google-analytics' => 'UA-XXXXX-Y', 'js-to-footer', 'nav-walker', 'nice-search', 'relative-urls' ]);
Module options
Soil 4 introduced support for options on some modules.
Full annotated list of features and options
/** * Enable features from Soil when plugin is activated * @link https://roots.io/plugins/soil/ */ add_theme_support('soil', [ /** * Clean up WordPress */ 'clean-up' => [ /** * Obscure and suppress WordPress information. */ 'wp_obscurity', /** * Disable WordPress emojis. */ 'disable_emojis', /** * Disable Gutenberg block library CSS. */ 'disable_gutenberg_block_css', /** * Disable extra RSS feeds. */ 'disable_extra_rss', /** * Disable recent comments CSS. */ 'disable_recent_comments_css', /** * Disable gallery CSS. */ 'disable_gallery_css', /** * Clean HTML5 markup. */ 'clean_html5_markup', ], /** * Disable WordPress REST API */ 'disable-rest-api', /** * Remove version query string from all styles and scripts */ 'disable-asset-versioning', /** * Disables trackbacks/pingbacks */ 'disable-trackbacks', /** * Google Analytics */ 'google-analytics' => [ /** * This is to go live with GA. * * This should probably be false in non-production. */ 'should_load' => false, /** * Google Analytics ID * * This is also known as your "property ID" or "measurement ID" * * Format: UA-XXXXX-Y */ 'google_analytics_id' => null, /** * Optimize container ID * * Format: OPT-A1B2CD (previously: GTM-A1B2CD) * * @link https://support.google.com/optimize/answer/6262084 */ 'optimize_id' => null, /** * Anonymize user IP addresses. * * This might be required depending on region. * * @link https://github.com/roots/soil/pull/206 */ 'anonymize_ip', ], /** * Moves all scripts to wp_footer action */ 'js-to-footer', /** * Cleaner walker for wp_nav_menu() */ 'nav-walker', /** * Redirects search results from /?s=query to /search/query/, converts %20 to + * * @link http://txfx.net/wordpress-plugins/nice-search/ */ 'nice-search', /** * Convert absolute URLs to relative URLs * * Inspired by {@link https://web.archive.org/web/20180529232418/http://www.456bereastreet.com/archive/201010/how_to_make_wordpress_urls_root_relative/} */ 'relative-urls', ]);
Contributing
Contributions are welcome from everyone. We have contributing guidelines to help you get started.
Community
Keep track of development and community news.
- Participate on the Roots Discourse
- Follow @rootswp on Twitter
- Read and subscribe to the Roots Blog
- Subscribe to the Roots Newsletter
- Listen to the Roots Radio podcast