Benennen Sie die Einfüge-Schaltfläche im Medien-Upload-Fenster um

Ich habe mehrere verschiedene Beitragstypen mit jeweils einem Medien-Upload. Was ich tun möchte, ist die Schaltfläche “Einfügen in Post” umzubenennen, so dass es mit den einzelnen benutzerdefinierten Posts korreliert. Zum Beispiel – benutzerdefinierte Beitragstyp – “Auszeichnung” und dann die Medien-Upload-Box würde die folgende Schaltfläche, “in Award einfügen”.

Irgendwelche Ideen?

Solutions Collecting From Web of "Benennen Sie die Einfüge-Schaltfläche im Medien-Upload-Fenster um"

Ich denke, das ist nicht so einfach, auf der Media-Seite im Admin-Bereich ist es nicht möglich, den post_type Ihres CPT zu überprüfen. Normalerweise können Sie Strings mit der folgenden kleinen Quelle ändern, ein Beispiel.

if ( is_admin() ) add_filter( 'gettext', array( 'fb_string_translate', 'gettext_filter' ), 10, 1 ); class fb_string_translate { static function gettext_filter( $str ) { $from_to = array(); $post_type = get_post_type(); if ( 'my_post_type' === $post_type ) $from_to = array( 'Insert into Post' => 'Insert into Test' ); return strtr($str, $from_to); } } 

Aber es ist wichtig, dass Sie überprüfen, auf welcher Seite der Autor in admin ist und auf dem iframe der Medienseite ist es nicht möglich, post_type zu lesen; vielleicht findest du diese var und dann ist es mit der beispielquelle möglich.

[aktualisieren]
Ich habe zuerst einen albernen Ansatz gewählt und schreibe meine Antwort auf Grund dieses Stephen-Harris-Beitrags komplett um. Ergebnis: Es ist jetzt viel kompakter.

Ich habe versucht, @ bueltge Filter in meinen Code anzupassen, aber es ist nicht gelungen.

Meine Lösung verwendet jQuery, um die Zeichenfolgen zu bearbeiten.
In der Registerkarte Von Computer füge ich eine function hinzu, die jede halbe Sekunde ausgeführt wird, um den Schaltflächentext zu ändern, wenn er angezeigt wird (nach dem Hochladen).

Dieses Beispiel behandelt 2 CPTs: “Film” und “woo_estate”.

 /* * Change the text "Use this Image"/"Insert into Post" on the upload window to "Insert into CPT" */ function wpse_26585_script_enqueuer(){ global $current_screen; $post_id = !empty( $_GET['post_id'] ) ? (int) $_GET['post_id'] : 0; $post_type = get_post_type($post_id); if( 'media-upload' == $current_screen->id && ('movie' == $post_type || 'woo_estate' == $post_type) ) { // VAR DECLARATION $select = ""; if('movie' == $post_type) $select = "Insert into Movie"; if('woo_estate' == $post_type) $select = "Insert into Property"; // FIND CURRENT TAB $tab = isset($_GET['tab']) ? $_GET['tab'] : "type"; // CHANGE NAMES IN UPLOAD MEDIA TAB and UPDATE "SAVE ALL CHANGES" LINK TO INCLUDE OUR PARAMETER IN THE QUERY $jquery = ('type' == $tab) ? 'var refreshUpload = setInterval(function(){$("#media-items").each(setButtonNames);},500);' : '$("#media-items").each(setButtonNames);'; //CHANGE BUTTON NAMES echo < < function setButtonNames() { jQuery(this).find('.savesend .button').val('{$select}'); } jQuery(document).ready(function($){ {$jquery} });  HTML; } } add_action('admin_head', 'wpse_26585_script_enqueuer');