How to prevent automatic conversion of dashes to –

When I put -- into a post it is automatically converted to the ndash; character in the output by wordpress.

How can I get normal '--' double dashes in my content.

Topic formatting Wordpress

Category Web


I had the same problem as the OP and the solution proposed by @TheDeadMedic almost worked for me. But my WP version has several function_something.php files and I had to add this to them all (making sure to add them after the php opening code <?php):

remove_filter( 'the_title', 'wptexturize' );
remove_filter( 'the_content', 'wptexturize' );
remove_filter( 'the_excerpt', 'wptexturize' );

Of course only one of them would be needed if you only want to remove the filter for titles, content or excerpt.


Another solution that override the origin function of wptexturize and update all related filters.

define('EXCERPT_RARELY_2', '{[2}]');
function wptexturize_custom($text = '')
{
    $text = preg_replace('!(^|[^\-])\-\-([^\-]|$)!', '$1' . EXCERPT_RARELY_2 . '$2', $text);

    // get through origin filter
    $text = wptexturize($text);

    return str_replace(EXCERPT_RARELY_2, '--', $text);
}

// remove default filter
remove_filter('the_content', 'wptexturize');

// add custom filter
add_filter('the_content', 'wptexturize_custom');

// remove default filter
remove_filter('the_excerpt', 'wptexturize');

// add custom filter
add_filter('the_excerpt', 'wptexturize_custom');

I found a solution: If you are using WordPress, in the beginning of your file single.php add these lines:

<?php
remove_filter( 'the_title', 'wptexturize' );
remove_filter( 'the_content', 'wptexturize' );
remove_filter( 'the_excerpt', 'wptexturize' );
?>

And do your test. I am 99.99% sure that will work because I had the same problem and I fixed it using that lines 10 seconds ago. ;)


In your functions.php:

remove_filter( 'the_content', 'wptexturize' );

And the same for the_excerpt or the_title (if required).

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.