Support » Plugins » User Access Manager

  • Möchte gerne bei einem Eltern Kinder Menü über eine Verrechtung mit User Access Manager eine Class zu dem menu-item hinzufügen.
    In etwa so:
    class=“menu-item menu-item-type-post_type menu-item-object-page menu-item-668 uamg-1 uamg-2

    uamg-1 = User Access Manger Gruppe 1

    Ziehl ist es wenn der User sich eingelogt hat, dass vor dem Menü eintrag ein offnens Schloss angezeigt wird, damit der User besser die internen Punkte sieht.

    Habe ein altes Plugin gehabt welches aber mit der aktuellen UAM nicht läuft:

    /**########################################################
     * Menü-Einträge Allgemeiner Menüs um UAM-Gruppen-IDs erweitern
     * ########################################################
     *
     * Callback-Funktion für den WordPress-Hook: "page_css_class".
     * Dieser Hook wird bei jedem Aufruf von wp_list_pages () ausgelöst.
     * Da Navmenüs scheinbar einen anderen Mechanismuss haben muss dieser
     * hook zusätzlich verwendete werden.
     *
     * @param array $classes durch WordPress bereits zugeordnete Klassen
     * @param object $page Objekt mit Informationen zur Seite
     * @return $array Liste mit CSS-Klassen für den Body
     */
    function tuame_custom_page_css_class($classes, $page)
    {
      global $userAccessManager;
    
      $uam_groups = $userAccessManager->getAccessHandler()->getUserGroupsForObject('page', $page->ID);
    
      if (0 < count($uam_groups)) {
    
        foreach ($uam_groups AS $uam_group) {
          $classes[] = 'uamg-' . $uam_group->getId();
          }
      }
    
      return $classes;
    }

    Hat jemand eine Idee oder gibt es hierfür ein Plugin ?

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • Wenn ich dich richtig verstehe, geht es nur um das hinzufügen einer CSS Klasse, wenn der User eingeloggt ist?

    <?php
    if( is_user_logged_in() ) {
      add_filter( 'body_class', 'logged_in_class' );
     } 
    
    function logged_in_class ( $classes ) {
    	// add 'class-name' to the $classes array
    	$classes[] = 'logged-in';
    	// return the $classes array
    	return $classes;
    }
    ?>

    Danach kann man dann Menüeinträge etwa mit .logged-in .main-navigation li:before { content: '* '; } stylen.

    Thread-Starter autowolf

    (@autowolf)

    Jain,

    die verrechtung läuft per UAM (User Access Manager Plugin). Somit gibt Menüpunkte die nur angezeigt werden werden wenn der User in der entsprechende Gruppe ist.

    Die Menüpunkte sind im „normalen“ Menü mit eingefügt und sollen dann mit Bild ( Schloss) hervorgehoben werden.

    Das Script hat vorher uamg-1 in die class des Menü eintrages gepackt

    <li id="menu-item-907" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-907 uamg-1"><a href="http://seite.de/briefe">Briefe</a></li>

    z.Z. schaut es so leider aus und somit kann ich per CSS das Schloss nicht davor setzen

    <li id="menu-item-5238" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5238"><a href="http://seite2.de/briefe-2/">Briefe</a></li>

    Hast du / ihr vieleicht da eine Idee ?

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • Das Thema „User Access Manager“ ist für neue Antworten geschlossen.