Conditionner passage de page par un Captcha
Fermé
tridam23
Messages postés
99
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
11 juin 2021
-
16 nov. 2016 à 05:47
elgazar Messages postés 5841 Date d'inscription mercredi 30 octobre 2013 Statut Membre Dernière intervention 17 mars 2021 - 30 nov. 2016 à 20:57
elgazar Messages postés 5841 Date d'inscription mercredi 30 octobre 2013 Statut Membre Dernière intervention 17 mars 2021 - 30 nov. 2016 à 20:57
A voir également:
- Conditionner passage de page par un Captcha
- Supprimer une page word - Guide
- Word numéro de page 1/2 - Guide
- Passage qwerty azerty - Guide
- Traduire une page - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
2 réponses
elgazar
Messages postés
5841
Date d'inscription
mercredi 30 octobre 2013
Statut
Membre
Dernière intervention
17 mars 2021
1 325
16 nov. 2016 à 10:05
16 nov. 2016 à 10:05
bonjour
1. oui mais il faut un peu bidouiller le code du thème et utiliser des marqueurs conditionnels pour afficher une page de connexion quand les utilisateurs ne sont pas identifiés (et la page normale quand ils sont identifiés) par contre niveau référencement ce sera un plombage en règle
2. en théorie, il suffit de placer un captcha dans toutes les div articles puis quand la page s'ouvre, il verra la page de connexion si il n'est pas identifié ou le captcha ( puis le contenu) dans le cas contraire.
1. oui mais il faut un peu bidouiller le code du thème et utiliser des marqueurs conditionnels pour afficher une page de connexion quand les utilisateurs ne sont pas identifiés (et la page normale quand ils sont identifiés) par contre niveau référencement ce sera un plombage en règle
if ( is_user_logged_in() ) {
le contenu de la div article
} else {
<?php wp_login_form(); ?> // le formulaire de connexion de wp
}
2. en théorie, il suffit de placer un captcha dans toutes les div articles puis quand la page s'ouvre, il verra la page de connexion si il n'est pas identifié ou le captcha ( puis le contenu) dans le cas contraire.
elgazar
Messages postés
5841
Date d'inscription
mercredi 30 octobre 2013
Statut
Membre
Dernière intervention
17 mars 2021
1 325
30 nov. 2016 à 17:17
30 nov. 2016 à 17:17
ah ok je comprends mieux pourquoi tu n'y arrivais pas, ton index utilise plusieurs fichiers pour s'afficher donc c'est difficile de mettre le code sans voir la totalité, cela dit tu peux essayer de mettre le code dans wp-blog-header.php en espérant qu'il ne soit pas découper en plusieurs parties
tu utilise quel thème ?
tu utilise quel thème ?
tridam23
Messages postés
99
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
11 juin 2021
30 nov. 2016 à 17:33
30 nov. 2016 à 17:33
theme Themify Peak
mon wp blog header
mon wp blog header
<?php /** * Loads the WordPress environment and template. * * @package WordPress */ if ( !isset($wp_did_header) ) { $wp_did_header = true; // Load the WordPress library. require_once( dirname(__FILE__) . '/wp-load.php' ); // Set up the WordPress query. wp(); // Load the theme template. require_once( ABSPATH . WPINC . '/template-loader.php' ); }
elgazar
Messages postés
5841
Date d'inscription
mercredi 30 octobre 2013
Statut
Membre
Dernière intervention
17 mars 2021
1 325
>
tridam23
Messages postés
99
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
11 juin 2021
30 nov. 2016 à 20:57
30 nov. 2016 à 20:57
voila pourquoi je ne fais généralement pas de support pour les thèmes payants car leurs codes sont complexifiées pour éviter qu'on leur pique mais du coup, impossible de faire une modification simplement.
je te dirais bien de regarder dans template-loader pour voir si tu vois
je te dirais bien de regarder dans template-loader pour voir si tu vois
<?php if ( have_posts() ) : ?>dans une div puis de placer le code autour comme ci
<?php /** * The main template file * * This is the most generic template file in a WordPress theme * and one of the two required files for a theme (the other being style.css). * It is used to display a page when nothing more specific matches a query. * E.g., it puts together the home page when no home.php file exists. * * @link http://codex.wordpress.org/Template_Hierarchy * * @package WordPress * @subpackage Twenty_Sixteen * @since Twenty Sixteen 1.0 */ get_header(); ?> // début de la condition <?php if ( is_user_logged_in() ) { ?> //début de la div article affichée aux inscrits, partie originale du code <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php if ( have_posts() ) : ?> <?php if ( is_home() && ! is_front_page() ) : ?> <header> <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> </header> <?php endif; ?> <?php // Start the loop. while ( have_posts() ) : the_post(); /* * Include the Post-Format-specific template for the content. * If you want to override this in a child theme, then include a file * called content-___.php (where ___ is the Post Format name) and that will be used instead. */ get_template_part( 'template-parts/content', get_post_format() ); // End the loop. endwhile; // Previous/next page navigation. the_posts_pagination( array( 'prev_text' => __( 'Previous page', 'twentysixteen' ), 'next_text' => __( 'Next page', 'twentysixteen' ), 'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentysixteen' ) . ' </span>', ) ); // If no content, include the "No posts found" template. else : get_template_part( 'template-parts/content', 'none' ); endif; ?> </main><!-- .site-main --> </div><!-- .content-area --> //fin de la div affichés aux inscrits //début de la condition pour les utilisateurs non loggé (partie du code à ajouter) <?php } else { $args = array( 'echo' => true, 'redirect' => 'http://localhost/sitetest/', 'label_log_in' => __( 'Log in' ), 'form_id' => 'login', 'label_username' => __( 'Username' ), 'label_password' => __( 'Password' ), 'label_remember' => __( 'Remember Me' ), 'id_username' => 'user_login', 'id_password' => 'user_pass', 'id_submit' => 'wp-submit', 'remember' => true, 'value_username' => NULL, 'value_remember' => true ); ?> <div id="container" class=""> <div id="content" > <?php wp_login_form($args); ?> </div></div> <a href="<?php bloginfo('url');?>/wp-login.php?action=register">Inscription</a> <a href="<?php bloginfo('url');?>/wp-login.php?action=logout">Desinscription</a> <?php } ?> // fin de la condition // affichage de la sidebar et du footer dans les deux cas <?php get_sidebar(); ?> <?php get_footer(); ?>
19 nov. 2016 à 05:28
ce bout de code je le met ou?avec ce code la page de connexion sera la première page (index) du site ?
pour le point 2, je vas tente
19 nov. 2016 à 06:20
tu peux en outre cibler uniquement certaines, pages, certaines catégories ou certains articles selon leur id, leur motclé, la date, l'auteur, etc
pour comprendre les marqueurs conditionnels, regarde ici
22 nov. 2016 à 05:41
et comment faire pour que la page de login soit en page d'acceuil
genre tu te connecter avant d'avoir accès au site web, un peu comme facebook
que faire pour mettre la login de wp en page d'acceuil
Modifié par elgazar le 22/11/2016 à 08:57
en gros, tu copie/colle le code de page.php dans un nouveau fichier que tu appelles page-accueil.php que tu mettras au même niveau dans le dossier
avant le code de page-accueil.php , tu insères ces lignes
ensuite tu enlèves ce que tu veux dans le code, si tu veux n'avoir qu'un formulaire de connexion, tu dois garder le strict minimum ce qui se résume généralement à cela
j'ai gardé le header et le footer mais ce n'est pas obligatoire selon le thème que tu utilises et j'ai simplement rajouté le formulaire de connexion à la place du contenu.
Une fois ton modèle de page défini, il suffit de créer une page vide (mets seulement le titre accueil) puis de choisir dans les attributs de pages dans la colonne de droite de la page d'édition le modèle page-accueil et enfin d'aller dans le menu réglages=>lecture et de mettre ta page comme page d'accueil
ps: pour raison que j'ignore le forum ne prends pas le second astérisque dans le code de template name, pense à bien l'entourer avec /* et */
22 nov. 2016 à 10:31
Qu'ai je mal fait???