Skip to content

Latest commit

 

History

History

TermSearchControl

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

TermSearchControl

The TermSearchControl component allows for live searching the terms in a taxonomy. It is ideal for use with taxonomies with a high number of terms, where returning all of them in a single query is not possible. It wraps a FormTokenField component, and is based off of the taxonomy controls in the Query Loop block.

Usage

To use this component, you need to pass a taxonomy slug and an array of term IDs as termIds to TermSearchControl, as well as an onChange callback that accepts an array of term IDs.

import { TermSearchControl } from '@humanmade/block-editor-components';
import { InspectorControls } from '@wordpress/block-editor';
import { PanelBody } from '@wordpress/components';

/**
 * Block edit view.
 *
 * @param {object} props - Component props.
 * @returns {ReactNode} Component.
 */
const Edit = ( props ) => {
	const { attributes, setAttributes } = props;
	const { tags } = attributes;

	return (
		<InspectorControls>
			<PanelBody>
				<TermSearchControl
					taxonomy="post_tag"
					termIds={ tags }
					onChange={ ( tags ) =>
						setAttributes( { tags } )
					}
				/>
			</PanelBody>
		</InspectorControls>
	);
}

Additionally, you can pass a label to override the default label. The default label displays in the format 'Filter by {taxonomy name}>'.

<TermSearchControl
	label="Override label text"
	taxonomy="post_tag"
	termIds={ tags }
	onChange={ ( tags ) =>
		setAttributes( { tags } )
	}
/>

Dependencies

The TermSearchControl component requires the following dependencies, which are expected to be available:

  • @wordpress/components
  • @wordpress/compose
  • @wordpress/core-data
  • @wordpress/data
  • @wordpress/element
  • @wordpress/html-entities
  • @wordpress/i18n