2017-07-03 3 views
0

Hey Leute Ich wurde gebeten, die Website für meine Firma zu brandmarken. Wir verwenden Wordpress dafür und grundsätzlich ist jede Benutzerrolle eine andere Gruppe, die ein anderes Logo auf der Seite sehen muss.Ändern Sie das Logo von Benutzerrolle in Wordpress

Ich benutze Eduma von Thimpress als mein Thema. Ich denke, es sollte so einfach sein, wie zu überprüfen, was user_role angemeldet ist und das Logo Bild geändert, aber ich weiß nicht, wo ich anfangen soll, um diese Bedingung zu stellen.

Jede Hilfe oder Anleitung wird sehr geschätzt!

Unten ist der Code, den ich denke, das Logo erstellt:

<?php 
add_action('thim_logo', 'thim_logo', 1); 
// logo 
if (!function_exists('thim_logo')) : 
    function thim_logo() { 
     $thim_logo = get_theme_mod('thim_logo', false); 
     $style  = ''; 
     if (!empty($thim_logo)) { 
      if (is_numeric($thim_logo)) { 
       $logo_attachment = wp_get_attachment_image_src($thim_logo, 'full'); 
       if ($logo_attachment) { 
        $src = $logo_attachment[0]; 
        $style = 'width="' . $logo_attachment[1] . '" height="' . $logo_attachment[2] . '"'; 
       } else { 
        // Default image 
        // Case: image ID from demo data 
        $src = get_template_directory_uri() . '/images/logo.png'; 
        $style = 'width="153" height="40"'; 
       } 
      } else { 
       $src = $thim_logo; 
      } 
     } else { 
      // Default image 
      // Case: The first install 
      $src = get_template_directory_uri() . '/images/logo-sticky.png'; 
      $style = 'width="153" height="40"'; 
     } 
     $src = thim_ssl_secure_url($src); 
     echo '<a href="' . esc_url(home_url('/')) . '" title="' . esc_attr(get_bloginfo('name')) . ' - ' . esc_attr(get_bloginfo('description')) . '" rel="home" class="no-sticky-logo">'; 
     echo '<img src="' . $src . '" alt="' . esc_attr(get_bloginfo('name')) . '" ' . $style . '>'; 
     echo '</a>'; 
    } 
endif; 
add_action('thim_sticky_logo', 'thim_sticky_logo', 1); 

// get sticky logo 
if (!function_exists('thim_sticky_logo')) : 
    function thim_sticky_logo() { 
     $sticky_logo = get_theme_mod('thim_sticky_logo', false); 
     $style  = ''; 
     if (!empty($sticky_logo)) { 
      if (is_numeric($sticky_logo)) { 
       $logo_attachment = wp_get_attachment_image_src($sticky_logo, 'full'); 
       if ($logo_attachment) { 
        $src = $logo_attachment[0]; 
        $style = 'width="' . $logo_attachment[1] . '" height="' . $logo_attachment[2] . '"'; 
       } else { 
        // Default image 
        // Case: image ID from demo data 
        $src = get_template_directory_uri() . '/images/logo-sticky.png'; 
        $style = 'width="153" height="40"'; 
       } 
      } else { 
       $src = $sticky_logo; 
      } 

     } else { 
      // Default image 
      // Case: The first install 
      $src = get_template_directory_uri() . '/images/logo-sticky.png'; 
      $style = 'width="153" height="40"'; 
     } 
     $src = thim_ssl_secure_url($src); 
     echo '<a href="' . esc_url(home_url('/')) . '" rel="home" class="sticky-logo">'; 
     echo '<img src="' . $src . '" alt="' . esc_attr(get_bloginfo('name')) . '" ' . $style . '>'; 
     echo '</a>'; 
    } 
endif; 

Antwort

0

In der Datei, in der Sie das Logo diesen Code dort setzen gesetzt.

$user = wp_get_current_user(); if (in_array('author', (array) $user->roles)) { //logo for author role }

+0

Dank einen PHP-Schalter tun! Das hilft, aber ich bin mir nicht sicher, wo ich es hinstellen soll. Ich habe die logo.php gepostet (wo ich denke, dass das Logo erstellt wurde). – Torewin

0

, die an das Layout des Themas abhängt. Wahrscheinlich ist es in der header.php. Der Weg ist zu gehen etwas wie folgt aus:

  1. erstellen Kind Thema https://codex.wordpress.org/Child_Themes
  2. Finden Sie heraus, welche Datei den Link zum Logo gibt Wahrscheinlich header.php aber das hängt von dem Thema; Fragen Sie den Entwickler, wenn Sie sich nicht sicher sind.
  3. Verwendung zum Beispiel wp_get_current_user() https://codex.wordpress.org/Function_Reference/wp_get_current_user
  4. über die Ergebnisse verschiedene Links, dass und Ausgang http://php.net/manual/en/control-structures.switch.php
+0

Einige großartige Links, aber ich verstehe immer noch nicht, wo ich den Code einfügen soll. Es sieht so aus, als hätte das Logo eine eigene PHP-Datei. Es ist unter einem roten Ordner namens inc/Header/logo.php. Ich habe den Code, der in der logo.php war, gepostet. – Torewin

+0

Ihre Frage bezieht sich dann speziell auf das Thema, das Sie verwenden, und Sie sollten die Entwickler des Themas fragen. –

Verwandte Themen