私はクライアントのためのテーマを作成しています、そして、彼らの要求の1つはユーザーが彼ら自身の使用のために画像をアップロードすることを許可することですが、画像を共有するオプションがあるかもしれません。
ここにいくつかの警告があります:
第一に、これは可能であり、画像のための「タグ」分類法を作成することは可能ですか?
ご協力いただきありがとうございます。
メディアライブラリには、次期バージョンのメジャーアップデートがあります。 Daryl Koopersmithによるスライドの変更をここで見ることができます 。 "Make"に関する発表と議論を読むことができます 。
"tags/categories"に対するあなたの要求はすでに3.5に組み込まれています。
テーマとプラグインの違いは非常に簡単です。表示と機能性。そのため、そのような機能をテーマに組み入れないで、プラグインとして分離しておくことをお勧めします。これを行うことによるあなたの利益:あなた/あなたのクライアントは、アップデートやテーマ変更の際にこの機能を失うことはないでしょう。それは単にあなたの人生をずっと楽にします。想像してみてください、あなたはこれを要求する別のクライアントを得ました。それからあなたは単にあなたのテーマからこれをリッピングしてそれを次のテーマに移動する代わりにあなたの既存のプラグインを単にアップロードするでしょう。
カイザーが言ったように、WordPressの次のバージョンではメディアライブラリは投稿/ページインターフェースに近いUIを使います。
メディアライブラリは基本的に「添付ファイル」と呼ばれるCPTなので、コメントを付け、投稿メタを作成し、分類法を「添付ファイル」投稿タイプに割り当てることができます。
3.4.2はこのすべてをサポートしていますが、メディアタイプの分類UIは表示されません。 3.5です。
タグ付けは完了です。
すべてを管理者に見せるために、そして個々のユーザに彼ら自身のメディアライブラリを与えるために?バックエンドでのみ実行されるpre_get_postsフィルタを使用し、ユーザーがロール管理者以上ではなく、クエリが 'attachment'タイプの投稿を探している場合にのみ、 'author'に基づいてそれらを除外する必要があります'。
このQ&A は、ユーザーロールがダッシュボードに表示できる投稿を制限する方法を示します。添付ファイルの部分が欠けていました。
add_filter( 'pre_get_posts', 'wpse_72278_current_author_media' );
add_filter( 'views_upload', 'wpse_72278_custom_view_count', 10, 1 );
function wpse_72278_current_author_media( $query )
{
global $pagenow, $user_ID;
if( 'upload.php' !== $pagenow )
return $query;
if ( $query->is_admin && current_user_can( 'editor' ) )
$query->set( 'author', $user_ID );
return $query;
}
function wpse_72278_custom_view_count( $views )
{
global $user_ID, $wpdb;
if ( !current_user_can('editor') )
return $views;
$total = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts
WHERE post_author = '$user_ID'
AND post_type = 'attachment' " );
$image = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts
WHERE post_author = '$user_ID'
AND post_mime_type LIKE 'image/%' " );
$video = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts
WHERE post_author = '$user_ID'
AND post_mime_type LIKE 'video/%' " );
$detached = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts
WHERE post_author = '$user_ID'
AND post_type = 'attachment' AND post_parent = '0' " );
$views['all'] = preg_replace( '/\(.+\)/U', '('.$total.')', $views['all'] );
$views['image'] = preg_replace( '/\(.+\)/U', '('.$image.')', $views['image'] );
$views['video'] = preg_replace( '/\(.+\)/U', '('.$video.')', $views['video'] );
$views['detached'] = preg_replace( '/\(.+\)/U', '('.$detached.')', $views['detached'] );
return $views;
}
この他の はある作者が所有する投稿の問題と別の作者が作成したアップロードの面倒を見ます。
そして、まだ3.5に飛び込んでいないのであれば、 この最後の /添付ファイルのカスタムフィールドを処理します。