特定のプラグインをAMPの時だけ動作させないようにするにはタイトルは簡潔かつ明瞭に・・・なんて考えに考えましたが結局長くなってしまいました(笑)。Consoleのエラーに立ち向かって、どうにかこうにか苦労してほとんどのコンテンツがAMP対応になった、でも・・・で最終的にたどり着くのが今回のようなケースだと思います。独自のhtmlタグに変換しなければならない画像は幅と高さ、扱い方を指定しなければならない独自のスクリプトは原則使用できないといった大原則があります。AMP対応させるためのテーマやプラグインでは正規表現での置き換えコードにより上の2つについては結構確実に変換され、特に気にして記事を書かなくても自動でAMPでもエラーが出にくいようにしてくれます(もちろん例外はありますから自身で対応すべきことも多数あります)。ならないものもあるんです。それが3番目の「独自のスクリプトは原則使用できない」というもの。・・・インスタグラムの埋め込みなど外部からの埋め込みで独自スクリプトを使っているものコンタクトフォームなど本文内にショートコードなどを入れて表示するコンテンツで独自スクリプトを使っているものこれらは残念ながら本文内で切り分けができないのでAMPでの表示をあきらめるか、AMP対応していないページを作って遷移させるか、はたまた使わないようにするかのいずれかしかありません。いずれにしてもパソコン表示(通常のレスポンシブページ)では問題なく使えるわけですから、何も不便な思いをしてまでAMP対応する必要なし!!と割り切って断念される方も多いのではないでしょうか??でもこれが簡単なショートコードで囲むだけで、パソコンとモバイル(パソコン版の縮小表示=レスポンシブ表示)では動作して、AMPページでは動作しないAMPページだけ表示されてパソコンとモバイル(パソコン版の縮小表示=レスポンシブ表示)では表示されないようにできたら・・・AMP対応への道がぐっと広がりますよね??今回紹介するのはこれを実装するためのコードです。すごく簡単なコードをfnuctions.phpへ追加するだけですので、上のような事態でAMP対応をあきらめよう!AMPのために何かを捨てよう!としている方はぜひ試してみてください。AMPのときだけ表示する(AMPの時は表示させない)コンテンツをショートコードで本文内へ記述するためのショートコードショートコード、ショートコード...意味不明ですか??こういう書き方しか思い浮かばなくてスミマセン(笑)。前述したAMPの時だけ出力する文章などを独自のショートコードで囲んでしまうという手法です。確認のため、このページをAMPと非AMPでアクセスして見て見てください※非AMPのURLはhttps://www.momosiri.info/cms/amp-only-content/※AMPのURLはhttps://www.momosiri.info/cms/amp-only-content/?amp=1です。1月月23日午後11時31分PST・・・いかがでしょう???パソコンでアクセスした時はここに書かれている部分はパソコンまたはレスポンシブ表示時のみ表示されますここに書かれている部分はパソコンまたはレスポンシブ表示時のみ表示されますここに書かれている部分はパソコンまたはレスポンシブ表示時のみ表示されます+インスタグラムの埋め込み(AMPではエラーになるので文字にしてます・・)が表示され、AMPでアクセスした時はここに書かれている部分はAMPのURLでアクセスした場合のみ表示されますここに書かれている部分はAMPのURLでアクセスした場合のみ表示されますここに書かれている部分はAMPのURLでアクセスした場合のみ表示されますと表示されますよね?今回はこれを作ろうという話です。※もちろん画像の挿入もできますし、別のショートコードを入れて動作させることもできます。環境によってはダメな場合もあるかも知れませんがとにかくやってみるべきでしょう。それでは進めていきますね。AMPか非AMPかを判断させるまずはURLが通常のページのものなのか?AMPのページのものなのかを判断させます。当サイトと同じようにURL末尾に「?amp=1」が付くパターンであれば以下のコードをテーマのfunctions.phpへ追加するだけです。$is_amp;}endif;【注意】コードをコピーして使用する前に必ずお読みくださいこの記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。使用については自己責任でお願いしますコードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いませんコードの変換エラーなどにより動作しない場合、更新エラーが出る場合がありますコードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがありますその場合には以下の方法で修正を行ってみてくださいコードの中に全角の記号が入っていませんか?半角にすることで解消できますコードの中に全角の空白(スペース)がありませんか?半角にすることで解決できますコードは合っているはずなのに更新できないときは特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。「何かが間違っています...」と表示され、更新できないときはこのエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。Base【Wordpress】コードは合っているのにfunctions.phpの更新ボタンをクリックすると...https://www.momosiri.info/cms/%E3%80%90wordpress%E3%80%91%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E5%90%88%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%ABfunctions-php%E3%81%AE%E6%9B%B4%E6%96%B0%E3%83%9C%E3%82%BF%E3%83%B3/Wordpressで何かをカスタマイズするときに通らなければならないのがテーマのfunctions.phpへの追記。一度失敗したことがある方なら分かると思いますが、このファイルはとっても重要で、間違ったコードなどを挿入するといきなり管理画面が真っ白、頭も真っ白になって...コードを転載する場合にはご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします※「?amp=1」を付与するパターン以外の場合は自身のパターンに合わせる必要があります※テーマやプラグインによっては同じ名前の関数(is_amp)が既に設定されており、functions.phpの保存時にエラーが出ることがあります。'pc_show');実際に動かしてみようまずはAMPの場合のみ表示させるコンテンツを作るには[amp-show]ここにAMPの場合だけ表示させる(出力させる)コンテンツ内容を書く[/amp-show]というショートコードで囲み、「ここにAMPの場合だけ表示させる(出力させる)コンテンツ内容を書く」へAMPでアクセスされたときだけ表示されるものを書きます逆にAMPの場合は表示(出力)させないコンテンツを作るには[pc-show]ここにAMPの場合は表示させない(出力させない)コンテンツ内容を書く[/pc-show]というショートコードで囲み、「ここにAMPの場合は表示させない(出力させない)コンテンツ内容を書く」をAMPでない場合のみ表示されるものを書きます当たり前の話ですが、これらで囲まないものはAMPと非AMPの両方に表示(出力)されます。え~~ったったこれだけ~~と思われたかも知れませんが、ハイ、これだけです。ログインしているユーザーだけに表示させるコンテンツも作れるここまで紹介したコードはAMPかどうかを判断させて、それぞれに対するコンテンツの表示分けをする方法でしたが、応用すればいろいろな用途に転用できます。今回はおまけとして結構プラグインで実装されている方が多い「ログインしているユーザーだけに表示させるコンテンツ」の作成方法を紹介しておきます。'if_login');前述したコードと見比べてもらえればどこが違うのか・・は見えてくると思います。要するにどんな条件に対してどのショートコードで囲まれた部分を表示するかというのを指定しているだけなんです。ちなみに[if-login]ログインユーザーにだけ表示させるコンテンツ[/if-login]で囲めばログインユーザーにだけ見せるコンテンツを作ることができます。1つの記事内に何度でも使えます。BaseWordpressの記事の中にログインしたユーザーのみが閲覧できるコンテンツを追加でき...https://www.momosiri.info/wppi/private-content/Wordpressで会員制サイトを作ったときによく使われるのが「ページやサイトを丸ごと登録ユーザーのみに表示する」方法。これだと通常はそのページの内容が何も見えないので、別のページで概要を作って会員閲覧用ページへのリンクを作らなければなりません。...あたりが有名処ですが、こんな簡単なコードでやれるなら・・・プラグインは1つ削減できますね(笑)。このプラグインでは特定の〇〇という条件が複数使えますが、このコードを応用すれば同じ機能を持たせることも可能です。userWordpressでページごとに必要ないプラグインの読み込みを停止して表示速度を改善す...https://www.momosiri.info/wppi/plugin-load-filter/Wordpressでサイト作りをしていると、プラグインが便利すぎて気が付いたら何十個にもなることがあります。私はプログラマーではないのでWordpressで作ったサイトのページがどのように読み込まれるのかの詳細までは分かりません。いろいろな解説記事などを見ると...というプラグインが便利です。class=”amp-no-show”>~</div>で囲み、テーマのCSSへ.amp-no-show{display:none;}を追加すれば、その部分はAMPでは一切表示されないようになります。※display-noneは見かけ上表示しないだけですから、AMPエラーとなるコンテンツがある場合にはエラーのままになりますのでご注意くださいいかがでしたか?おまけも含め結構使える機能であり、AMP対応には欠かせないと思われる機能かと思いますので、ぜひお試しください。ひまあーと(管理人)☆最後までお読みいただきありがとうございました。記事作者のひまあーとです。☆Wordpressでサイトをカスタマイズしていく上で有用な情報を配信しつつ、「ココナラ」でサイトカスタマイズのお手伝い、不具合の修復、サイト引っ越し代行などをさせていただいております。☆Wordpressネタが多いですが、趣味の「園芸」「卓球」などの情報や日々の出来事などもどんどん増やしていきますのでよろしくお願いいたします。作者の記事一覧はこちらいつでもご相談・サイトカスタマイズの依頼を受け付けていますWordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。こちらのバナーからお気軽にお問い合わせください。※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。【スポンサーリンク】タグ:AMPWordpressワードプレス記事の拡散にご協力をお願いします閲覧いただきありがとうございました。【WordPress】AMP対応したページ本文にnextpageタグがあると、以降の内容が出力されない現象と簡易的な対処方法Wordpressサイトの本文にnextpageタグがある記事、きちんとAMPページで表示されますか?もしもされない場合には簡単なコードでAMP表示時だけ全文表示にする方法があります。【WordPress】AMPで『許可されていないタグがあります』の原因はコレだった・・このサイトの記事をAMP対応にしてから早いもので2か月近くが経ちました。60%程度キャッシュされた状態ではありますが、エラーがあるとそこでキャッシュが止まるみたいで少しずつしか進んでいません(笑)。キャッシ...サイトのAMP化後はエラーとの闘い!?このサイトの記事をAMP対応にして数日。毎日エラー対処に明け暮れています。それも対応が終われば必ず100%になる!!頑張って修正しています。記事の拡散にご協力お願いします閲覧いただきありがとうございます。この記事が役に立つ情報でしたら是非SNSでシェアやコメントをお願いします。Amazonアソシエイト・プログラムの参加者です。