2017-07-03 43 views
0

嘿,我被要求爲我的公司打造網站。我們正在使用Wordpress,基本上每個用戶角色都是不同的組,需要在網站上看到不同的徽標。在Wordpress中通過用戶角色更改徽標

我使用Thimpress的Eduma作爲我的主題。我覺得應該像檢查user_role登錄並更改徽標圖像一樣簡單,但我不知道從哪裏開始放置該條件。

任何幫助或指導非常感謝!

下面是我認爲的代碼創建標誌:

<?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; 

回答

0

在你設置的標誌把這段代碼有該文件。

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

+0

謝謝!這有幫助,但我不確定把它放在哪裏。我發佈了logo.php(我認爲該徽標已創建)。 – Torewin

0

那要看主題的佈局。可能它在header.php中。 進行的方式是這樣的:

  1. 創建一個子主題 https://codex.wordpress.org/Child_Themes
  2. 找出文件輸出的鏈接標誌 可能的header.php而是取決於主題;如果不確定,請諮詢主題開發人員。
  3. 使用例如wp_get_current_user() https://codex.wordpress.org/Function_Reference/wp_get_current_user
  4. 上的結果和產出做一個PHP開關各個環節 http://php.net/manual/en/control-structures.switch.php
+0

一些很棒的鏈接,但我仍然不明白在哪裏放置代碼。它看起來像徽標有它自己的PHP文件。它位於名爲inc/Header/logo.php的紅色文件夾下。我發佈了logo.php中的代碼。 – Torewin

+0

你的問題是專門關於你正在使用的主題,你應該問這個主題的開發者。 –