Ir ao conteúdo
  • Cadastre-se

WordPress Alterar LAbel de plugin wordpress


Ir à solução Resolvido por DiF,

Posts recomendados

Boa tarde,

Estou finalizando um site (restaurante) wordpress e no plugin de reservas tem um Label escrito TEMPO, não consigo acha de onde ele puxa, quero escrever HORÁRIO

 

<div class="rtb-text time">
                <label for="rtb-time">            Tempo        </label>
        <input type="text" name="" id="rtb-time" value="" required="" aria-required="true" readonly="" class="picker__input" aria-haspopup="true" aria-expanded="false" aria-readonly="false" aria-owns="rtb-time_root"><input type="hidden" name="rtb-time">
    </div>

 

Tem alguma forma de substituir o texto da LABEL através de css?

 

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Bruna Siqueira Olá,

 

Sim, exatamente, se não está no HTML, é bem provável que está definido no CSS.

Você deve procurar a regra css para este <label>  e procurar ali o pseudo elemento  "before".

 

Por exemplo:

.time label::before{
   content: "Horário";
}

Mas lembrando que  que se tiver no HTML, retire a palavra tempo, para não ficar as duas.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, DiF disse:

@Bruna Siqueira Olá,

 

Sim, exatamente, se não está no HTML, é bem provável que está definido no CSS.

Você deve procurar a regra css para este <label>  e procurar ali o pseudo elemento  "before".

 

Por exemplo:


.time label::before{
   content: "Horário";
}

Mas lembrando que  que se tiver no HTML, retire a palavra tempo, para não ficar as duas.

 

adicionado 1 minuto depois

@DiF você foi top nessa! foi exatamente o que aconteceu, a label apareceu o rotulo novo, mas não sumiu o outro, o problema é esse, eu não consigo localizar de onde o plugin está puxando esse rótulo, achei que colocando "!important" ele puxaria somente minha alteração

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Bruna Siqueira Pois é.. pelo seu exemplo no código, a palavra tempo consta diretamente no HTML.

Então, se não conseguir achar onde exatamente ele inclui essa palavra, se é pelo plugin de reserva ou se é no html direto..

Pode ser que uma alternativa seria usar o jQuery e alterar a palavra.

 

Por exemplo:

$("label[for='rtb-time']").text('Horário);

Veja o exemplo acima funcionando: http://jsfiddle.net/dife/3x1vyb47/1/

 

Repare que no HTML consta a palavra "tempo", mas no resultado aparece a palavra "Horário". Porque foi definido via jQuery a substituição.

 

Não chega a ser uma gambiarra. Mas pode ser uma solução válida, se você não achar a palavra para retirar, pois é sabido que o texto via css no before, é muito mais rápido para ser carregado do que por javascript.

Mas as vezes não tem outra alternativa a não ser o javascript. :thumbsup:

 

PS: se puder mostrar o código do plugin de reservas, talvez possamos lhe ajudar melhor!

 

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Bruna Siqueira Sim, o código em jquery não funcionará, a menos que de fato você importe o jquery em seu <head> ou antes de fechar o <body> :thumbsup: 

 

De qualquer forma, vou tentar analisar o código para ver se consigo entender!

 

PS: Eu costumo usar o CDN para importar o jquery desta forma:

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Usando o CDN, você garante que sempre terá a versão atualizada do jquery! 

Link para o comentário
Compartilhar em outros sites

valeu a força @DiF 

a forma que você falou sobre colocar no head da pagina 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
    $("label[for='rtb-time']").text('Horário');
    </script>

não funcionou ainda, mas se você conseguir achar algo no codigo do plugin ia ajudar demais pro meu cliente parar de encher por causa de uma palavra

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderador
  • Solução

@Bruna Siqueira Ahh perdão... esqueci de mencionar que o código em jquery tem que ser em uma tag script separado.

 

Primeiro, importa assim:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Abaixo disso coloca assim:

 

<script type="text/javascript">
$(document).ready(function(){
       $("label[for='rtb-time']").text('Horário');
    });
</script>

O que deixei de dizer que para o código em  jquery funcionar, você precisa indicar que só vai ser executado depois que o dom estiver carregado. 

Por isso a importância de:

 $(document).ready().

 

 

Edit:

Não é nada fácil debugar um código que não é próprio. Inicialmente tentei ver o arquivo de tradução contida na pasta languages.  Usei um programa chamado "POedit" que serve para criar e editar traduções de plugins no wordpress.  

Para minha surpresa, o campo "time" ali consta como "Horário" E não tempo.

 

O que me levou a crer que ele estava puxando a palavra de outro lugar.

vasculhando os arquivos linha a linha, encontrei no arquivo  Settings.class.php as seguintes linhas

 

1) 464

  onde diz:  'time_label'  => _x('Time', 'Label of to select Time...') 

Vide a imagem abaixo onde está grifado em amarelo

CGNvhDE.png

 

No caso, se for editar, edite apenas a palavra "Time". Já a palavra time_label deixe em inglês

2) 921

    

onde diz:  'time'  => array(
                     'title'     =>__('Time','restaurant-reservations')  

Vide a imagem abaixo onde está grifado em amarelo

3iTCcoT.png

O mesmo vale para este. Mude apenas a palavra "Time".

 

Este segundo, pode realmente ser o campo que você deseja mudar porque no comentário da linha 910 indica que são relacionados aos campos de um formulário. 

 

Já aquele trecho que você postou no primeiro post do tópico, eu provavelmente achei em um dos arquivos, mas ele está totalmente em php, ou seja, montando o formulário de forma dinâmica, que pelo que vi puxa os dados que mostrei nestas imagens.

 

Posso estar completamente enganado... mas se não funcionar alterando as palavras que mostrei nas imagens,  experimenta ver se aquele código em jQuery que postei mais acima deste mesmo post #08.

 

O wordpress, usa bastante o jQuery, então creio que aquele código que postei por último poderia funcionar.

De qualquer forma, tudo que eu falei foi na base do que vi nos códigos. Não tem como eu testar aqui para ver se funciona...

 

Ah e lembre-se de uma coisa muito importante:  Antes de fazer as tais mudanças, sempre faça um backup dos arquivos!

 

No aguardo.

Att,

Moderador DiF

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Moderador

@Bruna Siqueira Fico feliz em poder ajudar!!

 

Poderia por gentileza informar o que exatamente onde arrumou?  Já que eu apresentei duas possibilidades de solução!

Desta forma, vamos ajudar outros usuários que estiverem com esta mesma dúvida!

 

PS: Caso queira, podes marcar um post como melhor resposta clicando na bolinha cinza com um "v" ao lado esquerdo do nome de usuário! :thumbsup:

 

Link para o comentário
Compartilhar em outros sites

Fui direto ao plugin e corrigi as duas linhas do arquivo Settings.class.php. 

E tudo funcionou, mas depois verifiquei e a possibilidade anterior também havia funcionado quando coloquei o codigo:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
    $("label[for='rtb-time']").text('Horário');
    </script>

dentro do js do plugin! vou marcar o post, obrigada!

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...