Support » Fixing WordPress » Warning: Cannot modify header information – headers already sent by

  • Hello folks,
    I created a new site, on a new domain, and used the auto-install feature from my cPanel form the hosting company. It installed 2.71, and I used the auto-upgrade feature to update WP to 2.8 before doing anything else. I have installed a couple plug-ins before doing anything, even before selecting a template to use.

    When I go to edit the default Hello World message, or create a new post, I get the follow error:

    Warning: Cannot modify header information - headers already sent by (output started at /home/fitness/public_html/wp-includes/class.wp-scripts.php:123) in /home/fitness/public_html/wp-includes/classes.php on line 1586

    The above is from trying to create a new post, and yet I get pretty much the same message when trying to do anything else, such as edit my profile. It is the second ../wp-includes/*.php that changes when doing something else, reflecting what I am trying to do.

    Any help is much appreciated – even if it is to point me to the reported bugs section.

Viewing 9 replies - 1 through 9 (of 9 total)
  • Hello folks,
    Esmi, thanks for the links – that was the first thing I though of, yet it doesn’t seem to apply – well, it might, as we seem to be generating part of a header with the echo function command to tell the browser that it is a javascript script, yet it doesn’t seem to use the refresh/redirect techniques that I have come to expect.

    Here is the function, and the code for line 123, as suggested by the error message, and esmi’s links, it is the finial else test, where the line being executed is echo “<script …

    function do_item( $handle, $group = false ) {
    		if ( !parent::do_item($handle) )
    			return false;
    		if ( 0 === $group && $this->groups[$handle] > 0 ) {
    			$this->in_footer[] = $handle;
    			return false;
    		if ( false === $group && in_array($handle, $this->in_footer, true) )
    			$this->in_footer = array_diff( $this->in_footer, (array) $handle );
    		$ver = $this->registered[$handle]->ver ? $this->registered[$handle]->ver : $this->default_version;
    		if ( isset($this->args[$handle]) )
    			$ver .= '&' . $this->args[$handle];
    		$src = $this->registered[$handle]->src;
    		if ( $this->do_concat ) {
    			$srce = apply_filters( 'script_loader_src', $src, $handle );
    			if ( $this->in_default_dir($srce) ) {
    				$this->print_code .= $this->print_scripts_l10n( $handle, false );
    				$this->concat .= "$handle,";
    				$this->concat_version .= "$handle$ver";
    				return true;
    			} else {
    				$this->ext_handles .= "$handle,";
    				$this->ext_version .= "$handle$ver";
    		$this->print_scripts_l10n( $handle );
    		if ( !preg_match('|^https?://|', $src) && ! ( $this->content_url && 0 === strpos($src, $this->content_url) ) ) {
    			$src = $this->base_url . $src;
    		$src = add_query_arg('ver', $ver, $src);
    		$src = esc_url(apply_filters( 'script_loader_src', $src, $handle ));
    		if ( $this->do_concat )
    			$this->print_html .= "<script type='text/javascript' src='$src'></script>\n";
    			<strong>echo "<script type='text/javascript' src='$src'></script>\n";</strong>
    		return true;

    Thanks again folks for taking a look

    Sorry folks,
    I tried to make the line in question pop by making it strong/bold, yet it doesn’t seem to work in the code section. Just ignore the tags.

    Andrew Ozz


    WordPress Dev

    The function do_item() is called in the HTML head section to output the <script … > tags. It seems something is calling it before that. Did you try disabling the plugins and using the default theme?

    It is to the point where I think I am going to have to start over. When I try going to the home page of my site I only see the error message, nothing else. When I go to mysite/wp-login.php I get the error message, yet it displays the log-in screen. When I type in my user name and password it tells me that I need cookies enabled – I have those enabled for all but third-party sites.

    Oh well, some things just where not meant to be. I think this time I’ll do the install myself, and not use cPanel, so I know that I am using version 2.8 without it having to update itself from 2.7.1.

    Thanks Azaozz for the idea – wishing I was able to test it.

    Help me..I’ve read some messages but nothing can help me. some asked me to remove plugins but i can’t even log in.What should I do?

    this is what I got. please I beg your help.

    Warning: Cannot modify header information – headers already sent by (output started at /home/coloncl3/public_html/ in /home/coloncl3/public_html/ on line 868

    Do you have FTP access? If so, delete the Google News Plugin and see if that helps.


    It is usually due to spaces, new lines, or other garbage at opening/closing PHP file <?php tag or after a closing ?> tag in wp-config.php. It can be other file too so need to check error message as it may list file name where the error occurred.

    You can either upload error file from the backup or edit erroneous file. To edit the file one need to check below mentioned points:

    1. Download the file mentioned in the error message.

    2. Open that file in a plain text editor

    3. Check that the very first characters are <?php

    4. Check that the very last characters are ?>

    5. Place the cursor between the ? and >

    6. Now press the DELETE key on your computer and keep that key pressed for at least 15 seconds.

    7. Now type > and

    8. Save without pressing any other key at all.

    That’s it!


    Shane G.

    thanks to all! it’s all about http://FTP.. i dont have the access since that’s not really mine..thanks again

Viewing 9 replies - 1 through 9 (of 9 total)
  • The topic ‘Warning: Cannot modify header information – headers already sent by’ is closed to new replies.