Extra Sentence Space

Author:Scott Reilly
Version:1.3.8
First released:2009-06-11
Last update:2019-06-11
Compatibility:WP 1.5 – 5.2.2
Download:[ zip ]
Description:

Force browsers to display two spaces (when present) between sentences.

Extended Description

Even though you may add two spaces after each sentence when writing a post (assuming you subscribe to a writing style that suggests such spacing) web browsers will collapse consecutive blank spaces into a single space when viewed. This plugin adds a   (non-breaking space) after sentence-ending punctuation to retain the appearance of your two-space intent.

NOTE: The plugin will only enforce the two-space gap in places where two or more spaces actually separate sentences in your posts. It will NOT insert a second space if only one space is present.

Links: Plugin Homepage | Plugin Directory Page | GitHub | Author Homepage

Hooks

The plugin is further customizable via two filters. Typically, these customizations would be put into your active theme’s functions.php file, or used by another plugin.

c2c_extra_sentence_space

The ‘c2c_extra_sentence_space’ filter allows you to use an alternative approach to safely invoke c2c_extra_sentence_space() in such a way that if the plugin were deactivated or deleted, then your calls to the function won’t cause errors in your site. This only applies if you use the function directly, which is not typical usage for most users.

Example:

Instead of:

<?php echo c2c_extra_sentence_space( $mytext ); ?>

Do:

<?php echo apply_filters( 'c2c_extra_sentence_space', $mytext ); ?>

c2c_extra_sentence_space_punctuation

The ‘c2c_extra_sentence_space_punctuation’ filter allows you to customize the punctuation, characters, and/or symbols after which double-spacing (when present) is preserved. By default these are ‘.!?’.

Arguments:

  • $punctuation (string): The default characters after which double-spacing should be preserved. Default is ‘.!?’.

Example:

/**
 * Modifies the list of characters after which two spaces should be preserved
 * to include a forward slash.
 *
 * @param string $punctuation The punctuation.
 * @return string
 */
function more_extra_space_punctuation( $punctuation ) {
    // Add the '/' and ')' characters to the list of characters
    return $punctuation . '/)';
}
add_filter( 'c2c_extra_sentence_space_punctuation', 'more_extra_space_punctuation' );

Find out more at the plugin’s WordPress Plugin Repository page.

Installation

  1. Install via the built-in WordPress plugin installer. Or download and unzip extra-sentence-space.zip inside the plugins directory for your site (typically wp-content/plugins/)
  2. Activate the plugin through the ‘Plugins’ admin menu in WordPress
  3. Begin (or continue) to use two spaces to separate your sentences when writing a post.

Frequently Asked Questions

Q. What text does this plugin modify (aka filter)?
A. This plugin potentially modifies the post content, excerpt, title, comment text, and widget text.

Q. Why do my sentences still appear to be separated by only one space despite the plugin being active?
A. Did you use two spaces to separate the sentences when you wrote the post? This plugin only retains the appearance of those two spaces when the post is viewed in a browser; it does not insert a second space if there wasn’t one originally present.

Q. Can I enforce double-spacing after other types of punctuation?
A. Yes. See the Filters section for an example of the code you’ll need to use.

Q. Does this plugin include unit tests?
A. Yes.

Release Log

1.3.8 (2019-06-08)

  • Change: Update unit test install script and bootstrap to use latest WP unit test repo
  • Change: Note compatibility through WP 5.2+
  • Change: Add link to CHANGELOG.md in README.md

1.3.7 (2019-02-05)

  • New: Add CHANGELOG.md and move all but most recent changelog entries into it
  • New: Add inline documentation for hook
  • Change: Rename readme.txt section from ‘Filters’ to ‘Hooks’
  • Change: Add inline documentation to example in readme.txt
  • Change: Split paragraph in README.md’s “Support” section into two
  • Change: Note compatibility through WP 5.1+
  • Change: Update copyright date (2019)
  • Change: Update License URI to be HTTPS

1.3.6 (2018-04-14)

  • New: Add README.md
  • Change: Minor whitespace tweaks to unit test bootstrap
  • Change: Add GitHub link to readme
  • Change: Modify formatting of hook name in readme to prevent being uppercased when shown in the Plugin Directory
  • Change: Note compatibility through WP 4.9+
  • Change: Update copyright date (2018)

Full changelog is available in [CHANGELOG.md](CHANGELOG.md).

Copyright & Disclaimer

Copyright © 2009-2019 by Scott Reilly (aka coffee2code)

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Discussion / Support

Have any questions, comments, or suggestions? Please provide them via the plugin’s WordPress.org support forum. I’ll do my best to reply in a timely fashion and help as best I can.

Unfortunately, I cannot provide guaranteed support, nor do I provide support via any other means.

Was this plugin useful useful to you? Consider giving it a rating. If you’re inclined to give it a poor rating, please first post to the support forum to give me a chance to address or explain the situation.