自己解決というよりかは暫定対応ですがとりあえず解決しました。。
https://github.com/Automattic/amp-wp/blob/develop/includes/amp-helper-functions.php#L147
php
1// Strip endpoint.
2$url = preg_replace( ':/' . preg_quote( amp_get_slug(), ':' ) . '(?=/?(?|#|$)):', '', $url );
3
4// Strip query var.
5$url = remove_query_arg( amp_get_slug(), $url );
6
7return $url;
8
上記の処理で受けとったURLの一部を変更しどのAMPテンプレートを読み込むか判断していたので、return $url;
以外の処理を全てコメントアウトしました。
その後、以下の処理を追加していずれかの条件に当てはまるものは通常記事ページを表示するように修正しました。
https://github.com/Automattic/amp-wp/blob/develop/includes/class-amp-theme-support.php#L132
public static function init() {
$value = preg_replace('%/archives/[0-9]+/(.+)/*%', '$1', $_SERVER["REQUEST_URI"]);
// そもそもampページでない場合
if (strpos($value, 'amp') === false) {
return;
}
// ClassicテンプレートのAMPページが読み込まれるのを回避するため、/amp以降に文字が含まれる場合は何があんでも通常記事ページURLにリダイレクトさせる。
if (str_replace('amp', '', $value) !== '') {
header( "Location: http://vm.local/" . preg_replace('%/(archives)/([0-9]+)/.*%', '$1/$2', $_SERVER["REQUEST_URI"]) );
exit;
}
// PCからのアクセスの場合、AMPページを表示する必要はない
if (0 == preg_match('/iPhone|iPod|iPad|Android/', $_SERVER['HTTP_USER_AGENT'])) {
header( "Location: http://vm.local/" . preg_replace('%/(archives)/([0-9]+)/.*%', '$1/$2', $_SERVER["REQUEST_URI"]) );
exit;
}
/** 以降はclass-amp-theme-support.php 133行目からの処理 **/
たぶんというか絶対より良い解決法あると思うのでもし同じような問題を抱えていた人がいればアドバイスしていただけるととってもうれPです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。