在AJAX图像位于`<a>`标签之外之后

时间:2016-05-23 作者:dzimi

我正在通过AJAX加载一些内容,基本上我有以下几行内容:

$storage .= \'<a href=\'.get_permalink($id).\'><img src="\'.$image[\'url\'].\'" /></a>\';
渲染为:

<a href="//localhost:3000/story/story-title-wide"></a><img src="//localhost:3000/wp-content/uploads/2016/05/story_wide.png">
正如您所看到的<a> 为空,并且img 之后渲染,而不是在<a>.

整个AJAX功能:

add_action(\'wp_ajax_nopriv_GET_MORE_STORIES\', \'get_more_stories\');
add_action(\'wp_ajax_GET_MORE_STORIES\', \'get_more_stories\');
function get_more_stories() {

    $nbhd_id = $_POST[\'nbhd_id\'];

    if( have_rows(\'stories_rep\', $nbhd_id) ):

        $row = 0;
        $storage = \'\';

        while ( have_rows(\'stories_rep\', $nbhd_id) ) : the_row();

            $row++;
            if ($row < 15) { continue; }

            $story = get_sub_field(\'choose_story\');
            $id = $story->ID; 

            $size = get_field(\'story_image_size\', $id);
            if ($size != \'Wide\' ) {
                $size_class = \'\';
            } else {
                $size_class = \'wide\';
            }

            $storage .= \'<div class="story \'.$size_class.\'">\';

                $story = get_sub_field(\'choose_story\');
                $id = $story->ID; 

                $image = get_field(\'story_image\', $id);
                $storage .= \'<a href=\'.get_permalink($id).\'><img src="\'.$image[\'url\'].\'" /></a>\';

                $storage .= \'<div class="story-inner">\';
                    $storage .= \'<h2>\'.get_the_title($id).\'</h2>\';
                    $storage .= \'<a class="needtext" href=\'.get_permalink($id).\'></a>\';
                    $storage .= \'<div class="line"></div>\';
                $storage .= \'</div>\';

            $storage .= \'</div>\';

        endwhile;

    else :

        $storage = \'\';

    endif;

    echo $storage;
    die();

}

1 个回复
最合适的回答,由SO网友:Nefro 整理而成

试试这个,用" 上的标记.= \'<a href="\'.get_permalink($id).\'"><img src="\'.$image[\'url\'].\'" /></a>\';