掲題の通りthe_excerpt()関数の挙動がCodexの解説の通り動作していないようでしたので、ここで質問させていただきます。現在私のWordPressサイトではOGP生成を半自動で行なうために、header.php内に関数を使ってOGP情報を入力しています。その中でページが[記事]だった場合には下記のコードを出力するようにしていました。/>ところが、いつのバージョンか特定できていないのですが、ページの先頭部分に記事が混入して表示がおかしくなっていました。Patch」を除くすべてのプラグイン&テーマを停止、キャッシュ削除してみても改善は見られませんでした。【解析】ソースを見てみると該当のog:descriptionのcontentの中身にHTMLタグを含んだ55文字以上の内容が入り込んでいるためでした。下記Codexの説明によれば、(more)までの記述をHTMLのタグや画像を除去した状態の55文字を抜き出す...とあるのですがうまく動作していないように見えます。Patch」だと思っているのですが、HTMLのタグが混入しているのが不思議です。【現状】metaタグの中に本文注のHTMLタグを含む内容が混入するのは見た目にも構文的にもよろしくないので、現在はstrip_tags関数を使い下記の通り除去しています。/>($allow_tagsの中身は空)出力されたdescriptionもなんだかなぁという感じなので将来的にはマニュアル入力しようと思っています。以下のようにしてますね。期待通りになるかもです。お使いの場合に自動生成される投稿抜粋のデフォルトの長さは、110文字です。使っていてもいなくてもHTMLタグが取り除かれた形で抜粋が自動生成されます。抜粋欄が空でない場合は抜粋欄の内容がそのまま出力されます。110文字(日本語)、なしだと55文字(日本語)でした。自動的な抜粋では、htmlは除去されていました。(index.phpとかのリスト形式のループの中)抜粋欄入力は、そのまま。フィルタは、プラグインだけでなくテーマなどでも使うので、テーマでフックを使って何かしていないか調べてみるといいんじゃないかと思います。Miyauchiさんコメントありがとうございます、なるほど確かにfeed.phpで出力されるものは正しく取得できているようですね。こちらはget_the_excerpt()を使ってるようです。Codexで調べてみたのですが、こちらの方が用法としては正解なんでしょうか、the_excerpt()関数だと段落や改行まで含まれてしまうようですね。Patchを使っている場合は抜粋される文章の長さはディフォルトで110文字に設定されるんですね、勉強不足でした。the_excerpt関数については、もしかしてマルチバイトが関連してなにかの文字が特定の条件で文字化けするのでは...と思っていたんですが(関数の処理の中でマッチング時に化けるなど)テーマでなんらかの問題がある可能性もあるので、もう少し調査してみます。4ヶ月前To:nobitaさんはじめまして、わざわざお調べいただきありがとうございます。Patchの標準設定で110文字になるようですね。(バイトでなくて文字でカウントするところがすごいですね)he_excerpt関数はテーマも関連があるとのこと、情報ありがとうございます。使用しているテーマ側でなにかフックがかかって処理を行っていないか調査してみます。今回の件で初心者ながら色々調べてみてしらないことが沢山ありました。phpの関数処理については駆け出しのところもありますが、これを機会になにげなく使っているプラグインやテーマがどんなことをしているのか、勉強してみようと思います。回答いただいたお三方ありがとうございました。(全7件中)トピック「the_excerpt()関数の挙動について確認したい」には新たに返信することはできません。