web-dev-qa-db-fra.com

Comment afficher le site du point de vue d'un utilisateur non connecté

Je travaille sur un nouveau blog. Je suis connecté en tant qu'administrateur. Au-dessus de chaque message, il existe une option permettant de "modifier cette entrée".

Puis-je configurer WordPress de sorte que même si je suis connecté en tant qu'administrateur, je visualise toujours le site Web comme si je ne l'étais pas. C'est ainsi que je peux voir comment l'utilisateur verrait la page.

Une option consiste à simplement afficher le site Web dans un autre navigateur, mais je suppose qu'il doit y avoir une autre page.

2
Saif Bechan

Voir cette question liée . Vous devriez pouvoir ajouter ce code à vos thèmes functions.php

   add_filter( 'edit_post_link', '__return_false' );
0
Brooke.

Ces liens d'édition dépendent du thème, via la balise edit_post_link() template. Cependant, il existe plusieurs autres différences similaires dans l'apparence du site entre les utilisateurs connectés et les utilisateurs non connectés: la présence de la barre d'administration, des liens de modification de publication, des liens de modification de commentaire, des liens de connexion/enregistrement/enregistrement (ajoutés directement). au modèle, ou via un widget), etc.

Celles-ci ne constituent pas vraiment une "édition front-end"; ce sont simplement des liens qui apparaissent (ou changent) en fonction du statut de connexion de l'utilisateur.

La meilleure solution consiste probablement à afficher le site dans un navigateur à partir duquel vous n'êtes pas connecté à votre site.

4
Chip Bennett

Activez le mode Confidentialité ou Incognito, ou utilisez un autre navigateur, c’est le seul moyen fiable de le faire. Les gens peuvent vous donner des filtres qui peuvent éliminer une chose à la fois, mais il n'y aura jamais de correctif de code parfait à 100%.

Demander une solution vous permettant de visualiser l’interface comme si votre non-connexion introduisait une toute nouvelle série de problèmes, tels que des personnes ne pouvant pas se connecter et commenter car elle ne se souvient plus d’eux, etc.

Ce que vous demandez, c'est essentiellement "J'ai une voiture et je veux conduire mais je ne veux pas le faire avec des roues, comment puis-je ajouter des bandes de roulement pour chars?" C'est faisable mais ce n'est pas vraiment la solution.

2
Tom J Nowell

Vous pouvez conditionnellement nuke variable globale avec les informations de l'utilisateur, quelque chose comme ceci:

function no_user() {

    global $current_user;

    if( is_admin() )
        return;

    $current_user = -1;
}

Je ne sais pas précisément quel est le moment le plus approprié pour le faire. Cette opération sur template_redirect devrait être suffisamment tôt pour pouvoir l'annuler pour la plupart (sinon la totalité) des éléments des modèles.

De plus, je suis allé avec -1 pour que ce ne soit pas vide (ce qui le déclenchera en cours de reconfiguration des appels d'une fonction connexe), mais il serait probablement préférable de le configurer avec les informations d'un utilisateur non privilégié existant.

1
Rarst

J'ai créé un plug-in qui vous permet de visualiser votre site Web en tant que visiteur sans changer de navigateur, et bien plus encore (changement d'utilisateur, changement de rôle, paramètres d'écran par défaut, gestionnaire de rôle, etc.).

J'espère que cela pourra vous aider aussi: https://wordpress.org/plugins/view-admin-as/

0
Jory Hogeveen

Tuez simplement la variable utilisateur au premier moment possible :

add_action( 'set_current_user', 'kill_user', 999999 );

function kill_user() {

    global $current_user;

    $current_user = new WP_User();

}

J'ai utilisé un nombre élevé par priorité au cas où d'autres crochets feraient quelque chose ici. De plus, la variable ne peut pas simplement être fausse ou vide car des fonctions ultérieures s’attendent à ce que ce soit un objet WP_User ...

Merci à Rarst et sa réponse .

0
GDY