为什么TEMPLATE_INCLUDE不能正确使用AMP?

时间:2018-10-19 作者:DonnyDev

在你提问之前,我已经查看了类似的问题以找到解决方案,但我找不到有效的解决方案。

我试过几次permalink选项,我的htaccess文件中没有任何东西会导致404,也没有安装缓存软件,我没有使用其他插件重定向或amp,is\\u single()工作得很好,但是is\\u page()没有,我也试过is\\u front\\u page()、is\\u category()、is\\u home(),is\\u page(“特定页面”),但似乎同样不起作用

  • body\\u class()包含在body标记中

    define( \'AMP_QUERY_VAR\', apply_filters( \'amp_query_var\', \'amp\' ) );
    add_rewrite_endpoint( AMP_QUERY_VAR, EP_PERMALINK );
    add_filter( \'template_include\', \'amp_page_template\', 99 );
    function amp_page_template( $template ) {
    
    if( get_query_var( AMP_QUERY_VAR, false ) !== false ) {
    
    
        if ( is_single() ) {
    
            $template = get_template_directory() .  \'/amp-single.php\';
    
        } 
    
        if( is_page() ) {
    
            $template = get_template_directory() .  \'/amp-page.php\';
    
        }
    
    }
    
    return $template;
    }
    
    任何答案都将不胜感激,干杯:)

  • 1 个回复
    最合适的回答,由SO网友:Milo 整理而成

    您的端点仅应用于帖子,添加EP_PAGES 为页面帖子类型生成规则的步骤-

    add_rewrite_endpoint( \'amp\', EP_PERMALINK | EP_PAGES );
    
    它也应该在连接到的函数中init.

    结束

    相关推荐