Also ich will wenn der benutzer die Rolle administrator hat etwas anderes anzeigen, als wenn er subscriber ist. Dies nur nochmal zum Verständnis und zwar im bezug auf den benutzer, auf den profil ich gerade bin. NICHT VON DEM EINGELOGGTEN USER !
Beiträge von Nina Rodenstein
-
-
Mhhh und wie frage ich dann ab...wenn benutzer =administrator...dann ?
-
ich möchte gerne, dass wenn die rolle eines benutzers (wenn er als zum Beispiel zum Admin ernannt wird) geändert wird, der Benutzer eine E-mail erhält.
Das habe ich wie folgt gelöst:
Codefunction user_role_update( $user_id, $new_role ) { $site_url = get_bloginfo('wpurl'); $user_info = get_userdata( $user_id ); $to = $user_info->user_email; $subject = "Message"; $message = "Hallo " .$user_info->display_name . " Message"; wp_mail($to, $subject, $message); } add_action( 'set_user_role', 'user_role_update', 10, 2);Das ganze in der functions.php des scripts.
Nunmehr möchte ich aber, dass dies Mails abhängig von der Rolle sind, in die geändert wird.
Also dass zum Beispiel eine E-Mail verschickt wird wenn jemand zum Admin ernannt wird mit einem anderen Text als wenn er Autor wird !
Weiss jemand wie ich mein Scripüt dazu erweitern muss ?
-
NEIN ! Das ist in der style.css definiert. Diese findest Du entweder per FTP im Theme Ordner oder um wp-admin Bereich unter "Design/Editor" ziemlich unten in der Liste.
-
Ja SirEctro das denke ich auch...ABER ich weiss nicht wie man dann die if-Abfrage damit schreibt
-
Hab mal bisschen rumgebastelt und es so versucht...Mit Eintrag des folgenden in die functions.php des themes
/* Plugin Name: First name plus last name as default display name. */
add_action( 'user_register', 'wpse_67444_first_last_display_name' );function wpse_67444_first_last_display_name( $user_id )
{
$data = get_userdata( $userid );
// check if these data are available in your real code!
wp_update_user(
array (
'ID' => $user_id,
'display_name' => "$data->first_name $data->last_name"
)
);
}Leider bleibt dann der Display Name ganz leer. Weiss jemand was da noch falsch ist ?
-
Ich glaube ehrlich gesagt der Fehler liegt in "[COLOR=#000000][COLOR=#0000BB]current_user_can"[/COLOR][/COLOR] denn ich will ja nicht den aktuell eingeloggten benutzer sondern den, dessen Autorenprofil ich gerade ansehe
-
ich benutze anliegendes Plugin und wenn ich im Admin Bereich benutzer hinzufüge funktioniert es optimal. Es wird automatsich aus Vor- und Nachname der Display Name generiert.
Problem ist nur, dass ich eine eigene Front End Register Seite gebaut habe und wenn ich Benutzer über diese registriere, funktioniert es nicht. kann es sein dass das Plugin sich irgendwo "einhängt" was von aussen nicht gegeben ist und wenn ja hat jemand eine Idee wie man das modifizieren kann ?
Hier mal das Plugin:
PHP
Alles anzeigen<?php /* Plugin Name: Force First and Last Name as Display Name Plugin URI: http://www.strangerstudios.com/wordpress-plugins/force-first-last/ Description: Forces all users' display name to be "First Last". Version: .2 Author: Stranger Studios Author URI: http://www.strangerstudios.com */ /* Copyright 2011 Stranger Studios (email : jason@strangerstudios.com) GPLv2 Full license details in license.txt */ /* Hide Display Name field on profile page. */ function ffl_show_user_profile($user) { ?> <script> jQuery(document).ready(function() { jQuery('#display_name').parent().parent().hide(); }); </script> <?php } add_action( 'show_user_profile', 'ffl_show_user_profile' ); add_action( 'edit_user_profile', 'ffl_show_user_profile' ); /* Fix first last on profile saves. */ function ffl_save_extra_profile_fields( $user_id ) { if ( !current_user_can( 'edit_user', $user_id ) ) return false; //set the display name $display_name = trim($_POST['first_name'] . " " . $_POST['last_name']); if(!$display_name) $display_name = $_POST['user_login']; $_POST['display_name'] = $display_name; $args = array( 'ID' => $user_id, 'display_name' => $display_name ); wp_update_user( $args ) ; } add_action( 'personal_options_update', 'ffl_save_extra_profile_fields' ); add_action( 'edit_user_profile_update', 'ffl_save_extra_profile_fields' ); /* Fix first last on register. */ function ffl_fix_user_display_name($user_id) { //set the display name $info = get_userdata( $user_id ); $display_name = trim($info->first_name . ' ' . $info->last_name); if(!$display_name) $display_name = $info->user_login; $args = array( 'ID' => $user_id, 'display_name' => $display_name ); wp_update_user( $args ) ; } add_action("user_register", "ffl_fix_user_display_name"); /* Settings Page */ function ffl_settings_menu_item() { add_options_page('Force First Last', 'Force First Last', 'manage_options', 'ffl_settings', 'ffl_settings_page'); } add_action('admin_menu', 'ffl_settings_menu_item', 20); //affiliates page (add new) function ffl_settings_page() { if(!empty($_REQUEST['updateusers']) && current_user_can("manage_options")) { global $wpdb; $user_ids = $wpdb->get_col("SELECT ID FROM $wpdb->users"); foreach($user_ids as $user_id) { ffl_fix_user_display_name($user_id); set_time_limit(30); } ?> <p><?php echo count($user_ids);?> users(s) fixed.</p> <?php } ?> <p>The <em>Force First and Last Name as Display Name</em> plugin will only fix display names at registration or when a profile is updated.</p> <p>If you just activated this plugin, please click on the button below to update the display names of your existing users.</p> <p><a href="?page=ffl_settings&updateusers=1" class="button-primary">Update Existing Users</a></p> <p><strong>WARNING:</strong> This may take a while! If you have a bunch of users or a slow server, <strong>this may hang up or cause other issues with your site</strong>. Use at your own risk.</p> <?php } -
Danke zunächst, aber das was Du geschrieben hast SirEctor bezieht sich doch auf den aktuell eingeloggten benutzer.
ich möchte aber, dass es sich auf den benutzer bezieht, dessen Profil ich gerade ankucke
-
Hallo,
wie schreibe ich folgendes:
Bei Aufruf der Author-Page: Wenn der Author der Page die ich aufgerufen habe die Rolle "Administrator" hat, dann schreibe Administrator...Wennn die Rolle Subscriber dann schreibe subscriber....
Weiss das Jemand ?
-
Ich würde gerne bei meiner Author Profil seite Unterseiten erstellen also von der author-seite/info (zum beispiel) um dort dann weitere Datenbankabfragen über den User anzuzeigen.
Hat jemand ne Ahnung wie man solche Seiten generieren kann ?
-
Ich benötige zwei Modifikationen an o.g. Plugin:
1. Pfad zu den Bildern ändern (sollen in ein eigenes Verzeichnis)
2. Das Upload Formular soll im Frontend aufrufbar sein und zwar unabhängig von der Profilbearbeiten. Also quasi ganz stand alone.hat jemand ne Idee wie man das umsetzen kann bzw. hat jemand Lust mir das Plugin so zu modifizieren (gegen Bezahlung) ?