この記事は最後に更新してから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


お勧め

esc_attr(2021年4月19日 更新)

string esc_attr( string $text )
テキスト内のHTMLタグ属性をエスケープする。具体的には、パラメータ$textの中に含まれている特殊文字をHTMLエンティティに変換したテキストを取得する。

wp_get_theme(2022年4月6日 更新)

WP_Theme wp_get_theme( [ string $stylesheet = null [ , string $theme_root = null ] ] )
テーマ情報(WP_Themeオブジェクト)を取得する。

delete_option(2019年4月24日 更新)

bool delete_option( string $option )
サイトオプションを削除する。

get_self_link(2019年11月22日 更新)

string get_self_link()
現在のページのURLを取得する。

wp_untrash_post(2020年12月16日 更新)

mixed wp_untrash_post( [ int $post_id = 0 ] )
投稿情報をゴミ箱から取り出す。