サポート » 使い方全般 » the_author(); で管理者以外を表示

  • 解決済 bjifa

    (@bjifa)


    the_author(); で著者を表示しているのですが管理者(admin)名は表示させないようにできるのでしょうか?

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    まず、WordPress の管理パネル「ユーザー」で、ブログに表示する名前を変更できるので、それの変更を試してください。

    スレッド開始 bjifa

    (@bjifa)

    lilyfanさん、ありがとうございます。

    説明が足らなかったようです。

    表示名を変えたいのではなくて、管理者権限に設定されている名前は、表示したくないということでした。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    表示名を変えたいのではなくて、管理者権限に設定されている名前は、表示したくないということでした

    技術的には「管理者権限がある人の名前を隠す」のはさほど難しくないのですが、単純に実装するといろいろ破綻するので、もうちょっと状況を教えてください。「どういう目的で何をしたいのか」によって、よりよい実現方法が違ってくるのです。

    * 当該サイトは複数のユーザーが存在するのか?
    * 基本的には管理者権限のないユーザーが投稿し、管理者はめったに投稿しないのか?
    * 管理者権限を持つユーザーは複数存在するのか? デフォルトの admin 以外にもいるか?
    * 管理者の表示名を変更するという方法はなぜダメなのか? (名前を隠すだけだったら、「名前がない投稿」ができてしまって不気味では?)

    スレッド開始 bjifa

    (@bjifa)

    lilyfanさん、ありがとうございます。

    「どういう目的で何をしたいのか」

    該当のサイトは、企業サイトで商品の説明ページなどと社員のブログがあります。

    商品の説明ページなどの投稿は管理者権限をもった「admin」がおこなっていて、社員のブログは編集者権限の複数の社員がやっております。

    それで、single.php category.php などは同じものを使っているので、著者の表示を分けたいと言うことです。

    管理者権限を持っているのはひとりだけです。

    if(get_the_author_meta('user_level') < 8)
      the_author();

    でどうでしょう。

    スレッド開始 bjifa

    (@bjifa)

    kzさん、ありがとうございます。

    できました。

    それで、その著者のまえに「著者:」といれたいのですが、
    以下のように書いたのですが、うまく行きませんでした。

    if(get_the_author_meta('user_level') < 8) the_author('before = 著者:');

    どのように書けばよろしいのですか?

    あと、< 8の8というのは何にあたるんでしょうか?

    著者のまえに「著者:」といれたい

    the_author にパラメータはないです
    テンプレートタグ/the author
    ので、

    if(get_the_author_meta('user_level') < 8){
      echo '著者:';
     the_author();
    }

    < 8の8というのは

    ユーザの「レベル」です。
    参照:Codex ユーザーの種類と権限

    スレッド開始 bjifa

    (@bjifa)

    kzさん、助かりました。
    ありがとうございます。出来ました。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「the_author(); で管理者以外を表示」には新たに返信することはできません。