Como escapar de um colchete direito em um código curto?
Estou trabalhando em um plug-in do Google Map que codificou pontos. Às vezes, os polígonos têm]], o que faz o WP pensar que é o fim do código de acesso.
Por exemplo:
[my_shortcode latitude='36.93' longitude='-72.98' encoded_points='ortlF~g]tM?cZEH`z]}|@DQfi]' ]
Eu tentei o ]
que não está causando problemas no WP, mas está causando um problema no meu código de mapa do Google. Eu poderia usar o Regex para substituir], mas talvez haja uma maneira mais simples. Shortcode tem um caractere de escape?
str_replace()
deveria fazer o trabalho também. Seria menos recursos intensivos, se o fizesse.Com base na resposta de Johannes Pille, existe a função wp para escapar de colchetes ao usar texto em parâmetros de shortcode:
Muitas vezes, as pessoas sugerem o uso do conteúdo $ do shortcode para parâmetros de texto, mas há casos em que o shortcode possui muitos desses parâmetros de texto.
fonte
Parece haver uma página oficial aqui: Escapando códigos de acesso
Extrair :
fonte
Mesmo se você NÃO estiver brincando com url, use urldecode (your attribute_value) com% 5B e% 5D usados como substitutos para [e] em seu attribute_value.
Seu código pode ficar assim:
Na sua página wp:
[my_shortcode myattr="%5Bmyattribute_value%5D"]
Então, na sua função shortcode, faça o seguinte:
Isso restaurará os caracteres [e] no $ origvalue, para que $ origvalue agora contenha:
[myattribute_value]
DICA: se você estiver jogando com url, faça o mesmo, mas adicione o seguinte ao código da função:
Se isso não estiver claro: SIM, estou usando o urlencode (urldecode (algum valor de $ atts)) para criar uma parte correta de um URL.
Muito simples, espero que isso ajude.
Pierre
fonte
Esta é uma pergunta antiga, mas aqui está uma solução alternativa usando o css. No lugar de chaves, coloque os caracteres em um intervalo, da seguinte maneira:
<span class="bracket">some string</span>
adicione isso à folha de estilo do tema:
o resultado ficará assim:
[some string]
fonte
]
como parte do conteúdo, não sobre como exibi-lo.