Estou familiarizado com a criação de códigos de atalho de fechamento automático, como:
// shortcode
function wpse_shortcode_example( $wpse_atts ) {
// Attributes
$wpse_atts = shortcode_atts(
array(
'foo' => 'bar',
'width' => '100%',
'height' => 'auto',
),
$wpse_atts,
'wpse'
);
// Return
return '<embed
src="' . $wpse_atts['src'] . '"
width="' . $wpse_atts['width'] . '"
height="' . $wpse_atts['height'] . '";
}
add_shortcode( 'wpse', 'wpse_shortcode_example' );
mas gostaria de começar a adicioná-los ao TinyMCE. Eu fiz várias pesquisas, mas todos os resultados da pesquisa são antigos ou usam uma abordagem que não é mais recomendada:
- Como adicionar um botão de código curto ao editor TinyMCE? : excelente ponto de partida, mas a pergunta foi criada em 2012.
- Códigos de acesso do WordPress: um guia completo : bom artigo, mas a partir de 2012 e que usa,
query_posts()
mas pode ser aprimorado - Guia para criar seus próprios botões do editor do WordPress : é um bom artigo, mas ainda há algum tempo atrás, 2013, mas não cobre o básico ou a base do uso do TinyMCE.
Eu sei que o desenvolvedor ainda está nos estágios iniciais, mas o Manual do plug-in fala brevemente brevemente sobre os códigos de acesso aprimorados TinyMCE e a API Shortcode e add_shortcode()
não menciona o TinyMCE.
Então isso me leva à minha pergunta. Qual é o procedimento básico para transformar um código de acesso automático em um botão clicável no editor TinyMCE?
plugin-development
shortcode
tinymce
DᴀʀᴛʜVᴀᴅᴇʀ
fonte
fonte
Respostas:
Começamos adicionando o botão TinyMCE personalizado:
Então declaramos e registramos o novo botão:
Por fim, decidimos quais botões (mais sobre os botões podem ser encontrados em Formatação de conteúdo ) que queremos exibir. Obviamente, se você tiver o UX em mente, exibirá apenas alguns deles, por exemplo:
Como você pode ver na
add_tinymce_plugin_custom_em
função, estamos declarando um arquivo javascript dentroget_template_directory_uri() .'/plug/custom-em/custom-em.js'
Portanto, crie o
custom-em.js
arquivo e você terá duas maneiras de fazer isso.Você pode optar pelo seguinte formato de código curto
[shortcode foo="" bar=""]
ou[shortcode][/shortcode]
.Vamos começar com o
[shortcode foo="" bar=""]
formato:Como você pode ver, usamos uma imagem como ícone do botão. Você pode mudar isso para o texto, conforme descrito no exemplo abaixo.
A seguir, é o que usamos em nossa própria plataforma, que envolve a seleção
<em class="whatever">hello world</em>
:Poste resultados e faça edições. O TinyMCE é uma praga e requer dor de cabeça, mas pode ser resolvido de maneira colaborativa.
fonte