WP frontend output of custom textarea fields not respecting line breakes. In admin it’s OK.

Right now I am using this:

<?php $options = get_option('my_custom_plugin_options'); ?>
<?php echo $options['my_custom_plugin_options_textarea']; ?>

The output in frontend is this:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
aliquet elementum mi, ac adipiscing metus suscipit in. Quisque
venenatis ante non nulla faucibus viverra. In ultrices nisl sit amet
quam commodo ut feugiat magna aliquet. Aenean sit amet odio magna.
Maecenas pretium ante a urna dictum vel dignissim erat porta. Aenean
rhoncus elementum nisi, nec euismod est tempus commodo.

Instead of saved:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Mauris aliquet elementum mi, ac adipiscing metus suscipit in.

Quisque venenatis ante non nulla faucibus viverra.

In ultrices nisl sit amet quam commodo ut feugiat magna aliquet.
Aenean sit amet odio magna.

Maecenas pretium ante a urna dictum vel dignissim erat porta. Aenean
rhoncus elementum nisi, nec euismod est tempus commodo.

In admin it is saved with as many line breaks and it’s OK. How to do it in my frontend too?

4 Answers
4

Explode your $options value by “/n” ( new line ), then do a echo in foreach:

$options = get_option('my_custom_plugin_options');
$textarea = $options['my_custom_plugin_options_textarea'];
$lines = explode("\n", $textarea);

foreach( $lines as $line ){
  echo $line;
}

UPDATE #1

For reference, it’s possible to store this function in functions.php to use later in template files.

function the_textarea_value( $textarea ){
        $lines = explode("\n", $textarea);
        foreach( $lines as $line ){
          echo $line;
        }
}

hope it helps!

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *