Création d’un site pour une équipe de chercheur (Créer un compte)

  • Statut : non résolu
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #538311
    lucasF
    Membre
    Initié WordPress
    1 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 3.9
    – Version de PHP/MySQL : la dernière avec WAMP
    – Adresse du site : locale

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

    Alors voilà, je suis censé refaire le site internet d’une équipe de chercheur et ils ont quelques fonctionnalités particulières qu’ils souhaiteraient avoir à dispo sur le site, telles que :

    – Ajouter/visualiser les thèses (exemple : une page pour saisir une thèse, une pour les lister et une pour afficher une thèse)
    – Avoir un formulaire de contact

    L’utilisation de WordPress est une contrainte qu’il m’est donné de suivre (à mon plus grand désespoir…)

    J’ai de bonnes bases en développement web, mais clairement, après avoir installé wordpress en local sur mon PC, impossible de voir comment je pourrais ajouter les fonctionnalités attendues :(

    Je compte sur vous pour me guider dans ma démarches en m’indiquant la démarche globale et éventuellement des liens vers des tutos expliquant bien comment faire.

    Je vous remercie d’avance pour le temps que vous voudrez bien accorder à ma demande.

    Cordialement.

    #955162
    Li-An
    Modérateur
    Maître WordPress
    26942 contributions

    Bon, le formulaire de contact, c’est super facile, c’est un bête plugin à choisir.

    Mais il faudrait préciser le coup des trois pages, je n’ai pas trop saisi.

    #955163
    blogob
    Participant
    Chevalier WordPress
    237 contributions

    Bonjour je passe par la par hasard
    pour le formulaire de contact, le plugin contact form 7 (gratuit) est parfait, paramétrable à souhait, tu peux rajouter autant de champs que tu veux (text, mail, select, boutton radio, checkbox etc)tu genere un formulaire dans le menu contact crée par le plugin.tu fais ton formulaire, il te donne un short code.
    Tu crée une page quelconque, nommée contact par exemple, dedans tu reportes ce short code.et ca te génére un beau formulaire, avec vérifiation des champs, envoi par mail, confirmation etc…cette page tu la place dans ton menu, tu as ta page contact sur ton site.

    pour tes 3 options, si tes utilisateurs doivent éditer des articles ou des pages(thèses) il faut alors de préférence créer un espace de connexion inscription pour qu’ils puissent simplement dans le backoffice créer des articles ou des pages.(thèses ou articles de thèses)

    ta page login

    get_error_message(); 
        }else{
            header(‘location:profil’);
        }
    }else{
        $user = wp_get_current_user();
        if($user->ID != 0){
            header(‘location:profil’);
        }
    }
    ?>
    
    <div class="span8"><h1>Se connecter</h1> 
    
            <div class="error"></div>
            <div>
    
    <form role='form' action=" » method= »post » onsubmit= »return valider_connexion(this); »>
                <div class='form-group'>
                    <label for="user_login">Votre Login :</label>
                    
                </div>
                <div class='form-group'>
                    <label for="user_password">Mot de passe : </label>
                    
                </div>
                <div class='form-group'>
                    
                    <label for="remember">Se souvenir de moi</label>
                </div>
                
    
            </form>
        

     $d[‘user_login’],
                    ‘user_pass’  => $d[‘user_pass’],
                    ‘user_email’ => $d[‘user_email’],
                    ‘user_registered’ => date(‘Y-m-d H:i:s’)
                ));
                if(is_wp_error($user)){
                    $error = $user->get_error_message(); 
                }else{
                    $msg = ‘Vous êtes maintenant inscrit’;
                    $headers = ‘From: ‘.get_option(‘admin_email’). »rn »;
                    wp_mail($d[‘user_email’], ‘Inscription réussie’, $msg, $headers );
                    $d = array(); 
                    wp_signon($user);
                    header(‘Location:profil’); 
                }
    
            }
        }
    }
    ?>
    
    
    
    
        <div class="span8">
    
            <h1>S’inscrire</h1> 
            
                <div class="error">
                    
                </div>
    
            
            <p>Pourquoi s’inscrire ?</p>
            <div>
               blablabla
            </div>
    
    
    
            <form  action=" » role=’form’ method= »post » onsubmit= »return valider_inscription(this) »>
    
                <div class='form-group'>
    
                    <label for="user_first_name">Votre Nom :</label>
                    <input type="text" class='form-control' required value=" » name= »user_first_name » id= »user_first_name »/>
                </div>
    
                <div class='form-group'>
                    <label for="user_last_name">Votre Prenom :</label>
                    <input type="text" class='form-control' required value=" »name= »user_last_name » id= »user_last_name »/>
                </div>
    
    
                <div class='form-group'><label for="user_email">Votre Email :</label> 
                    <input type="email" class='form-control' required value=" » name= »user_email » id= »user_email »/>
                </div>
    
                <div class='form-group'>
    
                    <label for="user_login">Votre Login :</label>
                    <input type="text" class='form-control' required value=" » name= »user_login » id= »user_login » />
                </div>
    
    
                <div class='form-group'>
                    <label for="user_pass">Mot de passe : </label>
                    
                </div>
    
                <div class='form-group'><label for="user_pass2">Confirmez votre mot de passe : </label>
                    
                </div>   
    
                
    
            </form>
    
        </div> 

    une page profil

    
    ID == 0){header(‘location: login’);
    }?><div class="span8">
            
            
            <div style="margin-right:10px">id, 80); ?></div>
    
            <h2>Bienvenue!!!</h2> 
    
            <div class="bienvenue">
            user_first_name . « n »; echo  » .$current_user->user_last_name . « n »; ?><br />
            user_email . « n »; ?><br />
    
            Tu peux maintenant :
            <h3>Rajouter une recette</h3>
            <a href="wp-admin/post-new.php">Ajoutes une recette!!</a><br />
            ou
            <h3>Modifier tes infos perso</h3>
            <a href="wp-admin/profile.php">Complète ton profil!!</a>
             <h3>Vos articles</h3>
            <li><a href="wp-admin/edit.php">Modifie une recette</a></li>
            </div>
        

    sur cette page, de simples liens qui redirigent vers le backoffice utilisateurs, ils ne verront qu’un onglet profil, et l’onglet article, que tu peux renommer en « thèse »
    grace à ce bout de code inséré dans functions.php

    function change_menu_title() {
        global $menu;
        global $submenu;
        $menu[5][0] = ‘Recettes’;
        $submenu[‘edit.php’][5][0] = ‘Ma recette’;
        $submenu[‘edit.php’][10][0] = ‘Ajouter une recette’;
    }
    add_action( ‘admin_menu’, ‘change_menu_title’ );
    
    // Edit submenus
    function change_menu_object() {
        global $wp_post_types;
        $labels = &$wp_post_types[‘post’]->labels;
        $labels->name = ‘recette’;
        $labels->singular_name = ‘Nouvelle recette’;
        $labels->add_new = ‘Ajouter une recette’;
        $labels->add_new_item = ‘Ajouter de nouvelles recettes’;
        $labels->edit_item = ‘Editer une recette’;
        $labels->new_item = ‘Nouvelle recette’;
    //     $labels->all_items = ‘Tous les tutos’;
        $labels->view_item = ‘Voir la recette’;
        $labels->search_items = ‘Rechercher une recette’;
        $labels->not_found = ‘Aucun recette trouvée’;
        $labels->not_found_in_trash = ‘Aucun recette dans la corbeille’;
    }
    add_action( ‘admin_menu’, ‘change_menu_object’ );

    au lieu de recette tu mets thèse…

    dans functions.php il te faut courcuircuiter le système de wordpress pour qu’à la deconnexion connexion, inscription tu restes sur le front end

    add_action(‘send_headers’, ‘redirection_login’);
    function redirection_login() {
        $root = str_replace(‘index.php’,  », $_SERVER[‘SCRIPT_NAME’]);
        $url = str_replace($root,  », $_SERVER[‘REQUEST_URI’]);
        $url = explode(‘/’, $url);
        if (count($url) == 1 && $url[0] == ‘login’) {
            require ‘login.php’;
            die();
        } else if (count($url) == 1 && $url[0] == ‘profil’) {
            require ‘profil.php’;
            die();
        } else if (count($url) == 1 && $url[0] == ‘logout’) {//si je suis deconnecté, je redirige vers la l’accueil root
            wp_logout();
            header(‘location:’ . $root);
            die();
        } else if (count($url) == 1 && $url[0] == ‘register’) {//idem
            require ‘register.php’;
            die();
        }
    }
    add_filter(‘show_admin_bar’, ‘__return_false’);

    enfin il faut placer ces liens de connexion deconnexion inscription quelque part, entouré d’une class

    
    
                            ID == 0): //s’il est pas connecté’?>
                                <a href ="/login »>se connecter</a> 
                                <a href ="/register »>S’inscrire</a>
                            
                                Salut! user_login; //ici pour remplacer par le nom de l’utilisateur ‘    ?>
                                <a href ="/wp-admin/profile.php »>Mon Profil</a> 
                                <a href ="/logout »>Se deconnecter</a>
                                <a href="/wp-admin/post-new.php »>Ajoutes une recette!!</a>
                                    

    tu peux ensuite faire en sorte, pour ne pas te compliquer la vie, que tous les inscrits aient comme role subscriber, et tu leur donne le droit d’écriture

    function add_capabilitie() {
    	$subscriber_role = get_role(« subscriber »);
           $subscriber_role->add_cap(‘edit_published_posts’);
           $subscriber_role->add_cap(‘edit_posts’);
           $subscriber_role->add_cap(‘delete_posts’);
    }
    add_action(‘init’,’add_capabilitie’);

    et dans le backoffice, tu coches l’onglet « tout le monde peut s’inscrire » ave comme role par défaut, subscriber..

    Ensuite, tu crée des catégories de thèses, tu demandes aux chercheurs de bien lier leur articles à tes catégories, tu place ces catégories dans ton menu, et quand tu cliques sur une des catégories, tu aura listées (selon ton css) tous tes articles..en cliquand sur l’extrait, tu sera redirigé vers ton article en question en entier.
    voili.
    tu as donc l’edition d’articles ou de thèse en backoffice, chaque chercheur a son profil, et en front end, tes catégories listant chaque extrait d’articles, et pour chaque extrait, le contenu en entier en cliquant dessus.
    comme la par exemple : http://www.copier-coller.com(ici pas d’inscription)

    tu peux aussi opter pour des plugins, mais j’avoue que depuis que j’utilise des plugins, j’ai perdu une partie de mon cerveau…

    en espérant t’avoir aidé, comme d’autres m’ont aidé!!!
    et vive les chercheurs!!!

    #955164
    blogob
    Participant
    Chevalier WordPress
    237 contributions

    de rien au fait!!!

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