Créer un widget rss personnalisé (Créer un compte)

  • Statut : non résolu
Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #460055
    enseignement
    Participant
    WordPress Knight
    102 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 1.5.1 mu
    – Thème utilisé :
    – Plugins en place :
    – Nom de l’hebergeur :
    – Adresse du site :

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

    Hello,

    J’ai essayé de créer un widget rss personnalisé (où les utilisateurs n’ont qu’à ajouter le widget à leur thème pour qu’un flux rss déterminé (ex: lemonde.fr) s’affiche.

    Mais je ne dois pas m’y prendre correctement.

    Voici ce que j’ai jusqu’à présent. Je dois déclarer ce widget mais je n’y arrive …

    ///hack
    function wp_widget_rss_enseignement($args, $number = 1) {
    require_once(ABSPATH . WPINC . ‘/rss.php’);
    extract($args);

    $num_items = 10;
    if ( empty($num_items) || $num_items < 1 || $num_items > 10 ) $num_items = 10;
    $url = « http://www.lesoir.be/services/rss/belgique/index.xml »;
    $rss = fetch_rss($url);
    $link = clean_url(strip_tags($rss->channel[‘link’]));
    while ( strstr($link, ‘http’) != $link )
    $link = substr($link, 1);
    $desc = attribute_escape(strip_tags(html_entity_decode($rss->channel[‘description’], ENT_QUOTES)));
    $title = ‘lesoir’;
    if ( empty($title) )
    $title = htmlentities(strip_tags($rss->channel[‘title’]));
    if ( empty($title) )
    $title = $desc;
    if ( empty($title) )
    $title = __(‘Unknown Feed’);
    $url = clean_url(strip_tags($url));
    if ( file_exists(dirname(__FILE__) . ‘/rss.png’) )
    $icon = str_replace(ABSPATH, get_option(‘siteurl’).’/’, dirname(__FILE__)) . ‘/rss.png’;
    else
    $icon = get_option(‘siteurl’).’/wp-includes/images/rss.png’;
    $title = « <a class='rsswidget' href='$url' title='" . attribute_escape(__('Syndicate this content')) ."'><img style='background:orange;color:white;border:none;' width='14' height='14' src='$icon' alt='RSS' /></a> <a class='rsswidget' href='$link' title='$desc'>$title</a>« ;
    ?>
    <?php echo $before_widget; ?>
    <?php $title ? print($before_title . $title . $after_title) : null; ?>
    <?php
    if ( is_array( $rss->items ) && !empty( $rss->items ) ) {
    $rss->items = array_slice($rss->items, 0, $num_items);
    echo ‘<ul>‘;
    foreach ($rss->items as $item ) {
    while ( strstr($item[‘link’], ‘http’) != $item[‘link’] )
    $item[‘link’] = substr($item[‘link’], 1);
    $link = clean_url(strip_tags($item[‘link’]));
    $title = attribute_escape(strip_tags($item[‘title’]));
    if ( empty($title) )
    $title = __(‘Untitled’);
    $desc =  »;
    if ( $show_summary ) {
    $summary = ‘<div class="rssSummary">‘ . $item[‘description’] . ‘</div>‘;
    } else {
    if ( isset( $item[‘description’] ) && is_string( $item[‘description’] ) )
    $desc = str_replace(array(« n », « r »), ‘ ‘, attribute_escape(strip_tags(html_entity_decode($item[‘description’], ENT_QUOTES))));
    $summary =  »;
    }
    echo « <li><a class='rsswidget' href='$link' title='$desc'>$title</a>$summary</li>« ;
    }
    echo ‘</ul>‘;
    } else {
    echo ‘<ul><li>‘ . __( ‘An error has occurred; the feed is probably down. Try again later.’ ) . ‘</li></ul>‘;
    }

    echo $after_widget;
    }
    // fin du hack

    register_sidebar_widget(‘rss-Enseignement’, ‘wp_widget_rss_enseignement’);

Affichage de 1 message (sur 1 au total)
  • Vous devez être connecté pour répondre à ce sujet.