Ein Div für Abonnenten (Benutzerrolle) auf einer Seite verbergen (is_page)

Hallo, ich habe mir das schon eine ganze Weile angeschaut und kann es anscheinend nicht auflösen, ich hoffte, dass jemand, der mit dem WordPress-core mehr vertraut ist und PHP eine Idee teilen könnte.

Was ich im Wesentlichen erreichen möchte, ist, ein Div zu verstecken, das es erlaubt, dass Buddypress-Benutzer (die Subscrivers) neue Themen zu einem Gruppenforum hinzufügen. Aber ich möchte nicht, dass das von allen Foren nur eine davon versteckt wird. Also ich brauche 2 Stück 1, die bestimmt, ob jemand ein Abonnent oder ein Administrator ist. So ist es nur für den Abonnenten versteckt. und 2, dass es es von nur 1 Seite verbirgt.

Beispiel eines möglichen Codes muss nur zusammenpassen (der gesamte Code würde in die functions.php gehen, außer es gibt einen anderen Weg)

 have info link or whatever in here  

Das ist für die Startseite, aber ähnlich können Sie die Seite nach ID bekommen

Für die Rolle habe ich das gesehen

 is_admin() 

Ich würde annehmen, dass es ein

 is_subscriber() 

und von dort aus kannst du ein if im php machen, wenn is_subscriber () und is_page (42) die .js-Datei aufrufen und von dort eine class hinzufügen, die das div versteckt, das ich durch jquery verstecken möchte

Das ist so weit wie ich von dem, was ich weiß, entfernt habe und mich umsehe. Ich würde jede Hilfe sehr schätzen.

Solutions Collecting From Web of "Ein Div für Abonnenten (Benutzerrolle) auf einer Seite verbergen (is_page)"

Ein div zu verstecken, ist unsicher – sie können es leicht verstecken, indem Sie die Quelle bearbeiten oder Javascript in der URL-Leiste des Browsers ausführen. Ich glaube, das könnte das sein, wonach Sie suchen:

 < ?php if (current_user_can('subscriber')){ ?> [html here] < ?php } ?> 

Quelle: Verwendung von WordPress zum Anzeigen von Inhalten in Abhängigkeit von der Ebene eines Benutzers

Wenn Sie die ID der Seite kennen, auf der Sie die Schaltfläche ausblenden möchten, können Sie is_page() in der Schleife verwenden. Verwenden Sie außerhalb der Schleife Folgendes:

 global $post; $post_id = $post->ID; 

Während die Antwort von @ JamesF funktionieren sollte, wird die Verwendung von Rollen als weniger stabil angesehen als das Testen mit einer bestimmten Fähigkeit. Sie können eine Tabelle finden, in der Rollen und functionen des Codex verglichen werden . Die einzige Fähigkeit, die Abonnenten haben, ist read , also würden Sie dagegen testen.

Dein endgültiger Code würde dann so aussehen:

 global $post; $post_id = $post->ID; if( $post_id = 42 && current_user_can( 'read' ) { // do stuff } 

Der letzte Schritt ist, wo dies zu setzen ist. Wenn Sie die Schaltfläche nicht programmgesteuert über functions.php hinzufügen, werden Sie versuchen, die Schaltfläche (alias ” // do stuff “) im obigen Code in eine vorhandene Designdatei einzufügen. Dazu musst du den Button in deinem Theme aufspüren oder mit BuddyPress über eine PHP-function suchen.