register Block variation

例: カスタム投稿タイプの検索ブロック バリエーション

デフォルトでは、検索ブロックはquery属性をオブジェクトとして渡すことができます。これは、検索結果を絞り込んで、カスタム投稿タイプまたは分類法の結果のみを返す場合に役立ちます。

Podcast の投稿タイプがあり、Podcast のランディング ページで検索フォームを使用できるようにしたいとします。その検索で Podcast 投稿タイプの結果のみが返されるようにします。

wp.blocks.registerBlockVariation('core/search', {
    name: 'core/search',
    title: 'News Search',
    icon: 'search',
    scope: ['inserter'],
    attributes: {
        query: {
            post_type: 'news'
        }
    }
});

How to Use Block Variations in WordPress


https://richtabor.com/block-variations/


https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/#example-optional

wp.blocks.registerBlockVariation(
	'core/cover',
	{
		isDefault: true,
		attributes: {
			align: 'full'
		},
	}
);

https://ulrich.digital/block-variations/

関連するmemo

search_columns検索クエリで検索するフィールドを制御する引数の導入

以前は、sメソッドの引数は、、およびフィールドWP_Query::parse_query()を検索していましたが、フィルタを使用して手動で SQL を調整する以外にこれを制御する方法はありませんでした。post_titlepost_excerptpost_contentposts_search

WordPress 6.2 では、引数を使用して、クエリを実行するときに検索するフィールドを指定する機能が追加されましたsearch_columns

現時点では、デフォルトのpost_title,post_excerptおよびpost_content列のみが許可されていますが、WordPress の今後のリリースで拡張される可能性があります。

引数のデフォルト値は  search_columns次のとおりです array( 'post_title', 'post_excerpt', 'post_content' )

以下の例では、  抜粋(列)fooに含まれる投稿を検索し、列を除外します。

<?php
$my_query = new WP_Query(
    array(
        's'              => 'foo',
        'post_type'      => 'post',
        'search_columns' => array( 'post_excerpt' ),
    )
);

詳細については、チケット#43867を参照してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

[emulsion_relate_posts]