Remplacer le contenu de la page WordPress après GET depuis la page php

Publié par Jean-Michel le

J’ai une page wordpress avec un formulaire html où je reçois le nom d’utilisateur et le mot de passe de mes clients.

Ensuite, j’envoie à une page php externe située sur un autre serveur et j’obtiens le résultat des informations d’identification insérées pour vérifier si l’utilisateur est vraiment autorisé à voir le contenu protégé.

Ce que j’essaie de faire une fois la connexion réussie, c’est de remplacer le contenu actuel de la page wordpress (le formulaire html) par quelque chose d’autre, sans modifier la page et sans la rendre externe (je veux montrer à l’utilisateur le même style de la page) .

Il y a une sorte de trame dynamique ou autre chose qui me permet ça ?

Merci beaucoup.

Solution n°1 trouvée

Relisez votre question et modifiez également la solution. Il s’agit maintenant d’un modèle de page et doit être défini sur la page dont le contenu doit être protégé. Il s’appuie sur un message « de connexion » dont le code HTML provient.

<?php
/*
Template Name: Protected Page
*/


// Standard HTML of Theme

    global $post;

    // check if authentication has been made
    if( verifyAuthentication($_POST['authCode']) ) {

        // display protected content
        the_content();
    }       
    else {

        // fetch the login form html from "login" post. Or you can read from a file or some admin settings of your plugin.
        $login_post = get_post( url_to_postid("login") );

        // display the html form
        echo apply_filters('the_content',$login_post->post_content );
    }


// Standard HTML of Theme

Le paramètre post authCodeest censé être présent et valide lorsque la connexion a été authentifiée avec succès.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *