各投稿の横にツイッター共有リンクがあるWordpressテーマを構築しています
<a class="tw-share-link" href="http://twitter.com/home?status=Currently reading <?php the_article_title() ?>" Target="_blank">Tweet</a>
記事のタイトルにスマート クォートが含まれている場合、引用符は IE8 以下では「?」に置き換えられます。
投稿を保存または更新するアクションに文字列置換を使用する関数をフックして、スマート クォートを通常の引用符に変換してみました。これで問題は解決しませんでした。
?php
function convert_smart_quotes($string) {
//converts smart quotes to normal quotes.
$search = array(chr(145), chr(146), chr(147), chr(148), chr(151));
$replace = array("'", "'", '"', '"', '-');
return str_replace($search, $replace, $string);
}
?>
この問題のトラブルシューティングに関するガイダンスが必要です: + IE8 以下でスマート クォートを処理できるように、何らかの文字セット宣言をコードに追加する必要がありますか? + または、php で Twitter リンクをエンコードして、スマート クォートを通常のクォートに置き換える方法はありますか? 前もって感謝します。
更新: 修正が見つかりました。wptexturize フィルターを削除すると問題が解決します: http://www.malcolmcoles.co.uk/blog/wordpress-smart-quotes/