質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • WordPress

    7201questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

WordPressカスタマイズ カスタム投稿タイプで寄稿者の記事管理をしたいです。

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 541

lingwood

score 23

内容

お世話になります。
ご教示いただけませんでしょうか。

いまWordPressでサイトを構築しています。
サイトを管理する「管理者」と記事を書く「寄稿者」で分けて
運営するという案件に直面しています。

そこで、カスタムポストUIを使用しまして“ブログを書く”という
カスタム投稿タイプを作成し、WordPress管理画面の“ユーザー”から
管理者と寄稿者を作成しました。

寄稿者には記事を書いてもらいレビュー待ちの記事を
管理者がチェックして公開するという流れです。

ここまでは通常の流れかと思いますが、記事一覧の「すべて」や「ゴミ箱」
の中に他の方が書いた記事の一覧が見れてしまうのを何とかしたく悪戦苦闘しています。

他人の記事の編集や削除はできないため最悪、ネット上にある施策で対策をとるでも
良いのですが、やはりクライアント利便な動きを提供してあげたいです。

やりたい事ですが、各々の記事一覧画面で以下のようになっているのが理想です。

【管理者】
すべて(30)|下書き (15) | 公開済み(7) | 保留中 (8) | ゴミ箱 (9)

※所有はあってもなくても良いです。

【寄稿者】
所有(5)|下書き (3) | 公開済み(1) | 保留中 (1) | ゴミ箱 (0)

というような形です。
ただ、条件がありまして、子テーマにfunctions.phpは追加できるのですが、
元となるwordPressのコードは一切触ってはいけないことになっています。

試したこと

ネット上の情報をいくつか試したのですが、
◆Simple Colorsさん
http://www.warna.info/archives/2557/

こちらの方法では、functions.phpへコードを書いて、
()内の数字はCSSで消すということで、試したところ、
・他人の記事は表示されなくなりました。
・CSSで()内を非表示にできました。
・ただ、管理者まで他人の記事が見れなくなりました。
・また、“レビュー待ち”の記事も見れない、触れない状態となりました。

◆calmtechさん
http://www.calmtech.net/2015/04/09/how-to-hide-other-posts-from-contributor/
◆ショウジンブログさん
http://blog.showzine.co/entry/hide_others-posts

併せまして、『表示を所有だけにする』
上記ほぼ同じ内容でしたので参考にしながらやってみましたところ、
・管理者まで「所有」だけになってしまいました。
・“レビュー待ち”の記事は記事一覧から見ることができました。
ただ、ゴミ箱などは記事を書いていただく人にも見れた方が良いですし、
あくまで表示だけを消しているようなので、所有以外の項目を表示させると
やはり中に他人の記事が入っていてしまうため最終手段だと思っています。

その他には、カスタム投稿タイプなので権限が付けられていないと思って
User Role Editorを使い管理者と寄稿者に分けた(つもり)なんですが・・・

問題は、管理者まで寄稿者と同じ表示になってしまうというところかと思っています。

何でも試すことは全然手間ではないのですが、
理解力が乏しいためズバリで教えて頂けましたら幸いです。

何卒よろしくお願いします!

解決致しました。

kei344様にご教示頂いた条件分岐と
◆Simple Colorsさんhttp://www.warna.info/archives/2557/
の情報を組み合わせ解決いたしました。

最終的に()内のカウントと「すべて」の項目はCSSでdisplay:noneにし
対応いたしました。このCSSも条件分岐でできました。

ありがとうございました。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

問題は、管理者まで寄稿者と同じ表示になってしまう

条件分岐すればよいのでは?

【WordPress:ユーザー権限や情報によって条件分岐を行う方法 | NxWorld】
http://www.nxworld.net/wordpress/wp-current-user-can-and-get-currentuserinfo.html

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/06 17:44

    kei344様

    お世話になります。
    ご連絡が遅くなり大変失礼いたしました。

    ありがとうございました!!
    ご教示の通り条件分岐でできました!

    すっかり条件分岐のことなど忘れてやっておりました。
    でも教えていただかなかったら自力で条件分岐にたどり着くこともありませんでした。

    本当にありがとうございます。
    とても助かりました。

    また何かの際にもどうぞよろしくお願い申し上げます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • WordPress

    7201questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。