Plugins pour wpmµ (Créer un compte)

  • Statut : non résolu
5 sujets de 16 à 20 (sur un total de 20)
  • Auteur
    Messages
  • #605000
    SCN
    Membre
    Chevalier WordPress
    262 contributions

    J’ai akismet mais comme la plateforme n’est pas commerciale j’utilise la version gratuite !
    [HS ON]
    en fait, j’utilise ces quelques lignes pour afficher le nombre des articles publiés, au début ça marchait bien mais là j’ai plus le nombre d’articles publiés, ça m’affiche rien, quelqu’un pourrait me dire pourquoi ça me fait ça ?

    function numberposts() {

    global $wpdb;

    $blogs = wp_cache_get(‘list_activ_blog’, ‘utilz_cache’);

    if (false === $blogs) {

    $blogs = $wpdb->get_results( « SELECT blog_id FROM $wpdb->blogs WHERE site_id = ‘$wpdb->siteid’ AND public = ‘1’ AND archived = ‘0’ AND mature = ‘0’ AND spam = ‘0’ AND deleted = ‘0’ AND last_updated’0000-00-00 00:00:00′; » );

    wp_cache_set(‘list_activ_blog’, $blogs, ‘utilz_cache’);

    }

    foreach ( $blogs as $blog ) {

    $id_blog = (int) $blog->blog_id;

    $tableid_blog_posts = ‘wp_’.$id_blog.’_posts’;

    $select_union[] = « (SELECT COUNT(*) as total FROM $tableid_blog_posts WHERE post_status = ‘publish’) »;

    }

    $unions = implode(« ntUNION ALLnt »,$select_union);

    $final_query =

    « SELECT SUM(total) AS comments_count

    FROM ({$unions}) AS all_tags »;

    $number_posts = $wpdb->get_var($final_query);

    return $number_posts ;

    }

    Pour l’affichage du nombre des articles, je fais ça :

    echo(« Nombre totale des articles:  » .numberposts(). »
     » );

    Je comprends plus pourquoi ça ne s’affichent pas comme avant sachant que j’ai rien touché depuis un bout de temps ! oO

    Merci d’avance

    [HS OFF]

    Cordialement,
    SCN

    #605001
    Rafik
    Membre
    Chevalier WordPress
    308 contributions
    djul wrote:
    Pour les stats, j’utilise Automatic Stats : http://wordpress.org/extend/plugins/stats/ qui fonctionne bien.

    Dans le .txt :

    Just like with Akismet, you’re welcome to use the same API key on multiple blogs. In fact our interface is optimized for quickly switching between stats for multiple blogs.

    et dans le php :

    Requires WordPress 2.1 or later. Not for use with WPMU.

    Je viens d’installer quand meme.. Dans le menu, il me sort mes deux blogs de wordress.com et mon blog principal de wpmu, rien de plus..

    J’ai testé aussi firestats qui est pas mal dans sa version 1.4.dev
    mais là aussi : « WPMU Support is experimental ».

    #605002
    SCN
    Membre
    Chevalier WordPress
    262 contributions

    le problème avec Firestats c’est la base de données, elle grossit énormément, avec une dizaine de blogs ça peut passer mais du moment où ça dépasse quelques centaines ça devient très embêtant !
    Personnellement, pour les statistiques de wpmu, je crois qu’il vaut mieux développer son propre script mais encore faut pas mettre trop de fonctionnalités, nombre de visites, visiteurs et les reffers suffit largement pour une plateforme de Blogging surtout pour des Bloggeurs Alpha .

    Cordialement,
    SCN

    #605003
    freed102
    Participant
    Initié WordPress
    18 contributions

    bonjour,

    Je cherche un plug in pour WPMU permettant à l’administrateur de recevoir un email lorsqu’un sujet ou une page vient d’être créée sur n’importe quel blog du site..
    j’ai essayé plusieurs trucs mais ça n’a pas l’air de marcher : Punmail, subscribe2 et dd-draft-notification … ou alors je les utilise mal… si vous pouviez me donner un tuyau ce serait cool !

    Merci !

    Freed

    PS : en fait pour le dernier plugin (dd-draft-notification ), il est assez simple, j’aimerai m’en servir de base et le modifier, le probleme c’est que je maitrise pas trop les add_action(), j’ai ajouté en bas :

    add_action(‘save_post’, ‘dddn_process’);
    add_action(‘edit_post’, ‘dddn_process’);
    add_action(‘delete_post’, ‘dddn_process’);
    add_action(‘publish_post’, ‘dddn_process’);

    la fonction s’appelle dddn_process, simplement même un simple echo « toto » n’apparait pas quand je poste/modifie une page!

    #605004
    freed102
    Participant
    Initié WordPress
    18 contributions

    Yesss !! I did it !!!!

    J’ai reussi à (plus ou moins) faire mon premier plug in ! (En reprennant sur un plug in existant, j’ai mis mon propre code en fait… et ça marche !

    ça m’a non seulement permis de résoudre mon problème, mais surtout aidé à comprendre mieux comment fonctionnent les plug ins… et ma conclusion est : WordPress c’est fantastique !

    dites moi ce que vous en pensez :

    get_results( »
    SELECT ID, user_login
    FROM wp_users
    « );
    if ($_POST[‘hidden_field’]===’Y’) { // form processing
    $notify= $_POST[‘notify’];
    for ($j=0; $j ID,’notify’) ) {
    update_usermeta($users[$j]->ID,’notify’,$notify[$j]);
    $output.=$users[$j]->user_login. »<br />n »;
    }
    }
    if ($output) {
    ?>
    <div class="updated">
    <h3>Utilisateur mis à jour :</h3>
    <p><strong></strong></p></div>

    <div class="wrap">
    <h2>Notification de publication d’article ou de page</h2>
    <p>Envoi un email aux utilisateur séléctionnés lorsqu’un article ou une page vient d’etre publié(e).
    </p>
    <form name="form1" method="post" action=" »>

    <p>ID, »notify »)) $checked.= » checked= »checked » « ;
    echo  » « ;
    echo « <label for="notify[$i]">{$user->user_login}</label><br />n »;
    unset($checked);
    $i++;
    }

    ?>
    </p><hr />
    <p class="submit">
    <input type="submit" name="Submit" value=" » />
    </p>
    </form>
    </div>
    get_results( »
    SELECT ID, user_email
    FROM wp_users
    « );
    $tp=$wpdb->prefix;
    $req= » SELECT post_status, post_title, user_login, user_nicename, display_name
    FROM {$tp}posts, wp_users
    WHERE {$tp}posts.post_author = wp_users.ID
    AND {$tp}posts.ID = ‘$post_ID' »;
    $result = $wpdb->get_row($req);



    $headers= »MIME-Version: 1.0n »;
    $headers.= « From: « .get_bloginfo(‘admin_name’). » n »;
    $headers .= « MIME-version: 1.0n »;
    $headers .= « Content-type: text/html; charset=iso-8859-1 n »;

    $subject= »Un article vient d’être publié ou modifié »;
    $fullmsg.= »Un article vient d’être publié sur le blog <strong>« .get_bloginfo(‘name’). »</strong><br />« ;
    $fullmsg.= »Voir l’article : <a>>> « .$result->post_title. » </a><br /><br />« ;
    $fullmsg.= »Cordialement,<br />« ;
    $fullmsg.= »Le Webmaster.<br />« ;
    $i=0;
    foreach ($users as $user) {
    if (get_usermeta($user->ID, »notify »)==1){
    $recipient=$user->user_email;
    mail($recipient, $subject, nl2br($fullmsg), $headers);
    unset($recipient);
    }
    $i++;
    }


    return $post_ID;
    }
    function notifications_delete_article($post_ID) {
    global $wpdb;

    $users = $wpdb->get_results( »
    SELECT ID, user_email
    FROM wp_users
    « );

    $tp=$wpdb->prefix;
    $req= » SELECT post_status, post_title, user_login, user_nicename, display_name
    FROM {$tp}posts, wp_users
    WHERE {$tp}posts.post_author = wp_users.ID
    AND {$tp}posts.ID = ‘$post_ID' »;
    $result = $wpdb->get_row($req);


    $headers= »MIME-Version: 1.0n »;
    $headers.= « From: « .get_bloginfo(‘admin_name’). » n »;
    $headers .= « MIME-version: 1.0n »;
    $headers .= « Content-type: text/html; charset=iso-8859-1 n »;

    $subject= »Un article vient d’être supprimé »;
    $fullmsg.= »L’article «  ».$result->post_title. » » vient d’être supprimé sur le blog <strong>« .get_bloginfo(‘name’). »</strong><br /><br />« ;
    //$fullmsg.= »Ancien article : <a>>> « .wp_title(). » </a><br /><br />« ;
    $fullmsg.= »Cordialement,<br />« ;
    $fullmsg.= »Le Webmaster.<br />« ;
    $i=0;
    foreach ($users as $user) {
    if (get_usermeta($user->ID, »notify »)==1){
    $recipient=$user->user_email;
    mail($recipient, $subject, nl2br($fullmsg), $headers);
    unset($recipient);
    }
    $i++;
    }


    return $post_ID;
    }
    function notifications_page($post_ID) {
    global $wpdb;


    $users = $wpdb->get_results( »
    SELECT ID, user_email
    FROM wp_users
    « );

    $tp=$wpdb->prefix;
    $req= » SELECT post_status, post_title, user_login, user_nicename, display_name
    FROM {$tp}posts, wp_users
    WHERE {$tp}posts.post_author = wp_users.ID
    AND {$tp}posts.ID = ‘$post_ID' »;
    $result = $wpdb->get_row($req);


    $headers= »MIME-Version: 1.0n »;
    $headers.= « From: « .get_bloginfo(‘admin_name’). » n »;
    $headers .= « MIME-version: 1.0n »;
    $headers .= « Content-type: text/html; charset=iso-8859-1 n »;

    $subject= »Une page vient d’être publiée ou modifié »;
    $fullmsg.= »Une page vient d’être publiée sur le blog <strong>« .get_bloginfo(‘name’). »</strong><br />« ;
    $fullmsg.= »Voir la page : <a>>> « .$result->post_title. » </a><br /><br />« ;
    $fullmsg.= »Cordialement,<br />« ;
    $fullmsg.= »Le Webmaster.<br />« ;
    $i=0;
    foreach ($users as $user) {
    if (get_usermeta($user->ID, »notify »)==1){
    $recipient=$user->user_email;
    mail($recipient, $subject, nl2br($fullmsg), $headers);
    unset($recipient);
    }
    $i++;
    }


    return $post_ID;
    }
    function notifications_delete_page($post_ID) {
    global $wpdb;


    $users = $wpdb->get_results( »
    SELECT ID, user_email
    FROM wp_users
    « );
    $tp=$wpdb->prefix;
    $req= » SELECT post_status, post_title, user_login, user_nicename, display_name
    FROM {$tp}posts, wp_users
    WHERE {$tp}posts.post_author = wp_users.ID
    AND {$tp}posts.ID = ‘$post_ID' »;
    $result = $wpdb->get_row($req);




    //$recipient = ‘fleve@ecedi.fr’;
    $headers= »MIME-Version: 1.0n »;
    $headers.= « From: « .get_bloginfo(‘admin_name’). » n »;
    $headers .= « MIME-version: 1.0n »;
    $headers .= « Content-type: text/html; charset=iso-8859-1 n »;

    $subject= »Une page vient d’être supprimée »;
    $fullmsg.= »La page «  ».$result->post_title. » » vient d’être supprimée sur le blog <strong>« .get_bloginfo(‘name’). »</strong><br /><br />« ;
    //$fullmsg.= »Ancienne page : <a>>> « .$result->post_title . » </a><br /><br />« ;
    $fullmsg.= »Cordialement,<br />« ;
    $fullmsg.= »Le Webmaster.<br />« ;
    $i=0;
    foreach ($users as $user) {
    if (get_usermeta($user->ID, »notify »)==1){
    $recipient=$user->user_email;
    mail($recipient, $subject, nl2br($fullmsg), $headers);
    unset($recipient);
    }
    $i++;
    }


    return $post_ID;
    }

    add_action(‘publish_post’, ‘notifications_article’);
    add_action(‘edit_post’, ‘notifications_article’);
    add_action(‘publish_page’, ‘notifications_page’);
    add_action(‘edit_page’, ‘notifications_page’);
    add_action(‘delete_post’, ‘notifications_delete_article’);
    add_action(‘delete_page’, ‘notifications_delete_page’);

    add_action(‘admin_menu’, ‘ecedi_notification_menu’);

    ?>

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