wpseek.com
A WordPress-centric search engine for devs and theme authors



save_mod_rewrite_rules › WordPress Function

Since1.5.0
Deprecatedn/a
save_mod_rewrite_rules ( No parameters )
Returns:
  • (bool|null) True on write success, false on failure. Null in multisite.
Defined at:
Codex:

Updates the htaccess file with the current rules if it is writable.

Always writes to the file if it exists and is writable to ensure that we blank out old rules.


Source

function save_mod_rewrite_rules() {
	global $wp_rewrite;

	if ( is_multisite() ) {
		return;
	}

	// Ensure get_home_path() is declared.
	require_once ABSPATH . 'wp-admin/includes/file.php';

	$home_path     = get_home_path();
	$htaccess_file = $home_path . '.htaccess';

	/*
	 * If the file doesn't already exist check for write access to the directory
	 * and whether we have some rules. Else check for write access to the file.
	 */
	if ( ! file_exists( $htaccess_file ) && is_writable( $home_path ) && $wp_rewrite->using_mod_rewrite_permalinks()
		|| is_writable( $htaccess_file )
	) {
		if ( got_mod_rewrite() ) {
			$rules = explode( "\n", $wp_rewrite->mod_rewrite_rules() );

			return insert_with_markers( $htaccess_file, 'WordPress', $rules );
		}
	}

	return false;
}