Znam się na tworzeniu samozamykających się skrótów, takich jak:
// 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' );
ale chciałbym zacząć dodawać je do TinyMCE. Przeprowadziłem kilka wyszukiwań, ale wszystkie wyniki wyszukiwania są datowane lub stosują podejście, które nie jest już zalecane:
- Jak dodać przycisk shortcode do edytora TinyMCE? : doskonały punkt wyjścia, ale pytanie powstało w 2012 r.
- Skróty WordPress: kompletny przewodnik : dobry artykuł, ale z 2012 roku i używa,
query_posts()
ale można go ulepszyć - Przewodnik po tworzeniu własnych przycisków edytora WordPress : to przyjemny artykuł, ale jeszcze od jakiegoś czasu 2013, ale nie obejmuje podstaw ani podstaw korzystania z TinyMCE.
Wiem, że Deweloper wciąż znajduje się we wczesnej fazie rozwoju, ale Podręcznik Wtyczki mówi tylko krótko o ulepszonych skrótach TinyMCE i API Shortcode i add_shortcode()
nie wspomina o TinyMCE.
To prowadzi mnie do mojego pytania. Jaka jest podstawowa procedura przekształcania samozamykającego się skrótu w klikalny przycisk w edytorze TinyMCE?
plugin-development
shortcode
tinymce
DᴀʀᴛʜVᴀᴅᴇʀ
źródło
źródło
Odpowiedzi:
Zaczynamy od dodania niestandardowego przycisku TinyMCE:
Następnie deklarujemy i rejestrujemy nowy przycisk:
Na koniec decydujemy, które przyciski (więcej na temat przycisków można znaleźć w sekcji Formatowanie treści ), które chcemy wyświetlić. Oczywiście, jeśli masz na myśli UX, wyświetlisz tylko kilka z nich, na przykład:
Jak widać w
add_tinymce_plugin_custom_em
funkcji, deklarujemy wewnątrz plik javascriptget_template_directory_uri() .'/plug/custom-em/custom-em.js'
Utwórz
custom-em.js
plik, a będziesz miał dwa sposoby, aby to zrobić.Możesz przejść do następującego formatu krótkiego kodu
[shortcode foo="" bar=""]
lub[shortcode][/shortcode]
.Zacznijmy od
[shortcode foo="" bar=""]
formatu:Jak widać, używamy obrazu jako ikony przycisku. Możesz to zmienić na tekst, jak opisano w poniższym przykładzie.
Oto, czego używamy na naszej własnej platformie, otacza wybór
<em class="whatever">hello world</em>
:Opublikuj wyniki i wprowadź zmiany. TinyMCE jest zarazą i wymaga bólu głowy, ale można ją rozwiązać we współpracy.
źródło