- Home
- Categorie
- Coding e Sistemistica
- PHP
- Errore cannot redeclare function su script per copiare i post da wordpress
-
Errore cannot redeclare function su script per copiare i post da wordpress
Ciao a tutti, scartabellando qua e la in rete ho realizzato questo script per visualizzare su homepages esterne a wordpress una preview degli ultimi articoli.
In realtà però funziona solo se effettui una query per un solo articolo altrimenti la parte di codice che tronca il testo (subito sotto il commento si chiama troncaTesto) crea un errore: Cannot redeclare function.
Qualcuno sa come risolvere questo problema?
Di seguito il codice:[php]<div class="news" >
<?php
// query al database
$db= @mysql_connect('xxxxxxxx','xxxxxx','xxxxxx');
mysql_select_db('xxxxxxx' , $db);
$con = mysql_connect("xxxxxxxxxxx","xxxxxxx","xxxxxxxxx");
$sel_db = mysql_select_db("xxxxxxxxx", $con);
$result = mysql_query("select * FROM wp_posts WHERE post_type ='post' and post_status ='publish' ORDER BY id desc limit 1 " ,$db);
while ($records = mysql_fetch_assoc($result)) {// sostituzone caratteri speciali
$titolone = $records['post_title'];
$titolone = str_replace("è", "è", $titolone);
$titolone = str_replace("à", "à", $titolone);
$titolone = str_replace("à", "ò", $titolone);
$titolone = str_replace("ì", "ì", $titolone);
$titolone = str_replace("ù", "ù", $titolone);//stampa titolo
echo "<h4><a href='xxxxxxxxxx.com./index.php?p=". $records['ID'] ."' target='_blank'> ". $titolone ."</a></h4>";
$calend = $records['post_date'];//taglia corregge e stampa data
$calend = str_replace("-", ".", $calend); echo substr("<span class='data-post'>".$calend,0,34); echo "</span>";// funzione che divide la stringa a tot caratteri senza tagliare le parole
//e aggiungendo in fondo (se continua) ...function troncaTesto($testo, $caratteri=500)
{ if (strlen($testo) <= $caratteri) return $testo;
$nuovo = wordwrap($testo, $caratteri, "|");
$nuovotesto=explode("|",$nuovo); return $nuovotesto[0]."..."; }// stampa testo e img post
$testo = $records['post_content'];
$nuovoTesto = troncaTesto($testo, 500);// sostituzone caratteri speciali post
$nuovoTesto = str_replace("è", "è", $nuovoTesto);
$nuovoTesto = str_replace("à", "à", $nuovoTesto);
$nuovoTesto = str_replace("à", "ò", $nuovoTesto);
$nuovoTesto = str_replace("ì", "ì", $nuovoTesto);
$nuovoTesto = str_replace("ù", "ù", $nuovoTesto);
$nuovoTesto = str_replace('target="_blank"', 'onclick="window.open(this.href);return false;" onkeypress="window.open(this.href);return false;"', $nuovoTesto);echo "<div class='post'>".$nuovoTesto; } ?>
</div> [/php]
-
Prova a spostare il codice
function troncaTesto($testo, $caratteri=500)
{ if (strlen($testo) <= $caratteri) return $testo;
$nuovo = wordwrap($testo, $caratteri, "|");
$nuovotesto=explode("|",$nuovo); return $nuovotesto[0]."..."; }al di fuori del ciclo while (prima del ciclo)
-
Si grazie, ce l'ho fatta, fuori dal while funziona, sia prima che dopo il ciclo.
Grz.