新規投稿時の本文プレースホルダーテキストを変える

説明

ブロックエディターに影響を与えるフィルターは多数存在する。今回紹介するフィルターはその1つで、新規投稿時の本文ブロックのプレースホルダーテキストを変更するものだ。

新規投稿時の段落ブロック

新規投稿時、初期状態の本文は空になり、ブロックエディターでは本文部分に段落ブロックが割り当てられている。この段落ブロックのプレースホルダーテキストは、5.0から『文章を入力、または / でブロックを選択(Start writing or type / to choose a block)』だったが、5.8では次のよう『ブロックを選択するには「/」を入力(Type / to choose a block)』に変更された。

5.8ではプレースホルダーテキストが変更された

これは、従来のテキストがやや冗長な感じだったため、通常の段落ブロックのプレースホルダーテキストに合わせて短めに変更された(参考)。

プレースホルダーテキストを変える

新規投稿時の本文プレースホルダーテキストは、write_your_storyフィルターを使うことで変更できる。このフィルターは5.0でブロックエディターが正式に導入されたタイミングで追加されていたのだが、すっかり見落としていた。

このフィルターを使って実際にプレースホルダーテキストを変更できるか確認する。テーマのfunctions.phpに追加するコードは次の内容になる。

function mytheme_write_your_story( $text, $post ) {
	return date( '今日はY年n月j日です' ) . '😀';
}

add_filter( 'write_your_story', 'mytheme_write_your_story', 10, 2 );

編集したfunctions.phpファイルを更新し、「投稿」-「新規追加」メニューを選択。ブロックエディターの本文プレースホルダーテキストは、次のように変更された。

プレースホルダーテキストを変更した一例

プレースホルダーテキストには、上記のようにHTMLエンティティが指定できる。一方、>や<はエスケープされるため、HTML要素を含めても意図した表示にはならず、テキスト内に改行コードを含めても複数行で表示されることはない。

なお規投稿時の本文プレースホルダーテキストは、この段落ブロックにフォーカスが移った瞬間に『ブロックを選択するには「/」を入力』に切り替わり、以降は切り替わった内容がそのまま維持される。

write_your_storyフィルターを使って、ヒントになるようなメッセージを表示しても面白いのではないだろうか。


最終更新 : 2021年09月09日 15:07


お勧め

get_the_post_thumbnail_caption(2018年5月27日 更新)

string get_the_post_thumbnail_caption( mixed $post = null )
投稿ページのサムネイル(アイキャッチ画像)キャプションを取得する。

wp_enqueue_style(2019年11月25日 更新)

void wp_enqueue_style( string $handle [ , string $src = false [ , array $deps = array() [ , string $ver = false [ , string $media = 'all' ] ] ] ] )
使用するスタイルシート(CSS)を出力用のキューに入れる。パラメータ$srcが指定された場合は、グローバル変数$wp_stylesに登録してから出力用のキューに入れる。

post_class(2018年5月27日 更新)

void post_class( [ string $class = '' [ , int $post_id = null ] ] )
投稿情報の種別に応じたクラス属性(class="post-?? post ...")を表示する。具体的なクラス名は、投稿ID(post-番号)、投稿種別(postやpage)、カテゴリー(category-名前)、タグ(tag-名前)などがある。これらクラス名に合わせたCSSを準備することで、投稿ページのユニークなデザインが表現可能になる。

get_header(2020年8月18日 更新)

void | false get_header( [ string $name = null [ , array $args = array() ] ] )
ヘッダパーツを記述したメインヘッダファイルheader.php(またはサブヘッダファイルheader-???.php)を読み込む。

get_the_excerpt(2018年5月27日 更新)

string get_the_excerpt( [ mixed $post = null$deprecated = '' ] )
投稿情報の抜粋記事を取得する。