この記事は最後に更新してから1年以上経過しています。

投稿一覧に「投稿フォーマット」フィルターが追加される

説明

WordPress 5.2 Beta2(以降5.2Beta2)のソースコードを眺めていると、投稿一覧ページのフィルター機能に「投稿フォーマット」(select要素)が追加されていた。

「投稿フォーマット」フィルターの表示条件

どんなものが表示されるのか、5.2 Beta2をインストールしたテスト環境で投稿一覧ページ(Posts→All Posts)を表示してみたが、フィルターの表示内容は従来通りの「日付」と「カテゴリー」のみだった。

インストール直後、投稿一覧のフィルターには「投稿フォーマット」がない

あらためてソースコード(/wp-admin/includes/class-wp-posts-list-table.php)を見てみると、使用されている「投稿フォーマット」を取得してそれを表示していることがわかった。

$used_post_formats = get_terms(
	array(
		'taxonomy'   => 'post_format',
		'hide_empty' => true,
	)
);

標準テーマの「Twenty Nineteen」はそのままでは「投稿フォーマット」に対応していない。以下の内容を'after_setup_theme'アクションで呼び出せばよいのだが、ここではテーマを「Twenty Seventeen」に切り替えることにした。

add_theme_support(
	'post-formats',
	array(
		'aside',
		'image',
		'video',
		'quote',
		'link',
		'gallery',
		'audio',
	)
);

初期投稿の「Hello world!」を編集して「ステータスと公開状態(Status & Visibility)」ウィジェットで「投稿フォーマット(Post Format)」を「アサイド(Aside)」にして更新。投稿一覧に戻ってみる。

インストール直後の投稿一覧のフィルターに「投稿フォーマット」が追加されている

このフィルターの「投稿フォーマット」の表示は、テーマのfunctions.phpやプラグインに以下のコードを追加することで強制的に非表示にできる。従来通りの表示の方がよいという方はお試しあれ。

add_filter( 'disable_formats_dropdown', '__return_true' );

最終更新 : 2019年04月12日 10:54


お勧め

wp_get_current_user(2019年6月21日 更新)

WP_User wp_get_current_user( )
現在のユーザ情報を取得する。

sanitize_locale_name(2023年5月22日 更新)

string sanitize_locale_name( $locale_name )
ロケール名をサニタイズする。

the_custom_logo(2018年5月27日 更新)

void the_custom_logo( [ int $blog_id = 0 ] )
カスタムロゴを表示する。

wp_unslash(2016年4月22日 更新)

mixed wp_unslash( mixed $value )
スラッシュでクォートされた文字列のクォート部分を取り除く。

wp_embed_defaults(2011年12月1日 更新)

array wp_embed_defaults( )
投稿記事中に埋め込む動画などのサイズを取得する。