2017-07-03 9 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

の結果にPHPのスイッチに感謝しています!これは役に立ちますが、どこに置くのかはわかりません。私はlogo.php(どこにロゴが作成されていると思いますか)を投稿しました。 – Torewin

0

。おそらく、header.phpにあります。 https://codex.wordpress.org/Child_Themes

  • ロゴ へのリンクはおそらくheader.phpの出力どのファイルを見つけるの子テーマを作成

    1. が、それはテーマに依存します。:続行する の方法は、このようなものですテーマ開発者に不明な場合は質問してください。
    2. 例wp_get_current_user() https://codex.wordpress.org/Function_Reference/wp_get_current_user
    3. のため使用していることと、出力様々なリンク http://php.net/manual/en/control-structures.switch.php
  • +0

    いくつかの素晴らしいリンクが、私はまだどこにコードを置くのか分からない。それはロゴが自分のPHPファイルを持っているように見えます。 inc/Header/logo.phpという赤い色のフォルダの下にあります。私はlogo.phpにあるコードを投稿しました。 – Torewin

    +0

    あなたの質問は、あなたが使用しているテーマに関するもので、テーマの開発者に質問する必要があります。 –

    関連する問題