jQuery を使用して wordpress コンテンツをロードする ajax に問題があります。改行が解析されていないことを除けば、うまく機能します。それはjsonで引き込まれ、2つの異なるdivに詰まっています。
jqueryコード:
$('.load').on('click',function(e){
e.preventDefault();
var person_clicked = $(this).attr('id');
$.post('/load.php', { id:person_clicked, callback:'person' } )
.done(function(data) {
alert(data);
$('.page_tagline').html(data.title);
$('.left_content').html(data.content);
scrollToElement($('#hero'));
});
return false;
});
ロード.php:
<?php
/* Send as JSON */
header("Content-Type: application/json", true);
require('../../../wp-load.php');
?>
<?php query_posts('p='.$_POST['id']);
$post = $wp_query->post;
?>
<?php if (have_posts()) : the_post(); ?>
<?php
$returned = array(
'title' => get_the_title(),
'content' => get_the_content(),
);
?>
<?php
echo json_encode($returned);
?>
<?php endif;?>
警告すると、コンテンツは段落区切りがそこにあるかのように見えます。段落の間に明確な間隔があります。しかし、それが div に入ると、それはただの巨大な実行文です。
また、通常ロードすると、間隔があります。私は ajax の json 部分を削除しようとしましたが、すべてを div にロードするだけで、間隔が残っているので、これは確かに json のものです (私が知る限り)。これを行うと、コードは新しい段落があるべき場所に /r/n/r/n を出力します。これはまさに wordpress が行うことです。
json に段落を保持させる方法についてのアイデアはありますか?