it-swarm-pt.tech

Como mudar o texto no backend wp-admin?

Eu não quero editar arquivos principais para mudar a página onde um usuário digita novos posts, então existe uma maneira de fazê-lo dentro de um tema, talvez dentro de functions.php ..?

Especificamente, estou tentando alterar a redação do texto "Definir imagem em destaque" para algo como "Definir imagem em destaque - 50 pixels por 50 pixels"

4
cannyboy

Você pode usar o filtro admin_post_thumbnail_html:

function custom_admin_post_thumbnail_html( $content ) {
    return $content = str_replace( __( 'Set featured image' ), __( 'Set featured image - 50 pixels by 50 pixels' ), $content );
}

add_filter( 'admin_post_thumbnail_html', 'custom_admin_post_thumbnail_html' );
11
sorich87

Uma maneira é usar o código jQuery cuidadoso inserido no cabeçalho do administrador para modificar o texto dentro de uma parte específica da página. Você precisa ser capaz de direcionar uma tag div/span/html específica para fazer isso, mas esse sistema permitirá que você edite qualquer parte da página mesmo que não haja filtro (embora a resposta de Sorich tenha um excelente filtro para o caso de uso da sua pergunta, minha resposta se aplica mais geralmente à sua própria pergunta).

Usei o código abaixo para alterar a caixa de imagem em destaque em 2.9 para dizer "imagem em destaque" em vez de "post thumbnail" porque os rótulos mudaram em 3.0 e queria que meu site antigo usasse a nova terminologia antes de atualizá-la.

Observe que o código manipula a caixa pop-up e o metabox e usa algumas funções jquery AJAX para garantir que o conteúdo seja modificado novamente após pageloads no iframe.

/**
 * Use jQuery to add context to the Featured Image metabox on post editing pages
 * and to change the label to be Featured Image instead of Post thumbnail in WP 2.9 
 * before the label changed.
 *
 * See javascript for info on removing these as they become part of the AP API
 */
function gv_admin_featured_image_tweaks() {
    ?>
<script type="text/javascript">
    jQuery(document).ready(function($) {
        /**
         * TEMPORARY: SWITCH VARIOUS LABELS TO SHOW FEATURED IMAGE INSTEAD OF POST THUMBNAIL
         * REMOVE WHEN 3.0 COMES OUT AND THIS IS THE DEFAULT LABEL
         */
        $('#postimagediv h3 span').text('Featured Image');
        // Only change the set thumbnail text if its that, otherwise we end up replacing the img tag when it is set
        if ($('#postimagediv #set-post-thumbnail').text() == 'Set thumbnail') {
            $('#postimagediv #set-post-thumbnail').text('Choose Featured Image');
        }
        $('#postimagediv #remove-post-thumbnail').text('Remove Featured Image');

        // label inside media item details in popup
        $('.wp-post-thumbnail').text('Use as Featured Image');
        // refresh inside media item for after upload finishes.
        $('body').ajaxComplete(function() {
            $('.wp-post-thumbnail').text('Use as Featured Image');
        });

        /**
         * Add a description of how we use featured images. should be replaced with a description parameter in the API
         */
        $('#postimagediv .inside').prepend('<p>This image will be used in the featured posts slider if this post is featured. It should be at least 400px wide by 300px tall.</p>');
    });
</script>
    <?php
}
add_action('admin_head', 'gv_admin_featured_image_tweaks');
5
jerclarke

Solução mais fácil aqui:

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');
}

A idéia principal é: declarar novamente a meta-box com o título requerido. Substitua o tipo de postagem para o qual você deseja editar o rótulo padrão " Imagem em destaque ".

0
Reza Mamun