Ich habe einen benutzerdefinierten Posttypnamen von Banken registriert.
Kann ich den Titel und den Textwert des Post-Thumbnails-Metafelds dieses Beitragstyps ändern?
Ist das möglich ?
Fatih Toprak
Ich habe einen benutzerdefinierten Posttypnamen von Banken registriert.
Kann ich den Titel und den Textwert des Post-Thumbnails-Metafelds dieses Beitragstyps ändern?
Ist das möglich ?
OK! Alte Frage mit mehreren Antworten des gleichen falschen Ansatzes mit unterschiedlichen Hooks! Falls jemand dies braucht, poste ich eine bessere Möglichkeit, dies zu tun, ohne zusätzliche Hooks zu verwenden oder Metaboxen zu bearbeiten.
Bei der Registrierung eines neuen CPT mit register_post_type
Funktion können (und sollten!) wir a übergeben labels
Array zu seinen Argumenten. Einige dieser Bezeichnungen sind für den CPT-Bearbeitungsbildschirm.
$labels = [
'name' => __( 'Banks', 'textdomain' ),
'singular_name' => __( 'Bank', 'textdomain' ),
'add_new' => __( 'Add New', 'textdomain' ),
'add_new_item' => __( 'Add New Bank', 'textdomain' ), //used in post-new.php?post_type=bank
'edit_item' => __( 'Edit Bank', 'textdomain' ), //used in post.php
'new_item' => __( 'New Bank', 'textdomain' ),
'all_items' => __( 'All Banks', 'textdomain' ),
'view_item' => __( 'Vew Bank', 'textdomain' ),
'search_items' => __( 'Search Banks', 'textdomain' ),
'not_found' => __( 'No banks found', 'textdomain' ),
'not_found_in_trash' => __( 'No banks found in trash', 'textdomain' ),
'parent_item_colon' => __( 'Parent bank', 'textdomain' ),
'menu_name' => __( 'Banks', 'textdomain' ),
'featured_image' => __( 'Bank image', 'textdomain' ), //used in post.php
'set_featured_image' => __( 'Set bank image', 'textdomain' ), //used in post.php
'remove_featured_image' => __( 'Remove bank image', 'textdomain' ), //used in post.php
'use_featured_image' => __( 'Use as bank image', 'textdomain' ), //used in post.php
'insert_into_item' => __( 'Insert into bank', 'textdomain' ), //used in post.php
'uploaded_to_this_item' => __( 'Uploaded to this bank', 'textdomain' ), //used in post.php
'filter_items_list' => __( 'Filter banks', 'textdomain' ),
'items_list_navigation' => __( 'Banks navigation', 'textdomain' ),
'items_list' => __( 'Banks list', 'textdomain' ),
];
$args = [
'description' => 'Bank CPT',
'public' => false,
'show_ui' => true,
'show_in_menu' => true,
'show_in_admin_bar' => false,
'has_archive' => false,
'labels' => $labels,
'supports' => ['thumbnail'],
'query_var' => false,
'can_export' => true,
'show_in_rest' => false,
];
register_post_type('bank', $args);
Einfach etwas verständlicher machen:
add_action( 'admin_head', 'replace_default_featured_image_meta_box', 100 );
function replace_default_featured_image_meta_box() {
remove_meta_box( 'postimagediv', 'my-post-type-here', 'side' );
add_meta_box('postimagediv', __('My Cover Image'), 'post_thumbnail_meta_box', 'my-post-type-here', 'side', 'high');
}
Die Hauptidee ist: die Meta-Box mit dem erforderlichen Titel neu zu deklarieren. Ersetzen Sie den Beitragstyp, für den Sie den Standard bearbeiten möchten “Vorgestelltes Bild” Etikett.
Ich habe gerade die Sulotion gefunden.
Hier ist ein Beispiel.
add_action( 'admin_head', 'remove_my_meta_boxen' );
function remove_my_meta_boxen() {
remove_meta_box( 'postimagediv', 'banks', 'side' );
add_meta_box('postimagediv', __('Add a bank image'), 'post_thumbnail_meta_box', 'banks', 'side', 'high');
}
Viel Spaß beim Codieren.
<?php
/*
* Change the featured image metabox title text
*/
function km_change_featured_image_metabox_title() {
remove_meta_box( 'postimagediv', 'my_post_type_name', 'side' );
add_meta_box( 'postimagediv', __( 'NEW TITLE TEXT', 'km' ), 'post_thumbnail_meta_box', 'my_post_type_name', 'side' );
}
add_action('do_meta_boxes', 'km_change_featured_image_metabox_title' );
/*
* Change the featured image metabox link text
*
* @param string $content Featured image link text
* @return string $content Featured image link text, filtered
*/
function km_change_featured_image_text( $content ) {
if ( 'my_post_type_name' === get_post_type() ) {
$content = str_replace( 'Set featured image', __( 'NEW SET TEXT HERE', 'km' ), $content );
$content = str_replace( 'Remove featured image', __( 'NEW REMOVE TEXT HERE', 'km' ), $content );
}
return $content;
}
add_filter( 'admin_post_thumbnail_html', 'km_change_featured_image_text' );
Sie sollten die richtige Antwort als die richtige markieren (Posttyp-Etiketten). weil die anderen wirklich falsch sind!
– Benutzer315338
27. Februar 2020 um 14:34 Uhr