Bonjour,

Je suis en train de me bricoler un plugin perso, mais il se passe quelque chose d'étrange avec mon HTML. En effet dans mes fonction j'injecte de l'HTML dans un post :
<div id='profile'>
<ul>
<li>
<a href='#' id='name'>heeey</a>
<p id='localization'>ville,pays</p>
<p id='portfolio_url'>adresseURL</p>
<div class='social_bar'>
<div id='social1'>http://www.twitter.com/</div>
<div id='social2'>https://www.facebook.com/</div>
<div id='social3'>http://www.google.com/</div>
<div id='social4'>http://www.linkedin.com/</div>
</div>
<p id='description'>Ceci est ma description</p>
<section class='stats'>
5000 | 13
</section>
</li>
</ul>
</div>




mais lorsque je fait mes test (création d'un post) je vais sur ma page pour observer le résultat, pas de mise en page. J'inspecte le code et la surprise, Wordpress me rend ceci :
<div id="profile">
      <li>        <p>
          heeey ville,pays adresseURL   http://www.twitter.com/    https://www.facebook.com/    http://www.google.com/    http://www.linkedin.com/  Ceci est ma description 5000 | 13        </p>
        <section class="stats">
          5000 | 13
        </section>
      </li>
  </div>




Sacrée cure d'amincissement. Plus de class ou ID, tout mes <a> et <p> rassemblé en un seul... Du coup je suis perdu. J'ai essayé les filtres rien n'y fait. J'ai essayé d'injecter mon HTML plus proprement et aucun résultats non plus.. Des pistes ou idées ?
Merci.
Bonjour,

Pourrais-tu nous montrer le code qui te permet de rajouter de l'html dans un post, stp ? Smiley smile
Avec plaisir =)

C'est une fonction dans mon fichier de functions.php


/**
* Create profile content
*/
function createPortfolioProfileContent($a, $b, $c, $d, $e, $f, $g, $h, $i, $j, $k, $l)
{
	//formatting content with the html structure
	$content = "
<div id='profile'>
<ul>
<li>$a
<a href='#' id='name'>$b</a>
<p id='localization'>$c</p>
<p id='portfolio_url'>$d</p>
<div class='social_bar'>
<div id='social1'>$e</div>
<div id='social2'>$f</div>
<div id='social3'>$g</div>
<div id='social4'>$h</div>
</div>
<p id='description'>$i</p>
<section class='stats'>
$j | $k
</section>
</li>
</ul>
</div>";
	return $content;
}

A savoir que j'ai essayé de stocker ligne par ligne mon HTML dans une variable puis faire la concaténation à la fin dans une variable finale (Bon après réflexion c'étais pas utile comme test mais bon c'est fait ahah)

EDIT :

Il manquais la function qui créer mon post.


/**
 * Create portfolio page in Wordpress 
 */
function createPortfolio($a, $b, $content)
{
	$my_post = array(
	  'post_title'    => $a,
	  'post_content'  => $content,
	  'post_status'   => 'publish',
	  'post_author'   => 1,
	  'post_type'     => 'portfolio'
	);

	// Insert the post into the database
	$post_id = wp_insert_post( $my_post );
	//adding customs fields
	add_post_meta($post_id, 'CP_ID', $cp_id, false);

	return $post_id;
}

Modifié par lucas73 (20 Jan 2014 - 12:03)
Déjà dans ta fonction createPortfolio() tu n'as pas une erreur ?
Tu passe en paramètre $b mais tu ne l'utilises pas. Par contre tu utilises $cp_id qui ne provient de nulle part (ça résout pas ton problème mais c'est pas grave Smiley lol ).

Après concernant ta fonction createPortfolioProfileContent() déjà tu ne fais pas de vérification sur les valeurs. C'est à dire que si tu oublies de renseigner un paramètre lors de l'appel de ta fonction tu auras une erreur.

Ensuite je préfère écrire comme cela :
$content = '<div id="profile">
<ul>
<li>'.$a.'
<a href="#" id="name">'.$b.'</a>
<p id="localization">'.$c.'</p>
<p id="portfolio_url">'.$d.'</p>'; (etc...)


Mais sinon au niveau de ta fonction chez moi ça fonctionne très bien quand je l'appelle dans mon code.
Ah c'est parce que mes variable sont très explicite sur leur contenu..j'ai remplacé à la va vite ^^

Et je viens de comprendre 8Je bloque depuis Vendredi dessus...

Dans mon template j'affiche ma page... Avec un The_excerpt();... Alors forcément... ce dernier étant fait pour afficher sur une ligne tout le contenu.. De plus je faisait tout mes test de filtre sur 'the_content' et donc... Je ne testais rien en fait... Des fois j'ai comme l'envie de me mettre des baffes ! Smiley fache

En tout cas merci du temps que tu m'a accordé je désespérais, et n'avoir ne serais ce qu'une personne qui réponde à mes posts... j'étais heureux ! Smiley langue