J'utilise le nouveau personnalisateur de thème et cela me fait vraiment penser à quel point il serait génial de permettre aux acheteurs/clients de thème potentiels de jouer avec le personnalisateur pour un thème de démonstration (sans être connecté). Le personnaliseur est situé à:
..wp-admin/customize.php
.
Il faudrait donc autoriser un accès libre à cette URL , mais rien d’autre dans le back-end. Je suppose que cela pose probablement un problème de sécurité, mais je pensais avoir une discussion à ce sujet au cas où il serait possible de le faire en toute sécurité, car je suis sûr que d'autres personnes pourraient avoir la même idée.
La question est donc la suivante: existe-t-il un moyen sûr d’autoriser un accès ouvert à une seule page de l’administrateur?
Juste une idée:
$creds = array(
'user_login' => 'guest_user',
'user_password' => 'guest_user_plain_password'
);
$user = wp_signon( $creds, false );
if ( is_wp_error( $user ) )
echo $user->get_error_message();
else
wp_redirect( 'your_absolute_admin_url' ); exit;
add_action( 'init', 'check_guest_user' );
function check_guest_user() {
// Only when in backend and the guest user is logged in
if ( is_admin() && user_id = get_current_user_id() ) {
// Block other pages then custom.php
global $pagenow;
if ( 'customize' != $pagenow )
exit();
}
}
// replace user_id with the user ID of 'Guest'
Le seul problème avec ce script est lorsque plusieurs utilisateurs essaient le personnaliseur. Enregistrer les paramètres de personnalisation par utilisateur rendrait les choses beaucoup plus difficiles.
Il répond cependant à votre question, car il s’agit d’une solution permettant de donner aux utilisateurs un accès à une page spécifique sans qu’ils aient à créer un compte.