Seite löschen deaktivieren

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich hab deine Variante 100prozentig übernommen aber es ändert sich nichts. Weiterhin erscheint in der Verwaltung der "Seite löschen" Button.:-|


    Dass in der Verwaltung trotzdem Button erscheint, habe ich ja schon selber gesagt. Vermutlich hängt das damit zusammen, dass der Löschen-Button irgendwie anders generiert wird (wenn man JavaScript benutzt).

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • So - das Zeug war in der /wp-admin/admin-functions.php versteckt.

    PHP
    <?php global $user_level; if ($user_level == 10) { ?>
    <?php if ( current_user_can('edit_pages') ) { echo "<a href='" . wp_nonce_url("post.php?action=delete&amp;post=$id", 'delete-post_' . $id) .  "' class='delete' onclick=\"return deleteSomething( 'page', " . $id . ", '" . sprintf(__("You are about to delete the &quot;%s&quot; page.\\n&quot;OK&quot; to delete, &quot;Cancel&quot; to stop."), js_escape(get_the_title()) ) . "' );\">" . __('Delete') . "</a>"; } ?>
    <?php } ?>


    Das kommt dort hin, wo das ganze Geraffel ohne user_level stand, ab Zeile 646.

    "Eine gut gestellte Frage ist schon halb beantwortet."

    Einmal editiert, zuletzt von jottlieb (9. September 2006 um 00:51)

  • Ich will jetzt ja nicht unverschämt werden, aber leider ist da doch noch ein Problem.

    Es ist jetzt nämlich so, dass im "Seite schreiben" Bereich immernoch noch ein Button "Diese Seite löschen" auftaucht. Er befindet sich unterhalb des "Upload" Buttons. Wie krieg ich den denn weg. Wieder nur für den Benutzter nicht für den Administrator. Ich hab schon per suchen und finden die entprechenden Stellen zu lokalisieren versucht aber bin damit nicht weiter gekommen. Also ich weiß nicht wo ich die geniale user_level Abfrage einbauen soll.

    Bite nochmal um Hilfe :oops:

    Einmal editiert, zuletzt von derfrank (9. September 2006 um 17:25)

  • /wp-admin/edit-page-form.php ab Zeile 223.

    Das hier

    PHP
    <?php if ('edit' == $action) :
    	$delete_nonce = wp_create_nonce( 'delete-page_' . $post_ID ); ?>
    	<input name="deletepost" class="button" type="submit" id="deletepost" tabindex="10" value="<?php _e('Delete this page') ?>" <?php echo "onclick=\"if ( confirm('" . sprintf(__("You are about to delete this page \'%s\'\\n  \'Cancel\' to stop, \'OK\' to delete."), js_escape($post->post_title) ) . "') ) { document.forms.post._wpnonce.value = '$delete_nonce'; return true;}return false;\""; ?> />
    <?php endif; ?>

    mit

    PHP
    <?php global $user_level; if ($user_level == 10) { ?> 
    <?php if ('edit' == $action) :
    	$delete_nonce = wp_create_nonce( 'delete-page_' . $post_ID ); ?>
    	<input name="deletepost" class="button" type="submit" id="deletepost" tabindex="10" value="<?php _e('Delete this page') ?>" <?php echo "onclick=\"if ( confirm('" . sprintf(__("You are about to delete this page \'%s\'\\n  \'Cancel\' to stop, \'OK\' to delete."), js_escape($post->post_title) ) . "') ) { document.forms.post._wpnonce.value = '$delete_nonce'; return true;}return false;\""; ?> />
    <?php endif; ?>
    <?php } ?>

    ersetzen sollte funktionieren.
    Bzw. funktioniert 100%ig weil gerade getestet ;)

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • Perfekt !!!!!

    Du hast mein Wochende gerettet !

    Diese Idee mit dem user_level ist genial. Man muß halt nur wissen an welcher Stelle genau sie einzubauen ist. Ohne deine Hilfe hätte ich das nicht geschafft!

    Bleibt zu hoffen, dass in künftigen WordPress Versionen die Benutzerrechtevergabe dementprechend angepasst wird.

    Nochmals vielen vielen Dank und ein schönes Wochenende :-D:-D:-D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!