2010-06-28 8 views
0

Avertissement: Impossible de modifier les informations d'en-tête - têtes déjà envoyés par (sortie commencé à /home/content/51/5126851/html/wp-includes/post-template.php:54) dans /home/content/51/5126851/html/wp-includes/pluggable.php en ligne 890Avertissement: Impossible de modifier les informations d'en-tête

Je sais que je dois faire quelque chose à mon dossier post-template.php, mais je ne suis pas sûr de ce que. J'ai regardé les autres réponses mais la mienne semble un peu différente. Voici à quoi ressemble la fonction concernée:

/** 
* Display or retrieve the current post title with optional content. 
* 
* @since 0.71 
* 
* @param string $before Optional. Content to prepend to the title. 
* @param string $after Optional. Content to append to the title. 
* @param bool $echo Optional, default to true.Whether to display or return. 
* @return null|string Null on no title. String if $echo parameter is false. 
*/ 
function the_title($before = '', $after = '', $echo = true) { 
    $title = get_the_title(); 

    if (strlen($title) == 0) 
     return; 

    $title = $before . $title . $after; 

    if ($echo) 
     echo $title; // <-- This is line 54 of post-template.php 
    else 
     return $title; 
} 
+3

résoudre ce gâchis en lisant l'aide à l'édition: http://stackoverflow.com/editing-help – matpie

+3

Êtes-vous sérieux avec cela? C'est le code le plus que j'ai jamais vu dans une seule question. En fait, il ne peut pas être correctement formaté en code, car l'indentation supplémentaire pousse le corps sur la longueur maximale de la question, dont je ne savais même pas qu'il existait jusqu'à présent –

+1

J'ai enlevé tout le code sauf la fonction qui semblait pertinente, et marqué le ligne l'erreur se produit sur; vous pouvez rajouter d'autres fonctions que vous jugez importantes, mais 30 000 caractères c'est un peu trop –

Répondre

3

Ma première recommandation serait d'apprendre à formater le code pour SO. Et déterminez comment réduire votre problème au strict minimum dont quelqu'un a besoin pour le résoudre.

Mon deuxième serait de regarder autour de la ligne mentionnée dans l'erreur. Je n'ai, et regardez ce que je trouve:

if ($echo) 
    echo $title; 

Alors maintenant, vous savez ce truc sortie, que pouvez-vous faire à ce sujet?

Eh bien, l'autre partie de cette déclaration est:

else 
    return $title; 

Maintenant, je ne suis pas expert Wordpress, mais je suis sûr que vous pouvez travailler la première chose qui a besoin de changer.

+0

Je ne suis pas sûr, j'ai vraiment très peu d'expérience avec ça. Devrait-il alors $ title au lieu de echo $ title? – Daniel

+2

@Daniel Un flag booléen est passé à la fonction '$ echo', qui vaut true par défaut - si c'est vrai, le titre est renvoyé. Puisque vous ne voulez pas que le titre soit renvoyé (en écho, quelque chose envoie les en-têtes, ce qui cause votre problème), passez 'false' pour le drapeau' $ echo' quand vous appelez cette fonction –

+1

@Anon. Il ne devrait pas être en train de se moquer du code de base de toute façon. – ceejayoz

1

Vous ne devriez pas éditer des fichiers dans wp-includes sans une bonne raison et une bonne compréhension de ce que vous faites. WordPress est extensible via des thèmes et des plugins dans presque toutes les situations - vous devriez rarement, voire jamais, devoir pirater le code de base pour faire quelque chose.

+0

Alors, que suggérez-vous? – Daniel

+1

Je suggère de restaurer vos fichiers WordPress à la base par défaut. Cette erreur n'apparaît pas dans une installation de stock. Il serait utile de savoir quelle version de WordPress, aussi. – ceejayoz

Questions connexes