Ich hab deine Variante 100prozentig übernommen aber es ändert sich nichts. Weiterhin erscheint in der Verwaltung der "Seite löschen" Button.:-|
Seite löschen deaktivieren
-
-
- Gerade eben
- 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)
-
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). -
oh je, javascript ist mein Todfeind! na dann erstmal Gute Nacht. Wenn ich auch nicht zum Ziel gekommen bin, Danke für die Kommunikation! :-)
-
Vielleicht kommst du ja noch zum Ziel wenn ich herausfinde, was (und wo) die Links erzeugt.
-
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&post=$id", 'delete-post_' . $id) . "' class='delete' onclick=\"return deleteSomething( 'page', " . $id . ", '" . sprintf(__("You are about to delete the "%s" page.\\n"OK" to delete, "Cancel" 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. -
Jaaaaaaaaaaaaaahhhhhhhhhhhhhhh!
Suuuuuuuuuuuper, das wars. Echt Klasse.
Hab vielen vielen Dank. :-D:-D:-D
-
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:
-
/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 ;) -
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!