Spass mit WordPress-roles

Seit WP 3.0 oder so ist es ja relativ einfach Menüs und die Sortierung dort zu bearbeiten. Ich begrüsse das ausserordentlich.

was ich nicht begrüsse, ist, dass dies nur dem Admin möglich ist, m.E. sollte ein Redakteur das auch können – bzw. egtl. nur er.

Wie es WordPress so will, kann man ja über die functions.php einiges drehen, bspw. sollte man via:

// get the the role object
$role_object = get_role( ‚editor‘ );

// add $cap capability to this role object
$role_object->add_cap( ‚manage_nav_menus‘ );

erwarten dürfen, dem Redakteur genau diese Funktion zur Verfügung zu stellen.
Interessanterweise tut es das tatsächlich, allerdings zusätzlich gleich noch Themes, Widgets und den ganzen anderen Schröffel im Menüpunkt „Designs“.
Wer denkt sich einen solch abstrusen Müll aus?

Jemand ne Idee hier, wie ich das OHNE Plugin nur mittels der functions.php lösen könnte?
Jemand ’ne Idee, was dieses bescheuerte Konzept soll?

Edit: die Anführungszeichen im Code verwurschtelt mir das Intypo-plugin hier, wer damit rumspielen möchte sollte den Code nicht so übernehmen…

5 Kommentare to “Spass mit WordPress-roles”

  1.  Micha schrieb am 12. Mai 2011 um 22:36 zitieren

    Woher hast du ‚manage_nav_menus‘? Ich finde das nicht im Code. In wp-admin/nav-menus.php Zeile 22

    // Permissions Check
    if ( ! current_user_can('edit_theme_options') )
    wp_die( __( 'Cheatin’ uh?' ) );

    Also wer edit_theme_option kann, kann auch die Menus.

  2.  Mike® schrieb am 13. Mai 2011 um 13:09 zitieren

    das hab ich indirekt hier gefunden:
    http://wordpress.org/extend/id.....s-to-menus
    zumindest hab ich in meinem jugendlichen Leichtsinn einfach mal getestet edit-theme-options zu ersetzen wie oben im Code.
    Interessanterweise läuft das lokal in xampp so wie beschrieben, bei einem Blog, wo ich das gerade getestet hab läuft’s so nicht.

    Interessant, dass die Diskussion darüber nun auch schon 10 Monate alt ist…

  3.  Micha schrieb am 13. Mai 2011 um 13:21 zitieren

    Ich habe den ganzen WP Code durchsuchen lassen, es kam nicht vor. Wie Justion Tadlock in der Diskussion sagt, es sollte verfeinert werden. Aber offensichtlich scheren sich die Entwickler nicht darum.
    Und an dem edit_theme_options kommst du nicht vorbei im Admin.

  4.  Frank schrieb am 13. Mai 2011 um 14:15 zitieren

    Du kannst aktuell wirklich nur die Rechte edit_theme_options an deine Wunschrolle vergeben und dann abhängig von der Rolle das Menu via unset ändern; oder Plugin Adminimize zum Einschränken nutzen, spart das unset.

  5.  Mike® schrieb am 13. Mai 2011 um 20:16 zitieren

    Micha, ich schau mir das bei Gelegenheit nochmal an, möglicherweise hab ich da was übersehen.

    Frank, der Weg über Adminimize war meine erste Idee 😉 , und das läuft auch genau wie gedacht.
    Ich hätte sowas nur gern bei solchen Kleinigkeiten ohne Plugin realisiert, bspw. um das in neuen Blogs standardmässig zu verwenden, statt immer zu schauen, von welchen Plugins meine Themes abhängig sind.
    Das mit dem unset schau ich mir dann auch mal noch genau an – nächste Woche 🙂

    Schönes WE zsamma!

Trackback-Adresse | RSS-Feed für die Kommentare abonnieren

Hinterlasse einen Kommentar:


(Wir behalten uns vor Kommentare von dummen Menschen entweder zu löschen oder exemplarisch für die Nachwelt zu konservieren. Dumme Kommentare mit Werbelinks müssen leider auf zweiteres Privileg verzichten.)

XHTML: Du kannst diese Tags verwenden:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>