Pregunta

Estoy desarrollando un plugin personalizado en PHP por lo que los conectores existentes no son utilizables. Lo que quiero lograr es que quiero mostrar diferentes URL en un mensaje para algunos usuarios. Para los usuarios que están registrados en wordpress, se puso en contacto conmigo y 'aprobado'. Quiero configurar este campo extra perfil de usuario para que pueda utilizar este campo en una condición. Para que los huéspedes y los usuarios sin este campo o sin el valor justo en este campo tendrán url1 pero los otros url2.

requisitos

  • Sólo los usuarios con rol de administrador
  • puede crear / editar campo de perfil de usuario adicional
  • para todos los demás usuarios

Sé lo que puedo agregar campo de perfil de usuario adicional en Wordpress (ver los enlaces de abajo), pero no sé cómo restringir la edición de ese campo a los usuarios en un rol determinado y cómo usuario con rol de administrador puede crear / editar este campo para todos los usuarios. Me parece que tengo que añadir nuevo código bajo panel de WordPress / usuarios / nuevo usuario y / o el salpicadero / usuarios / autores y usuarios.

He hecho un poco de búsqueda Google y encontré algunos sitios sobre cómo agregar campo extra perfil de usuario

Me parece que Adición y uso de los campos de perfil de usuario personalizadas es casi lo que yo quiero hacer, pero todavía no sé cómo manejar el "único administrador puede hacer eso.

¿Fue útil?

Solución

¿Qué tal esto:

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

ver este enlace sobre para WordPress

Así que con lo anterior, y que enlazan diste, tal vez algo como esto:

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 }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top