AMP + ACF — как добавить произвольные поля для AMP

Вы используете блокировщик рекламы

Пожалуйста, отключите блокировщик рекламы

Подробнее

Столкнулся недавно с проблемой — как добавить произвольные поля для AMP плагина. Прошерстив поисковик нашел решение, которым и хочу с вами поделиться. Итак, для начала открываем свой functions.php и вставляем код:

add_filter( 'amp_post_template_file', 'amp_custom_template', 10, 3 );

function amp_custom_template( $file, $type, $post ) {
	if ( 'single' === $type ) {
		$file = dirname( __FILE__ ) . '/single-amp.php'; // путь к AMP шаблону
	}
	return $file;
}

Далее создаем файл, который мы прописали в функции выше — single-amp.php. Основу файла будет составлять дефолтный шаблон, который мы немного изменим.  В коде я напишу комментарий, где мы добавим произвольные поля:

<!doctype html>
<html amp <?php echo AMP_HTML_Utils::build_attributes_string( $this->get( 'html_tag_attributes' ) ); ?>>
<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 class="<?php echo esc_attr( $this->get( 'body_class' ) ); ?>">

<?php $this->load_parts( array( 'header-bar' ) ); ?>

<article class="amp-wp-article">

	<header class="amp-wp-article-header">
		<?php $this->load_parts( apply_filters( 'amp_post_article_header_meta', array( 'meta-author', 'meta-time' ) ) ); ?>
		<span><?php echo wp_kses_data( $this->get( 'post_title' ) ); ?></span>
	</header>

	<?php $this->load_parts( array( 'featured-image' ) ); ?>

	<div class="amp-wp-article-content">
		<?php echo $this->get( 'post_amp_content' ); ?>

		/************* вывод поля text ***************/
		<h2><?php the_field('text'); ?></h2>
	
	</div>

	<footer class="amp-wp-article-footer">
		<?php $this->load_parts( apply_filters( 'amp_post_article_footer_meta', array( 'meta-taxonomy', 'meta-comments-link' ) ) ); ?>
	</footer>

</article>

<?php $this->load_parts( array( 'footer' ) ); ?>

<?php do_action( 'amp_post_template_footer', $this ); ?>

</body>
</html>

Вот и все, оказалось, что работать с AMP плагином нет уж и сложно. Если возникнут вопросы, задавайте их в комментариях.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Подписывайтесь на наш Telegram канал, чтобы не пропускать наши статьи 😎

Оцените нашу статью
5/53
Комментарии (0)
Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *