Dies ist ein einfacher Hack, den ich in einer ähnlichen Situation geschrieben habe. Es werden alle Einträge Subscribers
in der Author
Dropdown-Liste zum Bearbeiten / Hinzufügen von Beiträgen / Seiten angezeigt, von denen Sie die gewünschten auswählen können. Ich denke, es sollte für Sie arbeiten ...
add_filter('wp_dropdown_users', 'MySwitchUser');
function MySwitchUser($output)
{
//global $post is available here, hence you can check for the post type here
$users = get_users('role=subscriber');
$output = "<select id=\"post_author_override\" name=\"post_author_override\" class=\"\">";
//Leave the admin in the list
$output .= "<option value=\"1\">Admin</option>";
foreach($users as $user)
{
$sel = ($post->post_author == $user->ID)?"selected='selected'":'';
$output .= '<option value="'.$user->ID.'"'.$sel.'>'.$user->user_login.'</option>';
}
$output .= "</select>";
return $output;
}
Der Trick dahinter ist, dass WP nach dem Senden dieser Seite nur die $ user-> ID aus dieser Dropdown-Liste im $ _POST-Array liest und sie als Autor des Posts zuweist. Und genau das wollen Sie!
global $post
Variable zu drucken ...Ab WordPress 4.4.0 können Sie den
wp_dropdown_users_args
Filter jetzt verwenden . Der Code ist jetzt viel einfacher:quelle
Dies ist ein ähnlicher Ansatz wie bei @brasofilo. Funktioniert jedoch nur im Bearbeitungsbildschirm und nicht in der Schnellbearbeitung und umfasst alle Benutzer (nicht nur Autoren und Abonnenten).
Dies ahmt die Metabox des Standardautors nach, aber der Aufruf
wp_dropdown_users
lässt daswho=>'editors'
Argument aus. Der Standardwert ist der einzige andere Wert, der Anrufbenutzer ist.quelle
Ein besserer Weg, es zu tun ...
quelle
Dies ist ein Code, der von @Innate in einem Kommentar (Lösung) zu seiner eigenen Frage verlinkt wurde. Ich habe ihn gerade ein wenig angepasst und in WP 3.3.2 (Funktion wpse39084) getestet. Die Abonnenten werden in den Beiträgen Bearbeiten und Schnellbearbeitung angezeigt.
Außerdem wurden einige Aktionen hinzugefügt (Funktionen wpse50827), um das Meta-Feld "Autor" in das Meta-Feld "Aktionen veröffentlichen" zu verschieben und die Verwaltung zu vereinfachen.
Alles ist postbezogen, keine Seiten oder CPTs ...
quelle
Ich habe hier etwas Ähnliches wie die akzeptierte Antwort gemacht, wollte aber nur Administratoren und in meinem Fall eine benutzerdefinierte "Produzenten" -Rolle zeigen.
quelle
Dies könnte eine Lösung sein, um den Fehler bei der Schnellbearbeitung zu vermeiden, bei der "cpt_slug" durch Ihren benutzerdefinierten Beitragstyp "slug" ersetzt werden sollte
quelle