我为我女朋友的博客制作了单页自定义主题。我安装了高级AJAX页面加载器插件,用于将类别中的博客文章加载到home.php内同一页面上的div中。这很好用。但是,在我将博客文章加载到div中并将博客的URL传递到地址栏后,刷新页面,或者将链接复制并粘贴到新选项卡中会加载打破网站的single.php。我该如何解决这个问题?
以下是相关网站: http://natalija.co.nf
现场版中缺少的是帖子。类别应显示3个指向博客帖子的缩略图链接,点击其中任何一个应该将帖子的内容加载到页面底部的div中。
这是我的single.php代码
<div id="post" class="post-wrap <?php if($ajaxRequest){echo 'ajax';}?>">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<h1><?php the_title(); ?></h1>
<?php include (TEMPLATEPATH . '/inc/meta.php' ); ?>
<div class="entry">
<?php the_content(); ?>
<?php wp_link_pages(array('before' => 'Pages: ', 'next_or_number' => 'number')); ?>
<?php the_tags( 'Tags: ', ', ', ''); ?>
</div>
<?php edit_post_link('Edit this entry','','.'); ?>
</div>
<?php comments_template(); ?>
<?php endwhile; endif; ?>
</div>
这是我的home.php代码:
<?php get_header(); ?>
<?php
$args = array(
'orderby' => 'id',
'order' => 'ASC',
'hide_empty' => '0',
'exclude' => '1'
);
$categories = get_categories($args);
foreach($categories as $category) {
?>
<section id="<?php echo $category->slug; ?>" data-stellar-background-ratio="0.5">
<article class="<?php echo $category->slug; ?>" data-stellar-ratio="1.5">
<h1><?php echo $category->name; ?></h1>
<div class="wrapper">
<ul class="slider">
<?php
$args = array (
'post_status' => 'publish',
'category_name' => $category->slug,
'nopaging' => true,
);
$custom_query = new WP_Query( $args );
if ( $custom_query->have_posts() ) {
while ( $custom_query->have_posts() ) {
$custom_query->the_post();
// begin your slider loops in here
?>
<li class="slide">
<a data-target="main-content" href="<?php echo get_permalink(); ?>">
<?php the_post_thumbnail(); ?>
<div class="bubble">
<h5><?php echo get_the_title(); ?></h5>
</div>
</a>
</li>
<?php } // end $custom_query loop
} else {
// no posts found
}
// reset the postdata
wp_reset_postdata();
?>
</ul>
<img class="previous" src="wp-content/themes/Natalija/images/arrow-transparent.png" alt="random" data-stellar-ratio="1.7">
<img class="next" src="wp-content/themes/Natalija/images/arrow-transparent.png" alt="random" data-stellar-ratio="1.7">
</div>
</article>
</section>
<?php
} // end $categories loop
?>
<section id="oblogu" data-stellar-background-ratio="0.5">
</section>
<section id="contact" data-stellar-background-ratio="0.5">
<article class="contact" data-stellar-ratio="1.5">
<h1 class="contact-h1">KONTAKT</h1>
<?php echo do_shortcode('[contact-form-7 id="73" title="Bez naslova"]'); ?>
</article>
</section>
<section id="ostalo" data-stellar-background-ratio="0.5">
<article class="ostalo" data-stellar-ratio="1.5">
<h1>Ostalo</h1>
</article>
</section>
<div id="main-content">
<div id="post">
</div>
</div>
<?php get_footer(); ?>
所以要非常清楚:刷新或外部链接到单个博客帖子会加载single.php生成的无格式内容,而不是加载整个网站(home.php),其中包含加载在div内的博客帖子的内容页面底部。有没有解决方法,我需要做什么来解决深度链接这个问题。
答案 0 :(得分:0)
好的,所以我通过将home.php的各个部分分解为单独的php文件来提出解决方案,我将其包含在home.php和single.php中。在home.php的底部,我包含了段id =“main-content”,其中div id = post,在其中我加载了最新的帖子,而在single.php上我将div id =“post”包含在section中ID =“主要内容”。高级AJAX页面加载器正在关注内容是否正确加载到home.php和single.php上的div id =“post”。