web-dev-qa-db-fra.com

Comment puis-je vérifier si une page ou un enfant généré par un plugin est spécifique?

J'écris une fonction pour forcer une redirection lors de l'accès à une certaine page.

J'ai fait des choses similaires en utilisant du code comme

 if ( is_main_query() && 
       ( is_singular($restricted_post_types)||is_single() ) 
       && ! is_user_logged_in() ) { 
           wp_redirect(...) 
 }

Mais maintenant, je veux cibler une certaine classe de pages (les pages liées au profil dans le plugin bbpress bc Genesis les détruisent). Je ne sais pas ce que je peux utiliser pour identifier cela à partir d'une action du hook template_redirect.

Je pense que n'importe quoi avec le motif '<baseurl>/forums/user' attraperait ce dont j'ai besoin

1
Damon

Si vous essayez de saisir le motif '/ forums/user', vous pouvez utiliser la fonction stringpos de PHP. Quelque chose comme ceci devrait refléter ce que vous recherchez:

$url_pattern = "/forums/user";
$requested_uri = $_SERVER["REQUEST_URI"];

if(strpos($requested_uri, $url_pattern) == 0){
    //Your code goes here
}

Assurez-vous que, si vous avez défini "appliquer les barres obliques", utilisez plutôt "/ forums/user /". Ce code n'est pas testé mais devrait fonctionner.

1