zurück zur Startseite
  


Zurück XHTMLforum > Sonstiges > Offtopic
Seite neu laden WordPress Rollen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 05.04.2013, 19:55
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard WordPress Rollen

Hi ich habe eine Benutzer-Gruppe erstellt die auch neue Benutzer erstellen darf.
Leider weis ich nicht wie ich dieser Verbieten kann neue Administratoren und zu erstellen. Im Prinzip soll eigentlich nur Abonnenten und die selbst erstellte Gruppe
Auswählbar sein.
MfG gabischatz
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 05.04.2013, 20:15
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Nur ein Administrator kann einen Administrator erstellen.
Von oben nach unten werden Rechte vergeben, niemals von unten nach oben.
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 05.04.2013, 20:36
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard

Ja das weis ich ja. Ich habe mit User Role Editor die neue Gruppe erstellt und habe bestimmte Rechte erteilt,
nur ist es mir nicht möglich weiter zu differenzieren, wie gesagt die Gruppe soll auch entscheiden ob der neue Benutzer zur gleichen Gruppe gehört oder eben zur Standart.
Mit Zitat antworten
  #4 (permalink)  
Alt 05.04.2013, 20:42
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Hier findest du alles dazu:

Roles and Capabilities « WordPress Codex



NB. Es heisst Standard.
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
  #5 (permalink)  
Alt 05.04.2013, 20:45
Benutzerbild von Thielo
Web Ninja
XHTMLforum-Kenner
 
Registriert seit: 17.09.2009
Ort: Stuttgart oder so
Beiträge: 3.372
Thielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein Lichtblick
Standard

Wieso postest du eigentlich mittlerweile deine Probleme im Offtopic-Bereich?
__________________
Hier ein immer gültiges Statement: Überarbeite deine Code, lerne die Grundlagen, widersprich mir nicht, wehre dich nicht, ich habe Recht, wir sind Lolgion, wir sind viele.. potato...
All meine Angaben sind ohne Gewähr, es könnte also trotz meiner Unfehlbarkeit dazu kommen dass ich falsch liege

www.richard-thiel.de | Müssen Websiten überall gleich ausschauen?
Mit Zitat antworten
  #6 (permalink)  
Alt 05.04.2013, 21:12
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard

Zitat:
Zitat von Thielo Beitrag anzeigen
Wieso postest du eigentlich mittlerweile deine Probleme im Offtopic-Bereich?
Ja weil es nicht so richtig in eine Kategorie hinein passt.
Ich bin mir halt nicht sicher ob es zu Serveradministration und serverseitige Scripte gehört oder eben nicht. In Offtopic kann man doch alles rein tun was nicht in eine bestimmte Kategorie passt , oder?

Zitat:
Zitat von explanator Beitrag anzeigen
Hier findest du alles dazu:

Roles and Capabilities « WordPress Codex
Kenne ich auch schon, löst aber auch nicht mein Problem!
Zitat:
NB. Es heisst Standard
NB. heisst => heißt immer noch mit ß
Ok lassen wir dass

MfG gabischatz

