• User Attivo

    Sidebar e widget

    E' da una settimana che sto scercando di capire il funzionamento di wp, e ieri pensavo di esserne venuta a capo, fino al momento in cui sono incappata nei widget.

    Installato plugin, sistemato, bla bla bla.... ma la mia domanda è:
    come edito le funzioni che costruiscono la sidebar? funzioni come wp_list_pages? Come faccio a impostare le opzioni per ciascun widget??

    Comincio a sentirmi idiota...:?

    grazie per la pazienza...

    mk.


  • Super User

    ma hai un template widgettizabile? che supporta i widget cioè.


  • User Attivo

    si ha in testa questo if
    if ( function_exists('dynamic_sidebar') && dynamic_sidebar(1) ) {} else { ?> (nella sidebar.php)
    ma non capisco div'è la funzione
    dynamic_sidebar(1)....?

    Di fatto funziona tutto, vorrei solo cambiare alcuni parametri....

    Mi spiego meglio.
    Prima di installare i Wg, usavo un plugin che mi faceva il collapse menù delle pagine (livello1/livello2/...).
    Il plugin necessitava una chiamata di funzione nel template (in sidebar.php):
    collapsing_page_menu ( $root_id = 0, $order_by = 'menu_order', $order_dir = 'ASC', $css_li = 'page_item', $css_li_selected = 'current_page_item', $current_id = '' );

    Installando il plugin dei wg, la sidebar dinamica si sostituisce completamente a quella statica, nella quale c'era la funzione di collapse.
    Ergo, il menù non collapsa più.
    Allora ho "ravanato" un po' nel codice finchè ho trovato in widget.php quello che sembra essere il codice di gestione del wg delle pagine:

    function widget_pages($args) {
    extract($args);
    $options = get_option('widget_pages');
    $title = empty($options['title']) ? __('') : $options['title'];
    echo $before_widget . $before_title . $title . $after_title . "<ul>\n";
    wp_list_pages("title_li=");

    echo "</ul>\n" . $after_widget;
    

    }

    function widget_pages_control() {
    $options = $newoptions = get_option('widget_pages');
    if ( $_POST["pages-submit"] ) {
    $newoptions['title'] = strip_tags(stripslashes($_POST["pages-title"]));
    }
    if ( $options != $newoptions ) {
    $options = $newoptions;
    update_option('widget_pages', $options);
    }
    $title = htmlspecialchars($options['title'], ENT_QUOTES);
    ?>

    Ho riconosciuto la wp_list_pages.... ho provato a sostituire questa funzione con quella di collapse, ma oltre a non collassare il menù delle pagine, se lo fagocita completamente....

    Qualche idea??

    Grazie

    Mk


  • User Attivo

    Widgetizing Plugins

    		 				**[How do I develop new widgets?](http://automattic.com/code/widgets/plugins/)**

  • User Attivo

    Ergo, devo scrivermi un wg apposito per far collassare i sottomenù delle pages???

    ...sto rivalundo l'idea di disattivarli, questi widget.... 😉


  • User Attivo

    sì, in pratica per ogni componente che vuoi aggiungere devi scrivere un plugin per il plugin 😛

    comunque se sei un autore di plugin potenzialmente ti potrebbero dare molta visibilità, se inseriscono il tuo widget in wordpress.com... 🙂