我在我的Wordpress网站上安装了放大器插件。
现在我想自定义post_amp_content
的输出,以便在我使用AMP-Validator的情况下完成所有错误。
目前的问题是,在我正常的Wordpress帖子中,我使用了图片标签。 <picture>
和</picture>
,但不允许这样做。
所以现在我想进入提供给AMP插件的内容:
<!doctype html>
<html amp>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<?php do_action( 'amp_post_template_head', $this ); ?>
<style amp-custom>
<?php $this->load_parts( array( 'style' ) ); ?>
<?php do_action( 'amp_post_template_css', $this ); ?>
</style>
</head>
<body>
<nav class="amp-wp-title-bar">
<div>
<a href="<?php echo esc_url( $this->get( 'home_url' ) ); ?>">
<?php $site_icon_url = $this->get( 'site_icon_url' ); ?>
<?php if ( $site_icon_url ) : ?>
<amp-img src="<?php echo esc_url( $site_icon_url ); ?>" width="32" height="32" class="amp-wp-site-icon"></amp-img>
<?php endif; ?>
<?php echo esc_html( $this->get( 'blog_name' ) ); ?>
</a>
</div>
</nav>
<div class="amp-wp-content">
<h1 class="amp-wp-title"><?php echo wp_kses_data( $this->get( 'post_title' ) ); ?></h1>
<ul class="amp-wp-meta">
<?php $this->load_parts( apply_filters( 'amp_post_template_meta_parts', array( 'meta-author', 'meta-time', 'meta-taxonomy' ) ) ); ?>
</ul>
<?php echo $this->get( 'post_amp_content' ); // amphtml content; no kses ?>
</div>
<?php do_action( 'amp_post_template_footer', $this ); ?>
</body>
</html>
内容来自$this->get( 'post_amp_content' );
在这里,我想删除<picutre>
和</picture>
标记。
我的方法是:
<?php
$content =get( 'post_amp_content' );
$content = preg_replace("/<picture[^>]+\>/i", "", $content);
$content = apply_filters('post_amp_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $this-> $content; // amphtml content; no kses ?>
但它不起作用。我对此很新,我在哪里犯了错误?