WordPress + AMP(Accelerated Mobile Pages)

環境

  • PHP7.x
  • WordPress5.x

プラグイン

AMPのカスタムテンプレート

ダウンロード + 追加

  • AMP Theme Framework
    • zipファイルをダウンロード
  • 「プラグイン」→「プラグインのアップロード」
  • ダウンロードしたzipファイルをアップロード
    • 「今すぐインストール」→「AMP Theme Framework」を有効化
  • 「プラグイン」→「Accelerated Mobile Pages」→「Settings」→「Design」→「Themes Selector」
  • 「AMP Theme Framework」を選択

子テーマ

  • How To Create A Child Theme For AMP
  • 使用しているテーマの直下に「ampforwp」ディレクトリを作成
    • ex) wordpress/wp-content/themes/twentynineteen-child/ampforwp
  • テーマの構造の参考
    • 例えば ampforwp ディレクトリの中で single.php を作成するとそれが優先的に上書きされるようになる
  • 既存テーマがある場所
    • wordpress/wp-content/plugins/accelerated-mobile-pages/templates

add_action('the_content', 'xxxxx') を記述すると不具合を起こす

# wordpress/wp-content/plugins/accelerated-mobile-pages/includes/vendor/amp/includes/class-amp-content.php

## private function transform() { ... }

$content = apply_filters( 'the_content', $content );
↓
// コメントアウト
// $content = apply_filters( 'the_content', $content );
# wordpress/wp-content/plugins/accelerated-mobile-pages/components/components-core.php

## function amp_content($post_id= '') { ... }

$ampforwp_the_content = $thisTemplate->get( 'ampforwp_amp_content' );
↓
$ampforwp_the_content = $thisTemplate->get( 'post_amp_content' );

echo $ampforwp_the_content;
↓
# add_action('the_content', 'xxxxx') で書き換えた内容
$parser = new \cebe\markdown\GithubMarkdown();
$parser->enableNewlines = true;
echo $parser->parse($ampforwp_the_content);

関連投稿