Geändert von gabischatz (05.04.2013 um 21:23 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 05.04.2013, 21:33
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von gabischatz Beitrag anzeigen
NB. heisst => heißt immer noch mit ß
Das weiss ich doch, aber ich habe keine deutsche Tastatur, und da die Schweizer auch kein `?= +{()@>? ah da ist es ja, also ß haben, dachte ich mir so, spare ich mir das halt mal.
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
  #8 (permalink)  
Alt 05.04.2013, 23:49
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard Benutzer-Rollen deaktivieren

So jetzt habe ich einen Anfang.
Die beiden Gruppen werden jetzt korrekt angezeigt.
Wenn der Admin aktiv ist, sieht er alle.
PHP-Code:
    <table class="form-table">
        <tr>
            <th><label for="role">Rolle</label></th>
            <td>
                 <select name="roles" id="roles">
                <?php if (current_user_can'administrator' ) ) {?>
                <option value="administrator"
                <?php if(user_can$user_id,'administrator'))
                        print 
' selected="selected"';?>><?= _e('Administator');?></option>
                <option value="editor"
                <?php if(user_can$user_id'editor'))
                        print 
' selected="selected"';?>><?= _e('Editor');?></option>
                <option value="author"
                <?php if(user_can$user_id'author'))
                        print 
' selected="selected"';?>><?= _e('Author');?></option>
                <option value="contributor"
                <?php if(user_can$user_id'contributor') )
                        print 
' selected="selected"';?>><?= _e('Contributor');?></option>
                <?php ?>
                <option value="subscriber"
                <?php if(user_can$user_id'subscriber'))
                        print 
' selected="selected"';?>><?= _e('Subscriber');?></option>
                <option value="neue_Gruppe"<?php if(user_can$user_id'neue_Gruppe'))
                        print 
' selected="selected"';?>><?= _e('Vorstand');?></option>
                </select>
            </td>
        </tr>
    </table>
Fehlt nur noch das deaktivieren des Original.
Da habe ich noch keinen Plan.

Nachtrag: hier ist die Lösung fürs bearbeiten eines User.
PHP-Code:
<table class="form_table_new">
    <tr>
        <th><label for="role">Rolle</label></th>
        <td>
        <?php global $wp_roles;
            
$user = new WP_User$user_id );
            if ( !empty( 
$user->roles ) && is_array$user->roles ) ) {
                foreach ( 
$user->roles as $role )
                  
$role;
            }
            
//$default_role = get_option( 'default_role' );
            
if (! current_user_can'administrator' )
                  and 
user_can$user_id,'administrator')) {?>
                   Sie haben keine Berechtigung den Administrator zu &auml;ndern!
                   <input type="hidden" id="role" value="administrator" />
            <?php }
                  else{   
?>
             <select name="role" id="roles">
                <?php if ( $role == 'administrator' )  {?>

                <option value="administrator"
                    <?php if( $role == 'administrator' )
                        print 
' selected="selected"';?>>
                        <?= _e('Administator');?>
                </option>

                <option value="editor"
                    <?php if( $role == 'editor' )
                        print 
' selected="selected"';?>>
                        <?= _e('Editor');?>
                </option>

                <option value="author"
                    <?php if( $role == 'author' )
                        print 
' selected="selected"';?>>
                        <?= _e('Author');?>
                </option>

                <option value="contributor"
                    <?php if( $role == 'contributor' )
                        print 
' selected="selected"';?>>
                        <?= _e('Contributor');?>
                </option>
                <?php ?>

                <option value="neue_Gruppe"
                    <?php if( $role ==  'neue_Gruppe' )
                        print 
' selected="selected"';?>>
                        <?= _e('neue_Gruppe');?>
                </option>

                <option value="subscriber"
                    <?php if( $role == 'subscriber' )
                        print 
' selected="selected"';?>>
                        <?= _e('Subscriber');?>
                </option>

            </select>
            <?php ?>
        </td>
    </tr>
</table>

<script type="text/javascript">
      /* <![CDATA[ */
 jQuery(document).ready(function(){
            $('#role').remove();
            $('#roles').attr('id','role');
    });
        /* ]]> */
 </script>
Jetzt fehlt nur noch beim erstellen eines User.
Da das Bearbeiten und das neu Erstellen auf zwei unterschiedlichen Seiten sind greift im Moment das Script nicht. (user-edit.php, user-new.php)
Für das Editieren war ja eine Einbindung zu finden.
PHP-Code:
    add_action('show_user_profile''add_additional_user_fields');
    
add_action('edit_user_profile''add_additional_user_fields');
    
add_action('edit_user_profile_update''save_additional_user_fields');
    
add_action('personal_options_update''save_additional_user_fields'); 
Aber für letztere ( user-new.php) habe ich noch nichts.

Nachtrag:Hier noch eine ander Lösung zum Editieren
PHP-Code:
<?php global $wp_roles;
    
$user = new WP_User$user_id );
    if ( !empty( 
$user->roles ) && is_array$user->roles ) ) {
        foreach ( 
$user->roles as $role )
          
$role;
    }

if ( 
$role == 'administrator' and current_user_can'neue_Gruppe' )) {
//Hat der aktuelle Benutzer eine bestimmte Rolle?
//Und ist der aktuelle Benutzer Administrator? 
?>
<script type="text/javascript">
      /* <![CDATA[ */
 jQuery(document).ready(function(){
     if($('select').attr('id') == 'role') {
          $( "#role option[value='administrator']" )
          .attr( "disabled","disabled" );
          $( "#role option[value='editor']" )
          .attr( "disabled","disabled" );
          $( "#role option[value='author']" )
          .attr( "disabled","disabled" );
          $( "#role option[value='contributor']" )
          .attr( "disabled","disabled" );
          $( "#role option[value='neue_Gruppe']" )
          .attr( "disabled","disabled" );
          $( "#role option[value='subscriber']" )
          .attr( "disabled","disabled" );
   }
// das geht bestimmt noch kürzer so z.B.: $('#role').remove(); dann wird aber nichts mehr angezeigt.

 });
        /* ]]> */
 </script>
<?php
    
}
    else if ( 
current_user_can'neue_Gruppe' )) {
//Hat der aktuelle Benutzer eine bestimmte Rolle? ?>
<script type="text/javascript">
      /* <![CDATA[ */
 jQuery(document).ready(function(){
     if($('select').attr('id') == 'role') {
          $( "#role option[value='administrator']" )
          .attr( "disabled","disabled" );
          $( "#role option[value='editor']" )
          .attr( "disabled","disabled" );
          $( "#role option[value='author']" )
          .attr( "disabled","disabled" );
          $( "#role option[value='contributor']" )
          .attr( "disabled","disabled" );
      }

 });
        /* ]]> */
 </script>
<?php
    
?>
Lösung: fürs erstellen einen Users. Jetzt werden die Restlichen Gruppen deaktiviert.
PHP-Code:
<?php
/**
 * Name:   new_user_profile
 *
 * Zweck:  Deaktivierung der Benutzer-Gruppen (Rollen) in WordPress bis auf die Gruppe der Subscriber.
 * @param   void
 * @return  void
**/
function new_user_profile() {

  if( 
basename$_SERVER['PHP_SELF'] ) == 'user-new.php' ) {
?>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
   <script type="text/javascript">
      /* <![CDATA[ */
 jQuery(document).ready(function(){
     if($('select').attr('id') == 'role') {
          $( "#role option[value='administrator']" )
          .attr( "disabled","disabled" );
          $( "#role option[value='editor']" )
          .attr( "disabled","disabled" );
          $( "#role option[value='author']" )
          .attr( "disabled","disabled" );
          $( "#role option[value='contributor']" )
          .attr( "disabled","disabled" );
   }

 });
        /* ]]> */
 </script>  <?php
  
}
}
add_action('init''new_user_profile'1);

?>
Mfg. gabischatz

Geändert von gabischatz (06.04.2013 um 14:26 Uhr) Grund: Lösung des Problems
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sinnvolle Aktionen zur Sicherheit von Wordpress?? hubspe Serveradministration und serverseitige Scripte 26 28.11.2012 19:25
wordpress PHP frage? sepp88 Serveradministration und serverseitige Scripte 2 18.08.2009 21:58
Kennt sich hier jemand sehr gut mit WORDPRESS aus? asdfgqw Serveradministration und serverseitige Scripte 6 09.07.2008 19:34
sortierung/anordnung von wordpress "pages" nytemare Serveradministration und serverseitige Scripte 1 08.07.2007 00:29
Wordpress auf meinem Localhost installieren - unmöglich? überdose Offtopic 7 06.03.2006 18:52


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:44 Uhr.