Luxeritas 1.22 リリース(AMP の仕様変更対応)
Luxeritas 1.22 をリリースしました。
AMP の仕様が変更されるようなので、今のうちに対応。
詳細は、開発者ブログ にて。
ダウンロードは、こちらのページ から。
改訂履歴
AMP の仕様変更対応
- AMP で「今後サポートされなくなります」と表示される部分に関する対応
- ツイッターのツイートを貼り付けても AMP タグに自動置換できなくなってたので、その対応
バグ修正
- タイトルを画像にしている時に画像が小さすぎると(srcset が作れない程度の小ささの場合)AMP ページでタイトル画像が表示されないことのあるバグの修正
- ヘッダーに枠線を付けた状態でコンテナの内側にした場合、ヘッダー帯メニューの両脇がコンテナより 1px ほど大きかったので CSS 調整
ディスカッション
コメント一覧
るなさん。
度々すみません。
ギャラリーのAMP対応をしていただいたので、ギャラリーをちゃんと使ってみようと思い、ギャラリーの写真をクリックしたときの動作として、リンク先を「添付ファイルのページ」に設定してみましたが、そのページのAMPテストをしてみると文法エラーがでました。
こちらで何か確認・設定することがありますでしょうか。
176r さん。
もともとアタッチメントのページは AMP に対応させてないのですが、
リンクが作られちゃってましたね。次のバージョンで対応します。
ただ、リンクがあっても本来 404 Not Found になるはずなのですが、
なぜ 176r さんのページでは AMP のページがあるのか?が分からないですね。
当方の環境だと、どんなパーマリンク設定にしても 404 にしかならないのですが。
るなさん。
確認ありがとうございます。
自分がこのページでAMPのエラーになる(というか、AMPページがある)と気づいたのは、GoogleのWebmastersツールのAMPのところで、これらのページが重大なエラーになってたからで、ここもちゃんとAMPページがあるんだなーと思ってチェックしてみた・・・というような状況です。
うーん、なんかおかしな設定しちゃったか他のプラグインとかが影響してるんでしょうかね。
Function.phpの中身も、コピペ利用でご迷惑をおかけしちゃってますし・・・。
176r さん。
アタッチメントのページにも amphtml が設定されてしまうバグがあるため、その部分に関しては次バージョンで修正します。
ただ、本来は 404 になるはずなので、何かがおかしいですね。。。なんだろう?これ?
いろいろ試してみても、当方で再現できないんです・・・ (・ω・`)
るなさん。
関係してるかわかりませんが、自分のページで1か所だけ、AMPを無効にしてるページがあります(下記のURLに記載)が、そこのページも/ampってやるとアクセスできちゃうんですが、これって仕様でしょうか。
176r さん。
仕様です。
パーマリンクが静的な URL を設定してある場合は、リダイレクトルールで全ての投稿・固定ページに /amp という URI を設定するので、そうなります。
WordPress には AMP というプラグインがありますが、これは、WordPress を AMP 化するプラグインの中で、ほぼ公式の扱い(WordPress 開発メンバーが参加している)になっています。
Luxeritas では「Luxeritas をやめて、他のテーマに移行したい」という場合にスムースに移行できるように配慮して作っているため、上記プラグインと同じ仕組みで AMP の URI を生成しています。
個別に AMP を無効化しても URL 直打ちでアクセスした場合は、元のページと全く同じ内容で AMP ではないページが表示されます。
しかし、canonical は元のページであり、amphtml も無いためコピーページとは認識されず SEO 面でも問題が無いのです。
とどのつまり、WordPress でパーマリンクを設定した場合に、元ページのコピーが作られるのと同じ原理です。
るなさん。
すみません。先ほど、コメントを送信した際に、ちょっと動きがおかしかったのでご報告です。
reCAPTCHAのチェックをいれてからしばらく放置し、コメントを送信した際に、
reCAPTCHAでは「タイムアウトしました」的なメッセージが表示され、あたかも送信できなかったような雰囲気でしたが、実際にはコメント自体は送信できていました。
ちょっと気になったのでご報告でした。
176r さん。
過去に Google reCAPTCHA の認証に成功してるからです。
Google reCAPTCHA の仕様なので、当方ではどうにもならないです。
るなさん。
1.21でのギャラリーのAMP対応ありがとうございました。
また、今回のAMP仕様の変更に伴う素早い対応に改めてびっくりしています。すごい対応スピードです。
先ほど1.22を試したところ、ampページにて一部表示がおかしくなる部分がありました。
当方のページでは、アクセス端末を判断して、モバイルなら電話用バナーをショートコードにて表示するようにfunction.phpに必要な記述をしていますが、1.21では正常に表示(1か所)されていましたが、1.22ですと、当初の予定部分のほかに、ヘッダー直下にも追加で表示(2か所)されるようになりました。
AMPの仕様変更に対応するために AMP 用ウィジェットなどの中身をチェックするようにされたということだったので、もしかしたらその辺で何かあるのかな、と思いまして質問でした。
よろしくお願いいたします。
176r さん。
ページのソースを拝見させていただきましたが Luxeritas のバージョンが 1.21 に戻されてるようなので、状況が把握できませんでした。
恐らく AMP 用ウィジェットにショートコードを記述しているであろう?と思われますが、当方ではウィジェットに記述した内容が重複するといった現象が再現できないので、もう少し詳しく状況を教えていただけませんでしょうか?
・ショートコードの中身
・どこのウィジェットにショートコードを記述しているのか?
・「予定部分」と「ヘッダー直下」と書かれている位置はどこか?
・問題が発生している実物か画像(できれば実物)
むしろ、逆のパターンのバグが見つかり申した。
AMP と 非AMP が対応してるウィジェットで 非AMP のウィジェットが空っぽの場合、AMP用のウィジェットも表示されないバグ
例:「ヘッダー下ウィジェット」が空っぽだと「ヘッダー下ウィジェット(AMP用)」が表示されない。
こちらは、次のリリースで直しますー。
るなさん。返信ありがとうございます。
うっかりそのまま1.21のままでした。
・ショートコードの中身
該当のコードは以下になります。
(PHPにはあまり詳しくなくて、基本コピペ+部分修正です・・・。)
・どこのウィジェットにショートコードを記述しているのか?
ウィジットではなくて固定ページの一番上です。
もう少し詳しく書くと、ホームに設定している固定ページの一番上になります。
・「予定部分」と「ヘッダー直下」と書かれている位置はどこか?
・問題が発生している実物か画像(できれば実物)
1.21と1.22のスクリーンショットを用意しました。(説明つき)
ウェブサイトのあるURLにアクセスしてみてください。
よろしくお願いいたします。
176r さん。
shortcode で直接 echo してしまってるのが原因です。
shortcode は the_content にフィルターするので、echo ではなく return でないと
Luxeritas に限らず、どのテーマでも、意図した位置に表示されない可能性があります。
参考: ショートコード API
↓
↓ それ以外で気になる部分。
配列の連結+正規表現は遅いので
↓ この方が速いです。
AMP かどうかの分岐に意味があるのか分かりませんが、
↓ とりあえず、この方が良いです。
るなさん。
ご指導ありがとうございます。
アドバイスをもとに変更したら問題なく表示されるようになりました。
AMPのコードかどうかの部分については、v1.20を導入した際に、imgタグがamp-imgにならなくてエラーになってしまったので、自分なりに考えて、対策をした部分でした。
returnで返したらちゃんとimgタグがamp-imgタグに変換されてましたので、分岐は必要なくなったのでやめました。
echoが色々な問題を起こしていたんですね。教えていただいたショートコード APIの中にもそのようにかいてありました。うーん、とりあえず使うのってだめですね・・・。勉強になりました。ありがとうございました。