it-swarm.com.de

Ordnen Sie Inhalte nicht Administratoren zu

Aus Sicherheitsgründen möchte ich sicherstellen, dass Admin-Benutzern meiner Websites keine Inhalte zugewiesen werden.

Im Wesentlichen möchte ich die Möglichkeit haben, den Autor von Inhalten automatisch zu ändern (einschließlich Uploads).

Wenn ich als Administrator einen Benutzer lösche, fragt mich WordPress, ob ich dessen gesamten Inhalt löschen oder ihn einem anderen Benutzer zuweisen möchte.

Nun, ich möchte den Autor von Inhalten automatisch von einem bestimmten Benutzer (einem Administrator) in einen anderen Benutzer (einen Autor/Herausgeber) ändern.

Wie kann ich dies erreichen (ich habe im Allgemeinen Root-Zugriff auf die Server, auf denen die Websites gehostet werden)?

1
adam-asdf

Hängen Sie einen Beitragsstatuswechsel ein, damit bei jeder Veröffentlichung oder Aktualisierung eines Beitrags überprüft wird, ob der Autor ein Administrator ist. Wenn ja, aktualisieren Sie den Autor auf einen Nicht-Administrator. Ermitteln Sie zunächst die ID des Nicht-Administrators, den Sie als Autor festlegen möchten.

// change author ID to suit your needs
$newAuthor = 3;
// hook our function to fire when any post type's status changes
add_action('transition_post_status', 'wpse_change_author', 10, 3);
function wpse_change_author($new_status, $old_status, $post) {
    // only adjust published posts - which are either new or newly updated
    if($new_status == 'publish') {
        // check whether author is admin
        if(user_can($post->post_author, 'administrator')) {
            // update the post with new author ID
            wp_update_post(array('ID' => $post->ID, 'post_author' => $newAuthor));
        }
    }
}
2
WebElaine