Comment restreindre une page dans wordpress. Par exemple: l'utilisateur [ sans connexion ] peut voir 5 de la liste de jeux. [exemple.com/game/] et après avoir cliqué sur "Voir plus", vous devez vous connecter/enregistrer , puis l'utilisateur peut accéder à la liste complète/100 des jeux . [example.com/game/]
Quelqu'un sait-il le faire sans plugin? Je vous remercie
Vous pouvez le faire assez facilement avec un shortcode. Accédez à init
et ajoutez le shortcode à votre fonction accrochée.
<?php
add_action('init', 'wpse57819_add_shortcode');
/**
* Adds the shortcode
*
* @uses add_shortcode
* @return null
*/
function wpse57819_add_shortcode()
{
add_shortcode('restricted', 'wpse57819_shortcode_cb');
}
Ensuite, dans votre fonction de rappel, vous pouvez vérifier si l'utilisateur est connecté. S'ils le sont, affichez-leur le contenu. Sinon, montrez-leur un message de connexion. Vous pouvez faire littéralement ce que vous voulez ici: vérifiez les capacités de l'utilisateur pour lui montrer le contenu (différents "niveaux d'adhésion"), montrez-leur un formulaire de connexion complet. Un exemple simple:
<?php
/**
* Callback function for the shortcode. Checks if a user is logged in. If they
* are, display the content. If not, show them a link to the login form.
*
* @return string
*/
function wpse57819_shortcode_cb($args, $content=null)
{
// if the user is logged in just show them the content. You could check
// rolls and capabilities here if you wanted as well
if(is_user_logged_in())
return $content;
// If we're here, they aren't logged in, show them a message
$defaults = array(
// message show to non-logged in users
'msg' => __('You must login to see this content.', 'wpse57819'),
// Login page link
'link' => site_url('wp-login.php'),
// login link anchor text
'anchor' => __('Login.', 'wpse57819')
);
$args = wp_parse_args($args, $defaults);
$msg = sprintf(
'<aside class="login-warning">%s <a href="%s">%s</a></aside>',
esc_html($args['msg']),
esc_url($args['link']),
esc_html($args['anchor'])
);
return $msg;
}
En tant que plugin .
Utilisation
Quelque part dans vos pages/posts:
[restricted]
Content for members only goes here
[/restricted]
Peut-être qu'un shortcode personnalisé est utile Voir ce plugin http://wordpress.org/extend/plugins/restrictedarea Il est obsolète mais vous devez utiliser le code pour votre but