Controlling the Sanity Content Tree
2026-01-04

You can apply display rules to the list of content shown in Sanity Studio to make your workflow more efficient. This time, we'll cover this aspect.

コンテンツ表示項目

今回はブログの Post に関しての実装例となります。今現在 Post に関してのスキーマの定義において、プレビューに関しては以下のように設定をしています。

schemaTypes/post.ts

このコードで表示されるコンテンツの項目は、タイトル、メディア、サブタイトルです。

Image

要素としては3つ利用しており title と media はそのままに、author の部分を編集者名ではなく公開日を指定します。公開日は date と定義しているとして、以下のように変更をします。

schemaTypes/post.ts

結果、以下のように表示が変わりました。

Image

今回に時間の部分は不要で、日付のみを設定したいので、少し変更をします。

schemaTypes/post.ts

結果、以下のように日付のみを表示するようにしました。

Image

表示の調整

上記の画像を参照するとわかりますが、表示されている順番に関しては最近更新したものが一番上に表示されるようになっています。これは、表示順を変更する仕組みは用意されており、以下のように現在は表示されている形です。

Image

表示順を変更するために、以下の ordering の設定を preview の前に今回は追加します。

schemaTypes/post.ts

これで Date, New という選択肢が追加されて、選択をすると日付順となります。なお、日付を記載していない投稿はこのルールの場合は一番上に表示されます。

Image

標準の設定

上記の表示順をデフォルトとして扱うために、Structure の表示設定を変更していきます。まず変更のルールに関してのファイルとして、sanity/structure.ts を作成します。コードは以下の通りです。

sanity/structure.ts

続いてこの設定を反映させるために、sanity.config.ts のファイルを以下のように更新します。

sanity.config.ts

上記の設定変更後、アクセスをすると標準で公開日順として表示されるようになりました。

まとめ

今回はコンテンツの一覧の表示順を変更して、今回はブログサイトのためブログのコンテンツの最新、もしくは下書きのコンテンツが新着順という形で表示を変更しました。これを応用してフィルタする手順などもありますが、今回はシンプルな実装のみで完了させました。