プラグイン

Advanced Excerptに関わる3つの不具合(事象)と2つの原因について

  

ご注意下さい

この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。

0
(0)

記事の紹介文に対して「続きを読む」などのリンクを作成してくれるAdvanced Excerptは非常に便利なプラグインですが、これを導入したことで残念ながら当ブログでは3つの不具合が発生してしまいました。その事象と解決方法についてご紹介したいと思います。

Advanced Excerpt
Control the appearance of WordPress post excerpts
Advanced Excerpt

Advanced Excerpt

 

Advanced Excerptを導入すると発生する不具合について

先にご紹介した通り、何も考えずに導入するとおそらく大抵の人は2つ不具合が出ます。もう一つは設定の誤りですので厳密には不具合ではありませんが気づかずにスルーしてしまうこともある事象です。

Advanced Excerptを導入すると発生する不具合

  1. 抜粋記事の後ろ「続きを読む」の手前の文字が文字化けしていることがある
  2. RSSフィードがエラーとなっており実は出力されていない(分かりづらい)
  3. 記事一覧にて表示される記事紹介文が「本文」からの抜粋、になっており「記事抜粋」からの抜粋になっていない

という事象です。画面キャプチャを見ながら事象について見ていきましょう。

文字化けすることがある

この画面キャプチャを見てもらえれば一目良縁です。

文字化け箇所

これは読者の観点からは非常に気になります。

RSSフィードエラー

これは気づきづらいですがRSSフィードは配信しているサイトの場合、こちらもエラーになっていると思います。https://○○.jp/feedにアクセスして見ください。Internal Server Error 500が出ていませんか?

なかなか確認することもないページなので気づきづらいですが、RSSリーダーで情報を受け取っている読者に通知がいかないことになりますので要注意です。

抜粋する箇所が想定と違う(記事抜粋から抜粋して欲しい)

そして、記事の一覧画面です。一見なんの問題もなさそうに見えますが、実はこれ全て「記事本文」の抜粋になっており、私が紹介用に書いた記事の「抜粋」の抜粋になっていません。記事一覧画面

しかもごちゃごちゃとしており、雑然とした印象です。

原因と対策について

さて、事象を確認したところで対策について見ていきましょう。

文字化けとRSSフィードエラーについて

これは文字化けが原因でRSSフィードエラーも発生しています。ですので文字化けを直すことで2つの対策を打つことができます。

対策としてはマルチバイトに対応していない関数をマルチバイト対応の関数に書き換えることで解消します。下記のsubstr関数をマルチバイト対応のmb_substrと書き換えるだけです。

                                        if ( $finish == 'exact_w_spaces' ) {
                                                $chars = $t;
                                        } else {
                                                $chars = trim( $t );
                                        }
                                        $c = mb_strlen( $chars );
                                        if ( $c + $w > $length && 'sentence' != $finish ) { // Token is too long
                                                $c = ( 'word' == $finish ) ? $c : $length - $w; // Keep token to finish word
                                                $t = mb_substr( $t, 0, $c );
                                        }
                                        $w += $c;
 

抜粋表示が本文からになっている件について

こちらはAdvanced Excerptの設定の見直しが必要です。

Advanced Excerpt設定画面

デフォルトの設定だと「No Custome excerpts」にチェックが入っていることで記事抜粋からではなく本文から抜粋していたようです。

記事は以上。

この記事は役に立ちましたか? | Is this article useful for you?

評価をお願いします | Please leave your rating.

平均 | Av.: 0 / 5. 投票数 | Votes: 0

最初の評価を下さい | Please vote for the first rating.

-プラグイン
-, , , , ,

© 1999 - 2021 蒲田ネット