wake-up-neo.net

Autorenbeiträge nur mit Genehmigung des Herausgebers veröffentlichen?

Ich führe ein Blog mit mehreren Autoren und suche nach einer Lösung, die kein Plugin enthält.

Die Standardbenutzerrolle des Autors in Wordpress kann Beiträge ohne Genehmigung veröffentlichen - siehe Rollenfunktionen Wordpress Codex . Die Verwendung der Contributor-Rolle zum Erreichen meines Ziels ist nicht möglich, da die Contributor-Rolle keine Bilder hochladen kann ...

Ist es möglich, alle Autorenbeiträge auf den Status "Entwurf" zu setzen, sodass nur ein Redakteur die Beiträge veröffentlichen kann?

6
NewUser

Füge den folgenden Code zu deiner functions.php hinzu:

function allow_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor->add_cap('upload_files');
}
if ( current_user_can('contributor') && !current_user_can('upload_files') ) {
    add_action('admin_init', 'allow_contributor_uploads');
}

Dadurch wird die Funktion upload_files zur Rolle des Mitwirkenden hinzugefügt. Es muss nur einmal ausgeführt werden. Melden Sie sich einfach als Benutzer mit der Mitwirkenden-Rolle bei admin an. Nachdem die Funktion erfolgreich hinzugefügt wurde, können Sie den Code bei Bedarf entfernen (oder auskommentieren).

Verwenden Sie Folgendes, um die upload_files-Funktion zu entfernen und die Contributor-Rolle auf den Standard zurückzusetzen:

function deny_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor->remove_cap('upload_files');
}
if ( current_user_can('contributor') && current_user_can('upload_files') ) {
    add_action('admin_init', 'deny_contributor_uploads');
}

Plugin-Option

Nach den Vorschlägen von Kaiser ist hier ein Plugin, das eine NEUE Benutzerrolle mit den Funktionen für Mitwirkende (Bearbeiten, Löschen und Lesen von Beiträgen) und die Funktion zum Hochladen von Dateien erstellt.

<?php
/**
 * Plugin Name: Add Contributor Plus Role
 * Description: Activate plugin to create a user role with Contributor capabilities, PLUS upload_files.
 * Plugin URI: http://wordpress.stackexchange.com/questions/165951/publish-author-posts-only-with-editor-approval/165957#165957
 * Version: 1.0
 */

add_action( 'wp_loaded', 'add_new_contributor_plus_role');
function add_new_contributor_plus_role() {
    add_role(
        'contributor_plus',
        __( 'Contributor Plus' ),
        array(
            'edit_posts'   => true,
            'delete_posts' => true,
            'read'         => true,
            'upload_files' => true
        )
    );
}
?> 

Fügen Sie den obigen Code zu /wp-content/plugins/add-contributor-plus-role/add-contributor-plus-role.php, OR hinzu, erstellen Sie den Ordner /add-contributor-plus-role/add-contributor-plus-role.php und legen Sie ihn lokal ab, fügen Sie ihn zu einer Zip-Datei hinzu und laden Sie ihn mithilfe von Plugins hoch> Neu hinzufügen> Uploads. Sie können den Namen der Benutzerrolle beliebig ändern.

Aktiviere das Plugin und die Rolle wird hinzugefügt. Sie können das Plugin deaktivieren und löschen. Dies hat keine Auswirkungen auf die neu erstellte Benutzerrolle.

Wenn Sie es sich anders überlegen und die Benutzerrolle "Contributor Plus" entfernen möchten, verwenden Sie Folgendes anstelle der Zeilen add_role (bis zum; Semikolon) und aktivieren Sie das Plugin erneut:

remove_role( 'contributor_plus' );
13
Gabriel