Problème avec ma sidebar (Créer un compte)

  • Statut : non résolu
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #462388
    fibi
    Participant
    Padawan WordPress
    58 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 2.6
    – Thème utilisé : Funkyzine
    – Plugins en place :
    – Nom de l’hebergeur : 1and1
    – Adresse du site : http://www.poito-tv.com

    Problème(s) rencontré(s) :

    Bonjour à tous,

    Je cherche à widgetiser ma sidebar.

    J’ai donc fait la recherche sur le forum et ai rajouté les lignes de code dans function.php, ce qui donne donc :

    <?php

    if ( function_exists(’register_sidebar’) )
    register_sidebar();


    function u_get_recent_comments($no_comments = 5, $before = '<li>‘, $after = ‘</li>‘, $show_pass_post = false) {

    global $wpdb, $tablecomments, $tableposts;
    $request = « SELECT ID, comment_ID, comment_content, comment_author FROM $tableposts, $tablecomments WHERE $tableposts.ID=$tablecomments.comment_post_ID AND (post_status = ‘publish’ OR post_status = ‘static’) »;

    if(!$show_pass_post) { $request .= « AND post_password = » « ; }

    $request .= « AND comment_approved = ‘1’ ORDER BY $tablecomments.comment_date DESC LIMIT

    $no_comments »;
    $comments = $wpdb->get_results($request);
    $output =  »;
    foreach ($comments as $comment) {
    $comment_author = stripslashes($comment->comment_author);
    $comment_content = strip_tags($comment->comment_content);
    $comment_content = stripslashes($comment_content);
    $comment_excerpt =substr($comment_content,0,50);
    $comment_excerpt = u_utf8_trim($comment_excerpt);
    $permalink = get_permalink($comment->ID). »#comment-« .$comment->comment_ID;
    $output .= $before . ‘<a href="' . $permalink . '" title="View the entire comment by ' . $comment_author . '"><strong>‘ . $comment_author . ‘</strong>: ‘ . $comment_excerpt . ‘…</a>‘ . $after;
    }
    echo $output;
    }

    function u_utf8_trim($str) {

    $len = strlen($str);

    for ($i=strlen($str)-1; $i>=0; $i-=1){
    $hex .= ‘ ‘.ord($str[$i]);
    $ch = ord($str[$i]);
    if (($ch & 128)==0) return(substr($str,0,$i));
    if (($ch & 192)==192) return(substr($str,0,$i));
    }
    return($str.$hex);
    }













    function wp_get_archives_custom($args =  ») {
    global $wpdb, $wp_locale;

    $defaults = array(
    ‘type’ => ‘monthly’, ‘limit’ =>  »,
    ‘format’ => ‘html’, ‘before’ =>  »,
    ‘after’ =>  », ‘show_post_count’ => false
    );

    $r = wp_parse_args( $args, $defaults );
    extract( $r, EXTR_SKIP );

    if (  » == $type )
    $type = ‘monthly’;

    if (  » != $limit ) {
    $limit = absint($limit);
    $limit = ‘ LIMIT ‘.$limit;
    }

    // this is what will separate dates on weekly archive links
    $archive_week_separator = ‘–’;

    // over-ride general date format ? 0 = no: use the date format set in Options, 1 = yes: over-ride
    $archive_date_format_over_ride = 0;

    // options for daily archive (only if you over-ride the general date format)
    $archive_day_date_format = ‘Y/m/d’;

    // options for weekly archive (only if you over-ride the general date format)
    $archive_week_start_date_format = ‘Y/m/d’;
    $archive_week_end_date_format = ‘Y/m/d’;

    if ( !$archive_date_format_over_ride ) {
    $archive_day_date_format = get_option(‘date_format’);
    $archive_week_start_date_format = get_option(‘date_format’);
    $archive_week_end_date_format = get_option(‘date_format’);
    }

    //filters
    $where = apply_filters(‘getarchives_where’, « WHERE post_type = ‘post’ AND post_status = ‘publish' », $r );
    $join = apply_filters(‘getarchives_join’, «  », $r);

    if ( ‘monthly’ == $type ) {
    $query = « SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC $limit »;
    $key = md5($query);
    $cache = wp_cache_get( ‘wp_get_archives’ , ‘general’);
    if ( !isset( $cache[ $key ] ) ) {
    $arcresults = $wpdb->get_results($query);
    $cache[ $key ] = $arcresults;
    wp_cache_add( ‘wp_get_archives’, $cache, ‘general’ );
    } else {
    $arcresults = $cache[ $key ];
    }
    if ( $arcresults ) {
    $afterafter = $after;
    foreach ( $arcresults as $arcresult ) {
    $url = get_month_link($arcresult->year, $arcresult->month);
    $text = sprintf(__(‘%1$s %2$d’), $wp_locale->get_month($arcresult->month), $arcresult->year);
    if ( $show_post_count )
    $after = ‘ (‘.$arcresult->posts.’)’ . $afterafter;
    $output .= get_archives_link($url, $text, $format, $before, $after);

    }
    }
    }
    return $output;
    }




    ?>

    Puis j’ai cherché à faire la modification dans sidebar.php en rajoutant :

    <div id=”sidebar”>
    <ul>
    <?php if ( !function_exists(’dynamic_sidebar’) || !dynamic_sidebar() ) : ?>
    <?php endif; ?>
    </ul>
    </div>

    Mais pourtant ça ne fonctionne pas.

    Comme je pense que le soucis vient de ma sidebar, je vous laisse le code ci-dessous.
    Pour info, je souhaiterais widgetiser UNE SEULE zone de ma sidebar et ainsi conserver les autres parties de ma sidebar en dur.

    <form action="<?php bloginfo('url'); ?> » method= »get »>
    <div id="search">
    <div id="search_image"></div>
    <input type="text" class="s_input" name="s" value="Entrez votre recherche ici .." />
    <input type="submit" class="s_submit" name="s" value="" />
    </div>
    </form>

    <div id="rss">
    <p id="rss_image"></p>
    <p class="first"><a href="<?php bloginfo('rss2_url'); ?>« >S’abonner au flux RSS</a></p>
    <p class="second"><a href="#">S’abonner au flux RSS par mail</a></p>
    </div>

    <div class="widget">
    <h3>Espace vidéos</h3>
    <p class="text" style="text-align:center;">

    <img src="<?php bloginfo('template_directory');?>/images/video.gif » alt= »video » />
    </p>
    </div>

    <div class="widget">
    <h3> Recherche de vidéos par tags</h3>
    <p class="text" ><?php wp_tag_cloud(''); ?></p>
    </div>

    <div class="widget">
    <h3>Derniers commentaires</h3>
    <ul>
    <?php u_get_recent_comments(7); ?>
    </ul>
    </div>

    <div id="widget_wrap">
    <!-- Start WIDGETWRAP -->
    <div class="left">


    <div class="right">

    <div class="widget">
    <h3>A voir aussi</h3>
    <div class="widget">
    <table width="273" style="width:273px; margin:0 auto;">
    <tr>
    <td style="padding:0 0 10px 0;"><a href="http://localhost/poitoofm/"><img src="<?php bloginfo('template_directory');?>/images/logo-poitoo-fm.png » alt= »Poitoo FM » /></a></td>
    </tr>
    <tr>
    <td><a href="http://www.wpthemedesigner.com"><img src="<?php bloginfo('template_directory');?>/images/sponsor.gif » alt= »Free WordPress Themes » /></a></td>
    <td>
    </table>
    </div>
    </div>

    <div class="widget">
    <h3>Administration</h3>
    <ul>
    <?php wp_register(); ?>
    <li><?php wp_loginout(); ?></li>
    <li><a href="http://www.wordpress.org/">WordPress</a></li>
    <?php wp_meta(); ?>
    <li><a href="http://validator.w3.org/check?uri=referer">XHTML</a></li>
    <li><a href="<?php bloginfo('rss2_url'); ?> » title= »<?php _e('Syndicate this site using RSS'); ?>« ><?php _e('<abbr title="Really Simple Syndication">RSS</abbr>‘); ?></a></li>
    <li><a href="<?php bloginfo('comments_rss2_url'); ?> » title= »<?php _e('The latest comments to all posts in RSS'); ?>« ><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>‘); ?></a></li>
    <?php wp_meta(); ?>
    </ul>
    </div>

    </div>
    <div class="c"></div>
    <!-- End WIDGETWRAP -->
    </div>
    </div>

    Merci d’avance !

    #643178
    viwiv
    Membre
    Maître WordPress
    809 contributions

    Bonjour,

    Dans functions.php, le code suivant permet de déclarer un widget dans la Sidebar :

    ‘sidebar’,
    ‘before_widget’ => ‘<div id="%1$s" class="widget_sidebar %2$s">‘,
    ‘after_widget’ => ‘</div>‘,
    ‘before_title’ => ‘<h2 class="widgettitle">‘,
    ‘after_title’ => ‘</h2>‘,
    ));
    ?>

    Dans sidebar.php, tu déclares le widget *après* les autres éléments :

    Ainsi, quand tu ajouteras des widgets par glisser-déplacer, tes éléments ne seront pas affectés : les widgets se placeront dessous.

    Cordialement,

    V.

    #643179
    fibi
    Participant
    Padawan WordPress
    58 contributions

    Merci ! ça à fonctionné cette fois-ci!

    #643180
    fibi
    Participant
    Padawan WordPress
    58 contributions

    C’était trop beau pour être vrai …

    Oui ça fonctionne dans ma sidebar, mais maintenant j’ai un message d’erreur qui s’affiche un peu partout. Et les pages ne s’affichent plus.

    Le message d’erreur :

    Warning: Cannot modify header information – headers already sent by (output started at /homepages/13/d254381356/htdocs/wp-content/themes/Funkyzine_FR/functions.php:1) in /homepages/13/d254381356/htdocs/wp-includes/pluggable.php on line 770

    A quoi est-ce dû ?

    EDIT

    C’est l’encodage de mes fichiers sidebar.php et functions.php que je devais modifier et tout est rentré dans l’ordre !

4 sujets de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.