web-dev-qa-db-fra.com

Citation rotator dans la barre latérale

J'aime dénommer certains messages (gras et lien) dans l'éditeur de messages (facile et amusant) et les classer dans la catégorie "citation". Ensuite, affichez-le en fonction de CSS dans une barre latérale, en le faisant pivoter, comme dans le programme 1 toutes les 5 secondes, de manière aléatoire. Connaissez-vous un plugin le juste faire ça?

1
menardmam

Vous n'avez pas besoin d'un plugin pour cela (et je ne peux pas imaginer qu'il en existe un pour cela). Une simple fonction simple, que vous appelez dans votre sidebar, suffit:

La requête

function quote_posts_list()
{
// Retrieve 5 random posts:
$posts = get_posts( array(
    'numberposts'   => 5,
    'orderby'   => 'Rand',
    'tax_query' => array(
        'taxonomy'  => 'post-format',
        'terms'     => array( 'quote' ),
        'field'     => 'slug'
    )
) );
// Echo the posts and wrap each post in a div element containing the quote
// inside a blockquote element
echo '<div id="quoterotator">;
 foreach ( $posts as $p )
    echo "<div><blockquote id='{$post->ID}' class='rotator-quote'>{$post->post_content}</blockquote></div>";
echo '</div>';
}

Cela serait simplement placé dans votre fichier functions.php et appelé dans la barre latérale souhaitée.

La définition du plugin Script et jQuery

Il vous suffirait alors d’ajouter quelques jQuery: (Utilisez ce plugin et placez-le dans un dossier nommé /js dans votre thème).

// inside functions.php:
function add_jquery_rotator()
{
    wp_register_script( 'jquery-rotator', get_stylesheet_directory().'/js/jquery.jshowoff.min.js', array( 'jquery' ), 0, true );
    wp_enqueue_script( 'jquery-rotator' );

    jQuery( document ).ready( function($) {
        $( '#quoterotator' ).jshowoff(
        {
             // add your options here - see linked source docu for more details
        } );
    ) };
}
add_action( 'wp_enqueue_scripts', 'add_jquery_rotator' );

Remarque

Cette ↑ est non testée. Si cela ne fonctionne pas, vérifiez vos erreurs, activez WP_DEBUG en true dans votre fichier wp-config.php et recherchez les fautes de frappe .

Bonne rotation. :)

1
kaiser