質問するログイン新規登録

質問編集履歴

3

試行錯誤の追記

2019/02/10 14:46

投稿

xiki110
xiki110

スコア7

title CHANGED
File without changes
body CHANGED
@@ -49,7 +49,7 @@
49
49
 
50
50
  #追記依頼へ
51
51
  ご意見ありがとうございます。
52
- CHERRY様のおっしゃる構いせん
52
+ CHERRY様のおっしゃる方向からのアプローチをもう一度考えてみした
53
- むしろ最初はその方向で考えておりました。
54
- しかし、メディア関連の権限がupload_files一つしかなかったため自分の作成したメディア投稿だけを表示できる」ということをどのように実装したらよいか思いつきせんでした。
53
+ クションフックに引っ掛けて、手動でattachmentにわる権限の名前を書き換えることで、自分の作成したメディアだけを編集できるようにすることが出来ました。
54
+ また、その際、他の投稿タイプと違い、編集不能なものも管理画面から見えてしまう問題がありましたが、こちらはpre_get_postsに引っ掛けて作成者をそのユーザーに限定することで対処できました。
55
- 解決策りましたらご教授願えればと思います。
55
+ しかし、一括削除等の場合を考えると今ひとつ不便さりますのでもうしらく回答を募集させていただきたいと思います。

2

追記依頼への返信

2019/02/10 14:46

投稿

xiki110
xiki110

スコア7

title CHANGED
File without changes
body CHANGED
@@ -44,4 +44,12 @@
44
44
 
45
45
  でも構いませんので、どなたかお力添えいただけれ思います。
46
46
 
47
- ちなみに、wp.media()のソースとしてmedia-model.jsは一通り読みましたが、どうやらデータベースからの情報取得と書き込みはそこでは行っていなさそうでした。
47
+ ちなみに、wp.media()のソースとしてmedia-model.jsは一通り読みましたが、どうやらデータベースからの情報取得と書き込みはそこでは行っていなさそうでした。
48
+
49
+
50
+ #追記依頼へ
51
+ ご意見ありがとうございます。
52
+ CHERRY様のおっしゃる構いません。
53
+ むしろ最初はその方向で考えておりました。
54
+ しかし、メディア関連の権限がupload_files一つしかなかったため、「自分の作成したメディア投稿だけを表示できる」ということをどのように実装したらよいか思いつきませんでした。
55
+ 解決策がありましたら、ご教授願えればと思います。

1

書式の改善

2019/02/10 10:08

投稿

xiki110
xiki110

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,21 @@
1
+ #知りたいこと
2
+
3
+ Wordpressに標準搭載されていて、JSからwp.media()を用いると呼び出せるメディアアップローダーから、既存のメディア(post_type = attachment)ではない、カスタム投稿タイプを扱う方法について。
4
+
5
+ 具体的には、
6
+
7
+ 1. 既存のattachmentと同様で、post_typeのみ変更したカスタム投稿タイプを作成する
8
+ 2. そのカスタム投稿タイプをメディアアップローダーで開く
9
+ 3. メディアアップローダーからそのカスタム投稿タイプで保存する
10
+
11
+ の3点を実現しようとしています。
12
+
13
+ 1.に関しては特に苦労せず実装できそうなのですが、2.と3.に関しては全く歯が立ちません。
14
+
15
+ ソースコードレベルの話でも構いませんので、なにかご教授願えればと思います。
16
+
17
+
18
+ #経緯
1
19
  現在、Wordpressを利用してサイトを作成しているのですが、その際
2
20
 
3
21
  - ユーザーを管理者と寄稿者を分ける
@@ -8,23 +26,22 @@
8
26
 
9
27
  しかし、メディア関連の権限はupload_filesただひとつなので、寄稿者は「メディアをすべて弄れる」あるいは「メディアを全く弄れない」という2択の状況しか実現できませんでした。
10
28
 
11
- ---
12
-
13
29
  そこで、デフォルトのメディア(post_type='attachment')と同様のカスタム投稿タイプ(例として'attachment_b')を作り、
14
30
 
15
31
  - 管理者はattachmentもattachment_bも自由に弄れる
16
32
  - 寄稿者はattachment_bのみ弄れる
17
33
 
18
- という状態にすることで解決しようと考えましたが、どうすればメディアアップローダーでattachment以外の投稿タイプを扱えるのかせん
34
+ という状態にすることで解決しようと考えましたが、結局、メディアアップローダーでattachment以外の投稿タイプを扱う方法見つらず、躓いてしいました
19
35
 
20
36
  wp.media()の引数を弄ればどうにかなるかと考えていましたが、自力で調べてもどうにもそれらしい情報を見つけることが出来ませんでした。
21
- どのようにすれば既存のメディアアップローダーでattachment以外の投稿タイプを扱えるのでしょうか?
22
37
 
23
- ---
24
38
 
25
- あるいは
39
+ #補足
40
+ 質への直接の回答ではなく、
26
41
 
27
42
  - メディアアップローダーのattachment取得及び保存のソースコードの場所
28
43
  - はじめの条件を達成するためのそもそも全く別のアプローチ
29
44
 
30
- でも構いませんので、どなたかお力添えいただけれ思います。
45
+ でも構いませんので、どなたかお力添えいただけれ思います。
46
+
47
+ ちなみに、wp.media()のソースとしてmedia-model.jsは一通り読みましたが、どうやらデータベースからの情報取得と書き込みはそこでは行っていなさそうでした。