По итогу должны отображаться pdf файлы, но сейчас почему-то отображаются ссылки на pdf. Если напрямую шорткод вставляю в верстку, pdf отображается. Код:
<div class="tabs-price-header">
<ul>
<?php
$active_class = 'active';
while($price_query->have_posts()) : $price_query->the_post(); ?>
<li class="<?php echo $active_class; ?>"><button data-id="<?php echo get_the_ID(); ?>"><?php echo get_the_title(); ?></button></li>
<?php $active_class = ''; // Убираем класс активности со следующих элементов ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
</ul>
</div>
<div id="tabs-price-content" class="tabs-price-content"></div>
functions.php:
add_action( 'wp_ajax_load_pdf_content', 'load_pdf_content' );
add_action( 'wp_ajax_nopriv_load_pdf_content', 'load_pdf_content' );
function load_pdf_content() {
$post_id = isset($_POST['post_id']) ? intval($_POST['post_id']) : 0;
switch ($post_id) {
case 92:
echo apply_filters('the_content', '[pdf-embedder url="https://lasercare.moscow/wp-content/uploads/2024/05/kompleksy-210-x-297-mm.pdf" title="Диодная эпиляция"]');
break;
case 384:
echo apply_filters('the_content', '[pdf-embedder url="https://lasercare.moscow/wp-content/uploads/2024/05/kompleksy-210-x-297-mm-3-1.pdf" title="Смас-лифтинг"]');
break;
case 385:
echo apply_filters('the_content', '[pdf-embedder url="https://lasercare.moscow/wp-content/uploads/2024/05/kompleksy-210-x-297-mm-2-1.pdf" title="Холодная плазма"]');
break;
default:
echo 'Извините, информация по запрашиваемой услуге отсутствует.';
}
wp_die();
}
JavaScript:
document.addEventListener('DOMContentLoaded', function () {
const tabs = document.querySelectorAll('.tabs-price-header button');
tabs.forEach(tab => {
tab.addEventListener('click', function () {
const postId = this.getAttribute('data-id');
if (postId) {
loadPDFContent(postId);
}
});
});
// Загружаем содержимое для первой активной вкладки
loadPDFContent(tabs[0].getAttribute('data-id'));
});
function loadPDFContent(postId) {
// AJAX запрос к WordPress
fetch(WPJS.ajaxUrl, {
method: 'POST',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: 'action=load_pdf_content&post_id=' + postId
})
.then(response => response.text())
.then(data => {
document.getElementById('tabs-price-content').innerHTML = data;
});
}