Ondersteuning » Algemeen WordPress » secties verbergen bij bepaalde gebruikers?

  • Hallo,
    Ik zou graag willen weten hoe je op basis van de gebruiker die inlogt in wordpress (dus de beheer omgeving waar de pagina’s worden bijgewerkt) bepaalde secties(het rijtje aan de linker kant die start met Dashboard en eindigt met Instellingen) te laten zien. Ik wil er een aantal niet beschikbaar maken voor een set gebruikers en alleen de admin mag alles zien.

    Kan dat? En zo ja,….. hoe?

    Dank alvast
    Mark

7 reacties aan het bekijken - 1 tot 7 (van in totaal 7)
  • Menu’s verbergen kan met de remove_menu_page() functie. Bepalen wie wat kan zien is mogelijk met de current_user_can functie.

    Dus om bv. Links en Extra te verbergen voor alle users behalve admin(s):

    function my_remove_menu_pages() {
    	remove_menu_page('link-manager.php');
    	remove_menu_page('tools.php');
    }
    if ( ! current_user_can('manage_options')) {
    add_action( 'admin_menu', 'my_remove_menu_pages' );
    }

    Let op: met deze methode worden menu’s enkel verborgen, ze zijn in principe nog steeds toegankelijk voor gebruikers met de juiste rechten.

    Om zaken echt ontoegankelijk te maken kan je gebruikers ook bepaalde rechten ontnemen met de remove_cap functie.

    Thread starter heandshe

    (@heandshe)

    Dank je wel voor je antwoord! Ik denk dat de eerste voldoet. Dus verbergen, ik neem aan dat ze een menu-item dan alleen nog maar kunnen activeren bij het intypen in de adresbalk.
    Maar stomme vraag: het voorbeeld hierboven, in welke file plaats ik dat? In /wp-admin/includes/plugin.php. ?

    Dank!!
    Mark

    ik neem aan dat ze een menu-item dan alleen nog maar kunnen activeren bij het intypen in de adresbalk.

    Inderdaad.

    De code voeg je toe aan het functions.php bestand van je huidige thema (via admin > Appearance > Editor)

    Thread starter heandshe

    (@heandshe)

    Helemaal gelukt!! Briljant!!
    Nog 1 uitdaging: er zit een menu itme waar de header en footer en nog wat elementen van het thema aangepast kunnen worden: wp-admin/admin.php?page=tfuse
    Hoe schakel ik dat uit?
    Ik heb het geprobeerd met remove_menu_page(‘admin.php?’); en met remove_menu_page(‘admin.php?page=tfuse’);

    Any ideas?

    Dank\Mark

    Aanpassen van theme options vergt over het algemeen admin rechten. Ben je zeker dat dat menu toegankelijk is voor niet-admins?

    Thread starter heandshe

    (@heandshe)

    aha, ik zie het, het staat er wel, maar na klikken heb je geen rechten… waarom staat het er dan zou je zeggen. wellicht dat ik de naam kan aanpassen van de button…… zoeken in de berg php-files….;-)) weet u dat?

    mark

    Niet zo flink van je theme developer 🙂 Wat je zou kunnen doen is in je theme files zoeken naar het stukje code dat het menu genereert, en restricties opleggen met de current_user_can functie zoals hierboven. Andere optie is het menu verbergen met CSS en/of jQuery.

7 reacties aan het bekijken - 1 tot 7 (van in totaal 7)
  • Het onderwerp ‘secties verbergen bij bepaalde gebruikers?’ is gesloten voor nieuwe reacties.