サポート » 使い方全般 » ブロックナビゲーションに表示される内容のカスタマイズ

  • norisuke_takahashi

    (@norisuke_takahashi)


    投稿記事の管理画面、ブロックエディタの上記のようなナビゲーションメニューを見た時、「段落」「段落」と表示されるのがデフォルトなのですが

    のように中身(ブログを投稿してください!)を表示されるような機能の実装、またはプラグインがあるそうです。

    グーグルで色々と探してみたのですが結局見つからず。
    どなたかこの実装方法をご存じの方、ご教授いただけますでしょうか。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • こんにちは、お役に立つかどうかわかりませんけど、、、

    テーマのfunctions.phpに

    
    add_filter( 'default_content', 'my_default_content2',10,2 );
    function my_default_content2( $content,$post ) {
    
    return '<!-- wp:paragraph {"placeholder":"ブログを投稿してください!","metadata":{"name":"ブログを投稿してください!"}} -->';
    }
    トピック投稿者 norisuke_takahashi

    (@norisuke_takahashi)

    nobitaさん、ありがとうございます!
    こちらの記述で写真の内容を再現することは可能なのですが、残念ながら段落の内容に応じて柔軟に表示内容を変えることは出来なそうです。

    もしかしたら、ブロックナビゲーションに表示される内容を入力する場所がわからないってことですか?

    それなら、投稿編集画面 右サイドバー「高度な設定」「block name」に入力すると反映しますよ

    こちらの記述で写真の内容を再現することは可能なのですが、残念ながら段落の内容に応じて柔軟に表示内容を変えることは出来なそうです。

    こちら、実現したい事をもう少し正確に教えていただきたいのですが、「ブロックナビゲーションに表示される段落ブロックに関して、ブロック名ではなく段落ブロックに入力されたテキストを表示したい」ということであっていますか?

    また、WordPressバージョンがかなり低いように見えるので、可能であれば最新バージョンにアップデートした方が良いと思います

    トピック投稿者 norisuke_takahashi

    (@norisuke_takahashi)

    Akiさん、ありがとうございます。
    実現したい事ですが仰る通りです。
    wordpressを最新バージョンにすると見出しに関してはそのままリストに表示されるのですが段落がやはりリストには反映されず。
    【段落】
    【段落】
    【段落】
    のような感じになってしまいます。

    nobitaさん、ありがとうございます。
    高度な設定からブロック名を指定するのですが指定する度消えてしまい上記のような感じになってしまいます。

    あ、そういう事だったんですね。

    そうなると、私には解決する方法はわかりませんが、議論はされているようですね。

    既読かもしれませんが、リンクを貼っておきます。

    https://github.com/WordPress/gutenberg/pull/50135

    高度な設定からブロック名を指定するのですが指定する度消えてしまい上記のような感じになってしまいます。

    当初のご要望と意図が違っている気がするのですが、「段落ブロックに入力されたコンテンツを表示したい」のではなく、「ブロックに任意の名前を付けたい」という事になりますか?

    それであれば、WordPress6.4.2の段階では、「高度な設定 > ブロック名」が動作するのはグループブロックのみです。全ブロックに出てしまっているのは意図しない不具合で、WordPress6.4.3で修正される予定です(グループブロック以外でブロック名フィールドがなくなる)。

    またWordPress6.5では、改めてほぼ全てのブロックでこの機能が利用出来るようになる予定です。

    トピック投稿者 norisuke_takahashi

    (@norisuke_takahashi)

    Akiさん、コメントありがとうございます。
    大変参考になります。

    実現したいことは「ブロックナビゲーションに表示される段落ブロックに関して、ブロック名ではなく段落ブロックに入力されたテキスト(文字数が多くなる場合もあるので数文字程度)を表示したい」ということです。

    実現したいことは「ブロックナビゲーションに表示される段落ブロックに関して、ブロック名ではなく段落ブロックに入力されたテキスト(文字数が多くなる場合もあるので数文字程度)を表示したい」ということです。

    ありがとうございます。それであれば技術的には可能ですが、ブロックエディターに関連するJavaScript、React、フックの知識が必要となるので、そこそこ難度は高いかと思います。

    一例として、PHPのアクションフックだけで実現する方法を記載しておきます。適宜JSファイルに切りだしてエンキューするなど調整して下さい。理想的には、このコードが何をやっているかをちゃんと理解して使用する事をお勧めします。

    add_action(
    	'enqueue_block_editor_assets',
    	function () {
    		wp_add_inline_script(
    			'wp-block-editor',
    			"wp.hooks.addFilter(
    				'blocks.registerBlockType',
    				'my-plugin/paragraph/list-view-content',
    				addParagraphListViewContent
    			);
    
    			function addParagraphListViewContent( settings, name ) {
    				if ( name !== 'core/paragraph' ) {
    					return settings;
    				}
    
    				return {
    					...settings,
    				__experimentalLabel( { content, metadata }, { context } ) {
    					const customName = metadata?.name;
    					if ( context === 'list-view' && ( content ) ) {
    						return customName || content;
    					}
    				},
    				};
    			}"
    		);
    	}
    );
9件の返信を表示中 - 1 - 9件目 (全9件中)
  • このトピックに返信するにはログインが必要です。