web-dev-qa-db-ja.com

追加の投稿MetaboxでWordpressのメディアアップロードと新しいメディアマネージャメニューをカスタマイズする

メタボックスのWordpress Media Upload(<3.5)およびMedia Manager(> = 3.5)をアップロードフィールドとして使用しています。メニューのカスタマイズを行い、[URLから]/[挿入元]を指定せずにアップロードとメディアライブラリ機能のみを使用できます。 URLと「ギャラリーを作成」だから私はそれらを削除する必要があります。

私は この解決策 で述べたようなWordpressのフィルタを使うことはできません。 「メディア追加」機能があり、このようなフィルタを使用すると壊れます。

Javascriptや他の方法で解決策はありますか?

前もって感謝します。

1
ayublin

エディタページ(メタボックスリンク)から[おすすめ画像を追加]をクリックすると、[投稿に挿入]のオプションと言及したすべてのオプションがメディアマネージャに表示されなくなります。ユーザーが投稿に画像を挿入するオプションを削除したいので、これは私にとって完璧でした。これがあなたが望むものであるならば、あなたのテーマのfunctions.phpファイルにこのコードを入れてください...

/**
* Removes "image edit" option from Media Manager.
*/
add_action( 'admin_footer-post-new.php', 'wpse_76214_script' );
add_action( 'admin_footer-post.php', 'wpse_76214_script' );
function wpse_76214_script() {
?>
<script type="text/javascript">
jQuery(document).ready( function($) {
    $( 'li.attachment' ).live( 'click', function( event ) {
        $( '.media-sidebar a.edit-attachment' ).remove(); // remove edit image link
    });
} );
</script>
<?php
}

/**
* Removes "Add Media" Button from the editor.
*/
function z_remove_media_controls() {
remove_action( 'media_buttons', 'media_buttons' );
}
add_action('admin_head','z_remove_media_controls');

/**
* Takes over the "Featured Image" meta box and allows you to change its options.
*/
add_action('do_meta_boxes', 'change_image_box');
function change_image_box()
{
remove_meta_box( 'postimagediv', 'post', 'side' );
remove_meta_box( 'postimagediv', 'page', 'side' );
// if you have other post types, remove the meta box from them as well
// remove_meta_box( 'postimagediv', 'YOUR-POST-TYPE-HERE', 'side' );
add_meta_box('postimagediv', __('Add Images'), 'post_thumbnail_meta_box', 'post', 'side' );
add_meta_box('postimagediv', __('Add Images'), 'post_thumbnail_meta_box', 'page', 'side' );
// if you have other post types, add the new meta box for them as well
// add_meta_box('postimagediv', __('Add Images'), 'post_thumbnail_meta_box', 'YOUR-POST-TYPE-HERE', 'side' );
}

/**
* Renames Feature Image Link that appears inside meta box.
*/
add_action('admin_head-post-new.php',change_thumbnail_html);
add_action('admin_head-post.php',change_thumbnail_html);
function change_thumbnail_html( $content ) {
  add_filter('admin_post_thumbnail_html',do_thumb);
}
function do_thumb($content){
 return str_replace(__('Set featured image'), __('Add Images and Set Featured'),$content);
}

ユーザーはメタボックス内のリンクをクリックすることによってのみ画像を追加できるようになります。さらに、混乱を避けるためにメタボックス内のリンクが変更されました。お役に立てれば!

2
Jon Masterson