Quantcast
Channel: 神戸ホームページ制作会社ユニファースの代表ブログ
Viewing all articles
Browse latest Browse all 218

【WordPress】記事投稿で、文字列の削除や書き換えを行う方法

$
0
0

WordPressに書いた記事をそのままHTMLメールで送るという設計をしているサイトがあります。そのメールにいつもよくわからない箇所へ「?」が入るのが気になっていました。

元記事は、こちら。ソースコードは下のようになっています。

どうやら赤枠にあるスペースが原因だと思います。普通のスペースでは無いことが原因で、メール配信の際に文字化けが起こり、「?」に変換されているのでしょう。

クライアントに随時「このスペースを削除してください」というのは酷です。従って、プログラム側で何とかする必要があります。

そこで今回の設計は、

  1. 「公開」ボタンを押すと自動的に件のスペースを通常スペースへ書き換える

という方針にしました。そのコードは以下の通り。

//---------------------------------------------------------------------------
//	記事文章の変更
//---------------------------------------------------------------------------


function replace_post_data($data, $postarr){

$content = $data['post_content'];

$array = array (
 ' ' => ' ', //文字化け「?」の修正
);

$content = strtr($content, $array);

$data['post_content'] = $content;

return $data;
}
add_filter('wp_insert_post_data', 'replace_post_data', '99', 2);

$array の箇所はいくらでも追記出来るので、やりたい事に応じてアレンジして下さい。

これで記事自体から変なコードのスペースは消えました。メールからも「?」が消えて無事解決しました。

参考:https://worklog.be/archives/2108


Viewing all articles
Browse latest Browse all 218

Trending Articles