1

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 に段落を保持させる方法についてのアイデアはありますか?

4

1 に答える 1