サイトをAMP対応させる時によく出るエラーのひとつが、A8.net等の広告タグに含まれる「img border="0"」というコードです。(AMPでは img に border を指定してはいけない決まりになっているため)
記事数が少ない場合は1つずつ削除していけば良いですが、記事数が多く個別に対応するのが難しい方のために、全てのAMPページから「border="0"」を一括で削除する方法をまとめておきます。(※「border="0"」だけでなく、border属性を全て除去します)
function.php にコピペする方法
こちらはテーマに関わらず利用できます。(全てのテーマで動作するとは限りませんのでご了承ください)
にコピペするだけですので、通常はこちらの方が楽だと思います。
function.php
add_action( 'pre_amp_render_post', 'xyz_amp_add_custom_actions' );
function xyz_amp_add_custom_actions() {
add_filter( 'the_content', 'my_amp_custom_main_content' );
}
function my_amp_custom_main_content ( $content ) {
$content = preg_replace(array(
'/border="[^"]*?"/iu', // borderを削除
), '', $content);
return $content;
}
このブログは WordPress を使って管理されているのですが、昨今の Google のモバイル表示の猛プッシュとブロ…
THE THOR のテーマファイルを編集する方法
こちらの方法は、テーマ「THE THOR」を使用されている方専用となりますのでご注意ください。
「THE THOR」がAMP用の変換を行っている部分に他にも変更を加えたい方は、こちらを応用できると思います。
編集するファイル
をダウンロード、または
を新規ファイルにコピペして編集します。
編集する部分
54行目(ver.1.3.0)、「スクリプトを除去する」ためのコードの後に、以下をコピペします。
※新規ファイルを作った場合は「convert.php」という名前をつけて保存してください。
convert.php
//border属性を除去する
$the_content = preg_replace('/ +border=["][^"]*?["]/i', '', $the_content);
$the_content = preg_replace('/ +border=[\'][^\']*?[\']/i', '', $the_content);
編集したファイルを子テーマにアップロードする
子テーマのフォルダ直下に「inc」というフォルダを作り(既に他のカスタマイズで作ってある場合はそのまま利用してください)、更にその中に「amp」という名前のフォルダを作ってください。
あとは編集した「convert.php」を「amp」内にアップロードするだけです。
wp-content > themes > the-thor-child > inc > amp > convert.php
全てのAMPページから「border="0"」が除去されているはずですので、Chrome デベロッパーツールや AMP テストで確認してみてください。