WordPressのスクリプトでつまずいたことまとめ

うまく動かない...

こうした悩みを解決します。

&が&038に変換される

カスタムHTMLでスクリプト作って複数のAND条件のif文を書くときに困りました。

解決するには、テーマエディターのfunctions.phpにて、

add_filter( 'run_wptexturize', '__return_false' );

を追加します。これは数値文字変換をかけないという処理になります。

調べたところよく出てくるのがこちら。

function my_replace_amp($content) {
return str_replace('&', '&', $content);
}
add_filter('the_content', 'my_replace_amp');

これを追加すればよいということでしたが、解決しませんでした。
&038を&に置換する処理ですね。

こうした問題が発生するのは数値文字参照が原因のようです。
数値文字参照とはUnicodeの文字番号で表記することで、&#〇〇〇〇と表し(〇は固有番号)ブラウザ側で処理してくれるようですが、
WordPressではUnicode表記したら数値でなく文字列として渡すんですかね。