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.

È stato utile?

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

implodere :

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top