Frage

Ich entwickle ein benutzerdefiniertes Plugin in PHP, damit vorhandene Plugins nicht verwendet werden können. Was ich erreichen möchte, ist, dass ich für einige Benutzer verschiedene URL in einem Beitrag anzeigen möchte. Für Benutzer, die in WordPress registriert sind, mich kontaktiert haben und "genehmigt" sind. Ich möchte dieses zusätzliche Benutzerprofilfeld einrichten, damit ich dieses Feld in einem Zustand verwenden kann. Gäste und Benutzer ohne dieses Feld oder ohne den richtigen Wert in diesem Bereich erhalten URL1, aber die anderen URL2.

Bedarf

  • Nur Benutzer mit Administratorrolle
  • Kann das Feld zusätzliches Benutzerprofil erstellen/bearbeiten
  • Für alle anderen Benutzer

Ich weiß, wie ich WordPress ein zusätzliches Benutzerprofilfeld hinzufügen kann (siehe die unten stehenden Links), aber ich weiß nicht, wie ich das Feld dieses Feld in einer bestimmten Rolle auf Benutzer einschränken kann und wie Benutzer mit Administratorrolle diese erstellen/bearbeiten kann Alle Nutzer. Es scheint mir, dass ich einen neuen Code unter WordPress Dashboard/Benutzern/neuen Benutzer und/oder Dashboard/Benutzern/Autoren und Benutzern hinzufügen muss.

Ich habe einige Google -Suche durchgeführt und einige Websites zum Hinzufügen eines zusätzlichen Benutzerprofilfelds gefunden

Es scheint mir, dass Hinzufügen und Verwenden benutzerdefinierter Benutzerprofilfelder ist fast das, was ich tun möchte, aber ich weiß immer noch nicht, wie man mit dem "einzigen Administrator" umgeht.

War es hilfreich?

Lösung

Wie wäre es damit:

$ID="2";
$user = new WP_User($ID);
if ($user->wp_capabilities['administrator']==1) {
    //code here
}

Sehen Sie diesen Link zu Benutzerfunktionen für WordPress

Also mit dem oben genannten und diesem Link, den Sie gegeben haben, vielleicht so etwas:

function my_show_extra_profile_fields( $user ) {
    if ($user->wp_capabilities['administrator']!=1) {
        return false;
    } ?>
    <h3>Extra profile information</h3>

    <table class="form-table">

        <tr>
            <th><label for="twitter">Twitter</label></th>

            <td>
                <input type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( 'twitter', $user->ID ) ); ?>" class="regular-text" /><br />
                <span class="description">Please enter your Twitter username.</span>
            </td>
        </tr>

    </table>
<?php }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top