1

特定のユーザーに特定のメディアのみを表示する方法についてのアイデアを探しています。

特定のメディア ファイルを添付したい新しいロールとそのロールの機能を作成しました。新しいロールのユーザーは、割り当てられたメディアのみを表示できます。

最後に作成しているのは、人々がドキュメントをダウンロードするためにログインするページです。これらのドキュメントを動的に取り込んでもらいたいと思っていましたが、上で何をしたいのかわからなければ、ドキュメントをページにハードコーディングするだけです。

4

1 に答える 1

0

ええと...特定のユーザーに特定のメディアだけを表示することに関する限り...

メディアがどこで表示されているかを確認できます。単に WP-Admin インターフェイス内のデフォルトのメディア ライブラリについて話している場合は、URL をチェックしてメディア ライブラリ ページにいるかどうかを確認できます。

(おそらく) このコードは、テーマの functions.php ファイルまたはプラグインに、それぞれのデザインに配置されます。

//we need access to the $wp_query;
global $wp_query;

//now we build our function, we need to pass $wp_query into it
function manage_user_media($wp_query){

  //we check the location of the window
  if(strpos($_SERVER['REQUEST_URI'], '/wp-admin/upload.php') !== false ||
      strops($_SERVER['REQUEST_URI'], '/wp-admin/media-upload.php') !== false):

      //check if the logged in user has a capability of say...a level 5 user
      if(!current_user_can('level_5')):

          //this user does not have the capabilities of a level 5 user.
          //hijack the 'author' query var, so we can set it to the ID of our user
          $wp_query->set('author', get_current_user_id());

      endif;    

  endif;

}

Wordpress のユーザー レベルがわかりにくい場合は、Codex を参照して比較してください。

つまり、レベル 5 ユーザー以上のユーザーは[ ALL ]メディア要素を表示できますが、レベル 5 ユーザー未満のユーザーは[ HIS OR HER ]メディア要素のみを表示できます。

于 2012-08-07T00:02:29.833 に答える