ここでは、editor.Autocomplete.completers フィルターを使用して略語補完機能を追加する例を示します。@wordpress/components パッケージ内の Autocomplete コンポーネントに関するオートコンプリートインターフェースの完全なドキュメントを見つけることができます。

  1. // Our completer
  2. const acronymCompleter = {
  3. name: 'acronyms',
  4. triggerPrefix: '::',
  5. options: [
  6. { letters: 'FYI', expansion: 'For Your Information' },
  7. { letters: 'AFAIK', expansion: 'As Far As I Know' },
  8. { letters: 'IIRC', expansion: 'If I Recall Correctly' },
  9. ],
  10. getOptionKeywords( { letters, expansion } ) {
  11. const expansionWords = expansion.split( /\s+/ );
  12. return [ letters, ...expansionWords ];
  13. },
  14. getOptionLabel: acronym => acronym.letters,
  15. getOptionCompletion: ( { letters, expansion } ) => (
  16. <abbr title={ expansion }>{ letters }</abbr>,
  17. ),
  18. };
  19. // Our filter function
  20. function appendAcronymCompleter( completers, blockName ) {
  21. return blockName === 'my-plugin/foo' ?
  22. [ ...completers, acronymCompleter ] :
  23. completers;
  24. }
  25. // Adding the filter
  26. wp.hooks.addFilter(
  27. 'editor.Autocomplete.completers',
  28. 'my-plugin/autocompleters/acronym',
  29. appendAcronymCompleter
  30. );