Натягиваю шаблон на WP, столкнулся с такой проблемой: дело в том, что все посты открываются в модальном окне (использую Magnific Popup). Соответственно если я захочу отправить ссылку на конкретный пост - у меня ничего не выйдет, т.к. в адресной строке у меня корневой адрес сайта. Временно решил проблему с помощью JX:
ссылкам на посты задал параметр
rel="<?php $post->ID; ?>"
, и прописал в JS файл такой код:
$('.grid_item a').click(function(){
location.hash = $(this).attr('rel');
});
var required_uri = location.href;
var post_id = required_uri.split('#')[1];
if(empty(post_id) == false)
{
$.magnificPopup.open({
items: {
src: '/?p='+post_id,
type: 'ajax'
},
mainClass: 'mfp-fade',
gallery:{
enabled:true
}
});
}
Но это не ведь не совсем верное решение. Я частично решил проблему - функция, которая подпихивает адрес в адресную строку без перезагрузки:
function setLocation(curLoc){
try {
history.pushState(null, null, curLoc);
return;
} catch(e) {}
location.hash = '#' + curLoc;
}
Не совсем верно работает в старых браузерах, но с этим потом. Сейчас проблема вот в чем: если я юзаю эту функцию - подставляется реальный адрес записи. Но если я обновлю страницу - то WP загрузит ее не в модальном окне, а на странице по шаблону single.php, а он имеет сл. вид:
<?php
$thumbnail_attributes = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
?>
<div class="single_post">
<div class="post_image">
<img src="<? echo $thumbnail_attributes[0]; ?>" />
</div>
<div class="post_header">
<h1><?php the_title(); ?></h1>
</div>
<div class="post_text">
<?php while (have_posts()): the_post();?>
<?php the_content();?>
</div>
<?php
if ( comments_open() || get_comments_number() ) : ?>
<div class="post_comment">
<?php comments_template(); ?>
</div>
<?php endif; ?>
?>
<?php endwhile; ?>
</div>
Тут не случайно отсутствуют
get_header()
и
get_footer()
- мне не нужны еще раз стили и JS в модальном окне, а если их оставить - то у меня происходит наслоение событий открытия окна...
Вопрос вот в чем: как мне все запросы на посты (site.ru/2016/12/21/post-tittle/) открывать в модальном окне на главной странице? В какую сторону копать маны?)