質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Gutenberg(エディタ)

Gutenbergとは、WordPressに導入されているエディタです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

419閲覧

ワードプレスのGutenberg対応「block lab」プラグインについて

web11

総合スコア52

Gutenberg(エディタ)

Gutenbergとは、WordPressに導入されているエディタです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/05/24 17:38

「block lab」プラグインの問題点

オリジナルのブロックを作成することができるプラグインなのですが、このプラグインを使って作成したオリジナルブロックは、抜粋文(<?php the_excerpt(); ?>)を記事一覧ページ等で表示したい場合このブロックのテキストは無視されるようです。こちらを無視しない設定を教えてほしいです。(できれば、ブロックごとで設定可能)

試したこと

Field Typeをtitleからtextareaに変更するなどプラグインのオプションを弄りましたが、抜粋表示されませんでした。

##標準で用意されているものを使いたくない理由
Gutenbergで標準ので用意されているものはieでもレイアウト崩れなく表示されますが、display gridが使われている関係上リスク対策で極力、使用したくないです。

また、block labより良いプラグインがある場合、そちらを教えていただけると助かります。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

前提として...

the_excerpt() は、テンプレートタグ/the_excerpt

また、抜粋のコンテンツからは HTML タグと画像は取り除かれます。このタグはループ内でのみ使えます。

あるように 「HTML タグ」と「画像」は取り除くとあります。
HTML のコメント <!-- コメント --> も取り除かれます。


前提をふまえて、Block Lab プラグインが保存したデータを確認すると

<!-- wp:block-lab/myblock1 {"MyField":"テスト"} /-->

のようにコンテンツ部分も含めて、すべての部分が HTML コメントになっています。
そのため、the_excerpt() で抜粋を表示させると HTMLコメントなので削除されて表示されません。

なお、標準のブロックの場合は、

<!-- wp:paragraph --> <p>段落ブロックテスト</p> <!-- /wp:paragraph -->

のように HTML コメントに挟まれていますが、コンテンツ部分はコメントになっていませんので、コンテンツ部分は HTML タグ等を取り除いて表示されます。


どのようなブロックを定義されているのか不明なので、the_excerpt() で、オリジナルブロックを表示するための概略だけですが...

the_excerpt() で抜粋を作る処理を修正することになると思います。
the_excerpt() の中で呼び出されている get_the_excerpt HOOK あたりで、

  1. do_blocks()関数で、投稿の中のブロックを展開する
  2. 展開した結果から抜粋を作成する
  3. 作成した抜粋を返す

のような関数を呼び出すことになるのではないかと思います。

ブロックを展開して、抜粋に全文を表示する例:

function get_excerpt_tt264557($excerpt, $post){ $content = do_blocks($post->post_content); // ブロックを展開 // 抜粋を作成する処理をここ書くこと。 return $content; // 結果を返す } add_filter('get_the_excerpt', 'get_excerpt_tt264557', 10, 2);

投稿2020/05/25 06:39

編集2020/05/25 06:41
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

web11

2020/05/25 10:02

知識が不足していて、質問が拙いににも関わらず、詳しく回答していただき、ありがとうございます。 ワードプレスのプラグインの編集は少しハードルが高そうなので、もっとレベルが上がったら挑戦してみようかと思います。 ベストアンサーに選ばせていただきます。重ねて、ありがとうございました。
CHERRY

2020/05/25 11:01

記載したコードは、プラグインの改変ではなくて、テーマの functions.php に記載する HOOK です。 WordPress は、予め処理を追加できるように HOOK と言われる処理が用意されており、functions.php に記載することで WordPress 標準の機能に追加したりできます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問