WordPress Subscribe2 プラグインはメール送信時にブログ名の文字をエスケープします

StackOverflow https://stackoverflow.com/questions/1329205

質問

私は新しいWordPressブログでSubscribe2プラグインを使用しています(http://www.adlerr.com)。私のブログのタイトルは「ローイー・アドラーのブログ」です。電子メールを送信するときに、Subscribe2 はブログのタイトルのアポストロフィをエスケープし、電子メールの件名は次のように受信されます。

[Roee Adler's Blog] Please confirm your request

電子メールの本文は次のとおりです。

Roee Adler's Blog has received a request to 
subscribe for this email address. To complete your 
request please click on the link below:
...

当然のことながら、タイトルと本文にはブログ名のエスケープされていない「通常の」バージョンを入れたいと考えています。

でこの質問をしました doctype.com 成功しませんでした(ここに質問があります)、ただし、回答から、これにはおそらくプラグインのPHPコードの変更が必要であることが理解できたので、ここで質問したいと思います。

doctype で受け取った回答に従って、コードの次のセクションを変更しました。

function substitute($string = '') {
    if ('' == $string) {
        return;
    }
    $string = htmlspecialchars_decode(str_replace("BLOGNAME", get_option('blogname'), $string));
    $string = str_replace("BLOGLINK", get_bloginfo('url'), $string);
    $string = htmlspecialchars_decode(str_replace("TITLE", stripslashes($this->post_title), $string));
    $string = str_replace("PERMALINK", $this->permalink, $string);

上記のコードに、 htmlspecialchars_decode BLOGNAME と TITLE の両方を生成するためのラッパーですが、電子メールの件名と本文には引き続き次の内容が含まれます。 '.

これを解決するにはどうすればよいでしょうか?

ありがとう

役に立ちましたか?

解決

とおり のドキュメント htmlspecialchars_decode, 、合格する必要があります ENT_QUOTES として $quote_style 変換するための引数 ''. 。設定してみる ENT_QUOTES:

function substitute($string = '') {
        if ('' == $string) {
                return;
        }
        $string = htmlspecialchars_decode(str_replace("BLOGNAME", get_option('blogname'), $string), ENT_QUOTES);
        $string = str_replace("BLOGLINK", get_bloginfo('url'), $string);
        $string = htmlspecialchars_decode(str_replace("TITLE", stripslashes($this->post_title), $string), ENT_QUOTES);
        $string = str_replace("PERMALINK", $this->permalink, $string);

他のヒント

WordPress はブログタイトルのアポストロフィを次のように置き換えます。 ' データベースに保存する前に。これをオーバーライドする場合は、functions.php ファイルを編集して次のステートメントを挿入します。

update_option("blogname", "My Blog's Title With Apostrophe");

これにより、タイトルは入力したものと同じになります。[設定] メニューでブログ タイトルを変更しても、効果はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top