我有一个正在设置的WordPress。设计需要一个标题列表,当您单击标题时,帖子的内容将从右侧滑入。我想用来自single.php
的帖子内容加载div,但是我得到的只是一个空的div。
index.php
<?php
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="blog-post">
<ul id="projects">
<li>
<div class="blog-post-title">
<a class="project" href="<?php the_permalink();?>">
<?php the_title(); ?></a>
</div>
<span class="blog-post-meta"><?php echo get_the_date(); ?> by <a href="#"><?php the_author(); ?></a></span>
</li>
</ul>
</div>
<?php endwhile; endif; ?>
</div>
<div id="project-single">
<div id="inner-single"></div>
</div>
JavaScript
jQuery(document).ready(function ($) {
$.ajaxSetup({cache: false});
$("a.project").click(function () {
var post_link = $(this).attr("href");
alert(post_id);
$("#inner-single").html('<div class="loading">loading...</div>');
$("#inner-single").load(post_link);
return false;
});
});
single.php
<?php $post = get_post($_POST['id']); ?>
<div id="single-post post-<?php the_ID(); ?>">
<?php while (have_posts()) : the_post(); ?>
<?php the_content();?>
</div>
<?php endwhile;?>
<?php get_footer(); ?>
functions.php
function ajax_enable () {
wp_enqueue_script( 'admin_url', includes_url() . 'js/myajax.js', array( 'jquery' ) );
$admin_url = array( 'ajaxUrl' => admin_url( 'admin-ajax.php' ) );
wp_localize_script( 'admin_url', 'AdminURL', $admin_url );
}
add_action( 'wp_enqueue_scripts', 'ajax_enable' );
发布时,#inner-single
div变成空白。我正在我的本地主机上运行此文件,我没有想到会造成麻烦。