Avete presente quei siti o forum in cui il logo cambia (colore, forma, ecc.) ad ogni aggiornamento della pagina? Vorrei sapere se fosse possibile fare la stessa cosa con Elk, grazie.
Ho trovato questo cercando su google, ma non so se (e dove) possa inserirlo, o se abbia qualche utilità: https://stackoverflow.com/questions/31664952/new-logo-image-for-each-refresh-page-in-wordpress-using-css
La versione è 1.1.3
Hmm sì, non dovrebbe essere difficile modificare l'index.template per inserirlo.
Quello che facevo io ai tempi, era di creare uno script php che inviasse direttamente l'immagine random e mettere questo come logo.
hmm... senza "qualcosa tipo", direi che questo è lo script che usavo:
<?php
/**
************************************
* Image Rotator Script
************************************
* Mewz0r!
*
* @copyright Copyright (C) 2006, Jack Chapple
* @author Jack Chapple <jack[AT]jcxp[DOT]net>
* @link http://blog.jackchapple.com/
* @version 1.01
*/
// Directory Path where images are stored. Make sure the path has the trailing slash.
define ( 'DIRECTORY_PATH', './' );
// Never repeat the same image twice in a row? (true or false)
define ( 'NEVER_REPEAT', false );
// ==================================
//
// No need to edit below this line!
//
// ==================================
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header( "Cache-Control: no-cache" );
header( "Pragma: no-cache" );
//$last_file_path = './last_' . str_replace( '.', '-', $_SERVER['REMOTE_ADDR'] ) . '.txt';
$mime_types = array (
"gif" => "image/gif",
"jpg" => "image/jpeg",
"jpeg" => "image/jpeg",
"png" => "image/png",
"bmp" => "image/x-windows-bmp"
);
if ( $handle = opendir(DIRECTORY_PATH) )
{
$images = array();
if ( NEVER_REPEAT == true AND file_exists( $last_file_path ) )
{
$last_file = file_get_contents( $last_file_path );
}
while ( false !== ($file = readdir($handle) ) )
{
if ( !preg_match( "/\.(jpg)$/i", $file, $matches ) )
{
continue;
}
$images[] = array( $file, strtolower($matches[1]) );
}
}
else
{
die();
}
$image_rand = $images[ array_rand($images) ];
if ( NEVER_REPEAT == true AND $last_file AND $image_rand[0] == $last_file AND count($images) > 1 )
{
// =============================
// Ut-Oh! No repeats, thank you!
// =============================
while ( $image_rand[0] == $last_file )
{
// =============================
// Keep looping until we get a "fresh" image
// =============================
$image_rand = $images[ array_rand($images) ];
}
}
$image_loc = DIRECTORY_PATH . $image_rand[0];
$image_mime = $mime_types[ $image_rand[1] ];
// =============================
// Record last shown image data
// =============================
/*$fp = @fopen( $last_file_path, 'w' );
@fwrite( $fp, $image_rand[0] );
@fclose( $fp );
*/
// =============================
// And output the 'rotica for all to see! *rejoices*
// =============================
$fp = fopen( $image_loc, 'rb' );
header( 'Content-Type: ' . $image_mime );
header( 'Content-Length: ' . filesize($image_loc) );
fpassthru( $fp );
fclose( $fp );
// *pharp*
?>
Metti lo script ad esempio in:
themes/default/loghi/ ("loghi" dovrai crearla perché non esiste)
e lo chiami "rnd.php".
Nella stessa directory gli metti le immagini che vuoi usare come loghi.
Poi vai nel pannello di admin e nelle impostazioni del tema metti come logo l'url dello script, quindi qualcosa tipo:
www.tuodominio.tld/forum/themes/default/loghi/rnd.php
fatto.
Non funziona. Ho provato a mettere come directory prima "http://urldelsito/forum/" ecc. e ho ottenuto questo errore:
failed to open dir: not implemented in /home/account/public_html/ecc. on line 41
Poi ho tentato con l'url "/home/account/" ecc. e ho ricevuto quest'altro errore:
Undefined index: in /home/account/public_html/.../rnd.php on line 65
Undefined index: in /home/account/public_html/.../rnd.php on line 84
Le righe in questione contengono ciò:
Linea 41
if ( $handle = opendir(DIRECTORY_PATH) )
65
$image_rand = $images[ array_rand($images) ];
84
$image_mime = $mime_types[ $image_rand[1] ];
Googlando ho letto in più siti che, al posto di opendir, dovrei fare l'accesso tramite account FTP. Ho provato, ma non è cambiato nulla.
Se interpreto correttamente quello che stai dicendo, mi pare di capire che hai cambiato lo script sopra mettendo una directory.
Se così è, non è quello che ho scritto.
Lo script lo devo solo copiare ed incollare pari pari in un file di testo, non c'è niente da cambiare.
Sì, spiego perchè l'ho fatto altrimenti sembra che sia impazzito ;D
Inizialmente avevo copia-incollato lo script esattamente come dici tu, ma ho ottenuto l'errore "Undefined index" e ho pensato di dover scrivere il percorso della directory.
L'errore è sempre l'undefined index e il log segnala sempre quelle 2 righe dove trovo:
$image_rand = $images[ array_rand($images) ];
e
$image_mime = $mime_types[ $image_rand[1] ];
Sei sicuro di aver messo le immagini nella stessa cartella dello script?
Al 100%, ricontrollato per sicurezza giusto poco fa.
Che formato sono?
Segno ma
Modificare qualcosa, lo script considera solo i file con estensione jpg.
Citazione di: emanuele il Giovedì - 02 Agosto 2018 - 07:33
lo script considera solo i file con estensione jpg.
Non anche png, bmp e gif? Sono nell'array O.o
Citazione di: Flavio93Zena il Giovedì - 02 Agosto 2018 - 11:13
Citazione di: emanuele il Giovedì - 02 Agosto 2018 - 07:33
lo script considera solo i file con estensione jpg.
Non anche png, bmp e gif? Sono nell'array O.o
Guarda meglio il codice, quello è solo un array per definire i mime types ;)
Dopo considera solo i jpg ;)
Anch'io ero convinto li usasse tutti, poi mi sono accorto di:
if ( !preg_match( "/\.(jpg)$/i", $file, $matches ) )
se vuoi che legga anche altri formati c'è da cambiare quella riga in:
if ( !preg_match( "/\.(jpg|png|jpeg|gif|bmp)$/i", $file, $matches ) )
Dovrebbe supportare anche le gif animate.
Ok, il problema era quello. Grazie ^_^