To prosty hack, który napisałem w podobnej sytuacji. Wyświetli się wszystko Subscribers
w Author
menu rozwijanym / dodaj post / stronę, z którego możesz wybrać dowolną. Myślę, że to powinno dla ciebie zadziałać ...
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;
}
Sztuczka tego polega na tym, że po przesłaniu tej strony WP odczytuje tylko $ user-> ID z tego menu rozwijanego w tablicy $ _POST i przypisuje go jako autora postów. I tego właśnie chcesz!
global $post
zmienną ...Począwszy od WordPress 4.4.0 możesz teraz używać
wp_dropdown_users_args
filtra. Kod jest teraz znacznie prostszy:źródło
Jest to podobne podejście do @brasofilo. Ale działa tylko na ekranie edycji postu, a nie szybkiej edycji i obejmuje wszystkich użytkowników (nie tylko autorów i subskrybentów).
To naśladuje domyślny metaboks autora, ale wywołanie
wp_dropdown_users
pomijawho=>'editors'
argument. Domyślnie jest to jedyna inna wartość, czyli użytkownicy połączeń.źródło
Lepszy sposób na zrobienie tego ...
źródło
To jest kod połączony przez @Innate w komentarzu (rozwiązaniu) do jego własnego pytania, właśnie trochę dostosowałem i przetestowałem w WP 3.3.2 (funkcja wpse39084). Pokaże subskrybentów w postach Edytuj i Szybka edycja.
Dodano także kilka akcji (funkcje wpse50827), aby przenieść meta pole Autor w polu meta Publikuj akcje, aby ułatwić zarządzanie.
Wszystko jest związane z postami, nie ma stron ani CPT ...
źródło
Zrobiłem tutaj coś podobnego do przyjętej odpowiedzi, ale chciałem tylko pokazać administratorom, aw moim przypadku niestandardową rolę „producentów” razem.
źródło
Może to być rozwiązanie pozwalające uniknąć błędu podczas szybkiej edycji, w którym „cpt_slug” należy zastąpić niestandardowym typem postu
źródło