web-dev-qa-db-fra.com

Mot de passe protégé modèle personnalisé

Bonjour les gars, je suis nouveau sur Wordpress et j'ai quelques problèmes. Je crée un thème personnalisé et j'ai besoin que l'une de mes pages soit protégée par mot de passe. J'ai lu le codex Wordpress sur le sujet et tous les fils que j'ai trouvés ici, mais aucun d'eux ne m'a aidé. J'ai créé un modèle personnalisé que j'utilise pour ma page.

Mon modèle personnalisé est principalement codé en dur et n'a pas the_content. Ceci est mon modèle personnalisé https://jsbin.com/qayeso/edit?html

Lorsque j'ajoute un mot de passe à une page utilisant ce modèle, rien ne se passe. Après avoir lu des choses en ligne, j'ai eu l'idée suivante.
J'ai créé un autre modèle et je voulais y appeler mon ancien modèle pour obtenir un mot de passe. C'est le code:

<?php /* Template Name: PwProtect */ ?>

<?php
    global $post;

    if ( ! post_password_required( $post ) ) {
          // Your custom code should here
        echo get_testPage();

    }else{
        // we will show password form here
        echo get_the_password_form();
    }

?>

Mais lorsque j'essaie, j'obtiens l'erreur suivante:

Erreur fatale: appel de la fonction non définie get_testPage () dans C:\wamp\www\fresenius\wp-content\themes\fresenius\indiPartnership.php à la ligne 8

Y at-il un moyen de faire ce travail? Puis-je protéger mon modèle personnalisé par mot de passe?.

1
Karadjordje

Bon alors je l'ai fait fonctionner avec include c'est mon code mis à jour:

<?php /* Template Name: pw-protect */ ?>

<?php
    global $post;
    get_header();

    if ( ! post_password_required( $post ) ) {
          // Your custom code should here
        include('indiPartnership.php');


    }else{
        // we will show password form here
        echo get_the_password_form();
    }

?>
2
Karadjordje

il est très facile de protéger par mot de passe pour n’importe quelle page et de publier dans WordPress.

allez d'abord sur le panneau d'administration, cliquez sur toutes les pages et éditez rapidement n'importe quelle page que vous voulez protéger par mot de passe et  enter image description here 

1
dheeraj Kumar

Utilisez get_template_part au lieu de get_testPage ();

<?php get_template_part( 'loop', 'index' ); ?>

Le nom du fichier devrait ressembler à ceci: loop-index.php.

0
Waqas Ali Shah