dans vos articles à partir des titres de paragraphe

ainsi que le sommaire en début d'article. function GenerateSommaire($content){ $lien_top = 1; // Afficher le lien "Retour au sommaire" (1 = oui, 0 = non) preg_match_all("@]*)>(.*?)

@mi",$content, $matches); $decoupe = preg_split('@]*+>@',$content); $sommaire .= ''; $i = 0; if($lien_top == 1){ $retour_sommaire ="\"Retour "; }else{ $retour_sommaire =""; } foreach($matches[0] as $match) { $content = str_replace($match, "".$retour_sommaire."{$matches[2][$i]}\n\n", $content); $i++; } return $sommaire.$content; } add_filter('the_content','GenerateSommaire'); //Génère toutes les ancres articles par article et les enregistre en base de données. function GenerateAnchors($content){ global $wpdb; global $post; $content = $post->post_content; $post_ID = $post->ID; $wpdb->query("DELETE FROM wp_anchors WHERE post_ID = '$post_ID'"); preg_match_all("@]*)>(.*?)@mi",$content, $matches); $i = 0; foreach($matches[0] as $match) { $title_anchor = addslashes($matches[2][$i]); $anchor = formater_url($matches[2][$i]); $url_post = get_permalink($post_ID); mysql_query("INSERT INTO wp_anchors VALUES('','$anchor','$title_anchor','$post_ID','$url_post')"); $i++; } } add_filter('save_post','GenerateAnchors'); //Fonction qui permet de récupérer les ancres pour chacun de vos articles et de les afficher où vous voulez. function ShowAnchorLinks($id,$format,$prefixe){ // Formats : list, inline if($format == "list"){ $before_all = "
    "; $before = "
  • "; $sep = "
  • "; $after_all = "
"; }elseif($format="inline"){ $before_all = ""; $before = " "; $sep = " "; $after_all = ""; }else{ $before_all = ""; $before = ""; $sep = "
"; $after_all = ""; } $anchors_req = mysql_query("SELECT * FROM wp_anchors WHERE post_ID = '$id'") or die(mysql_error()); $return_datas .= $before_all; while($anchor = mysql_fetch_array($anchors_req)){ $return_datas .= $before.''.$prefixe.$anchor['title'].''.$sep; } $return_datas .= $after_all; echo $return_datas; } ?>