Come faccio a concatenare una stringa in un Array PHP Elemento?
-
21-09-2019 - |
Domanda
Io sono la personalizzazione di wordpress e ho bisogno di fare personalizzato widget sidebar.Il mio PHP è arrugginito al meglio.Quello che sto cercando di fare è concatenare una variabile php in una stringa impostata come un elemento di un array.qui è il codice che sto usando, non sembra funzionare.Non fa altro che stampare il foglio di stile di directory in cima a ogni pagina:
if ( function_exists("register_sidebar") )
register_sidebar(array(
"before_widget" => "<div class=\"rounded_box\"><div class=\"top_curve\"><img src=\"".bloginfo('stylesheet_directory')."/images/top_curve.jpg\" alt=\"Top\" width=\"247\" height=\"9\" /></div><div class=\"middle\">",
"after_widget" => "</div><div class=\"bottom_curve\"><img src=\"".bloginfo('stylesheet_directory')."/images/bottom_curve.jpg\" alt=\"Bottom\" /></div></div>",
"before_title" => "<h2>",
"after_title" => "</h2>",
));
quindi, come potete vedere qui sto cercando di concatenare i bloginfo('stylesheet_directory')
in 2 degli elementi.Questo non funziona correttamente.Appena finisce di stampa al top della pagina prima che l' doctype
.
Soluzione
bloginfo
( 'stylesheet_directory') risuonerà la directory foglio di stile. Quando si dichiara la matrice, si sta effettivamente scrivendo sullo standard output. Questo è il motivo per cui verrà visualizzato in cima alla pagina. Quello che state cercando è get_bloginfo
.
Altri suggerimenti
string implode ( string $glue , array $pieces )
string implode ( array $pieces )
Registrati gratis elementi di matrice con una stringa colla.
Sembra che si dispone di una virgola alla fine. Potrebbe essere che. Rimuoverlo e testare. Ho anche sostituire \" con un singe'.
Aggiorna sostituito bloginfo () con get_bloginfo ().
if ( function_exists("register_sidebar") )
{
$args =array(
"before_widget" => "<div class='rounded_box'><div class='top_curve'><img src='".get_bloginfo('stylesheet_directory')."/images/top_curve.jpg' alt='Top' width='247' height='9' /></div><div class='middle'>",
"after_widget" => "</div><div class='bottom_curve'><img src='".get_bloginfo('stylesheet_directory')."/images/bottom_curve.jpg' alt='Bottom' /></div></div>",
"before_title" => "<h2>",
"after_title" => "</h2>");'
register_sidebar($args);
}
So che questo non è tecnicamente la risposta alla tua domanda, ma hai considerato:
if ( function_exists("register_sidebar") )
$ssheet_dir = bloginfo('stylesheet_directory');
register_sidebar(array(
"before_widget" => "<div class=\"rounded_box\"><div class=\"top_curve\"><img src=\"$ssheet_dir/images/top_curve.jpg\" alt=\"Top\" width=\"247\" height=\"9\" /></div><div class=\"middle\">",
"after_widget" => "</div><div class=\"bottom_curve\"><img src=\"$ssheet_dir/images/bottom_curve.jpg\" alt=\"Bottom\" /></div></div>",
"before_title" => "<h2>",
"after_title" => "</h2>",
));
Sarebbe più facile e più veloce-si tratterebbe solo di coinvolgere rendendo il bloginfo funzione chiamata una volta.