Hallo,
im Rahmen des folgenden sehr ausführlichen Beitrags zu dem Thema findest du vermutlich Ansätze, u. a. auch in Bezug auf das von dir eingesetzte Plugin User-Role Editor.
Vielleicht findest du aber auch Ansätze im Support-Forum des Plugins bzw. stellst die Frage im Support-Forum des Plugins. Ich verwende das Plugin nicht.
Viele Grüße
Hans-Gerd
Vielen Dank @hage für deine Antwort und die Links
Aber leider behandeln die Artikel nicht das Thema, wie man die Kommentarfunktion nur einer definierten Rolle erlaubt – egal mit welchem Plugin.
Vielleicht finde ich auch eine Möglichkeit, die Standard-Rolle „Abonnent“ kostenpflichtig zu machen, und an das Produkt Mitgliedschaft zu koppeln.
Oder hat vielleicht jemand noch eine Idee, wie man das Problem lösen könnte?
Noch ein Nachtrag: moderate-comments
erlaubt, dass User Kommentare moderieren können, verhindert aber nicht die Erstellung von Kommentaren.
Oder hat vielleicht jemand noch eine Idee, wie man das Problem lösen könnte?
vermutlich die Entwickler des Plugins 😉. Daher einfach mal da nachfragen.
Ich denke, dass klappt auch über ein Snippet ohne Verwendung des Plugins.
In dem folgenden Beitrag werden Snippets genannt, auf deren Grundlage vermutlich eine solche Funktionalität implementiert werden kann.
Hier müsstest du dann z. B. eine neue Rolle „Zahl-Mitglied“ erstellen, die kommentieren kann, während du der Rolle „subscriber“ das Recht entziehst.
Oh wow, vielen Dank. Da arbeite ich mich mal ein.
Eine Anfrage an den Support von User Role habe ich auch gestellt, vielleicht haben die ja auch noch eine simplere Lösung.
Vielen Dank für deine Recherche einstweilen!!
Über eine kurze Rückmeldung, ob und wie du das Problem lösen konntest, freuen wir uns.
Hallo,
vom Support des User Role Plugins hab ich folgende Antwort bekommen.
Ausprobiert hab ich es noch nicht
+++
Hello,
It may depend from a theme you use. Example below works with 2021 theme:
add_filter( 'comments_open', 'comments_on_condition', 10, 2);
function comments_on_condition($open, $post_id ) {
if ( !is_user_logged_in() ) {
// no role - no comments
return false;
}
// replace roles below with your own, which can comment
$roles_with_comments = array(
'administrator',
'role2'
);
$user = wp_get_current_user();
if ( empty( $user->roles ) ) {
// no role - no comments
return false;
}
foreach ($roles_with_comments as $role) {
if ( in_array( $role, $user->roles) ) {
// role can comment, return the global $open
return $open;
}
}
// no comments for all others
return false;
Hallo,
das ist ja schön.
Dann könntest du das Snippet ja mal über das Plugin Code Snippets testen.
Viele Grüße
Hans-Gerd