让foreach在javascript循环中逐个显示?
我试图通过在javascript循环中使用foreach来显示页面中多个类别的最新帖子,但是foreach会逐个显示它们,如下图所示: 我想在每个元素中显示一个,而不是每个元素中的所有元素让foreach在javascript循环中逐个显示?,javascript,php,wordpress,Javascript,Php,Wordpress,我试图通过在javascript循环中使用foreach来显示页面中多个类别的最新帖子,但是foreach会逐个显示它们,如下图所示: 我想在每个元素中显示一个,而不是每个元素中的所有元素 for (var i in books) { //Start JS Code var html = '<div class="row"><div class="book_history">'; // JS Output <?php // Sta
for (var i in books) { //Start JS Code
var html = '<div class="row"><div class="book_history">';
// JS Output
<?php // Start PHP
$catids = array(39, 37, 2); // Category for test
foreach ( $catids as $catid ) {
$my_query = new WP_Query( array(
'cat' => $catid,
'ignore_sticky_posts' => 1,
'posts_per_page' => 1,
'no_found_rows' => true )
);
if ( $my_query->have_posts() ) :
while ( $my_query->have_posts() ) : $my_query->the_post(); ?>
html += '<a href="<?php the_permalink(); ?>">»Chapter <?php the_title(); ?></a></div>'; // Javascript Code, Displaying the result of foreach with js
<?php endwhile;
endif;
wp_reset_postdata();
} ?> // End PHP
$bookcontainer.append(html); // Insert all result of foreach and js into some element
} // End JS Code
for(书籍中的var i){//Start JS代码
var html='';
//JS输出
html+='';//Javascript代码,用js显示foreach的结果
//结束PHP
$bookcontainer.append(html);//将foreach和js的所有结果插入到某个元素中
}//结束JS代码
有什么解决办法吗?
*JavaScript的分类顺序是相同的。因为PHP是在服务器端呈现的,所以不能以这种方式将其与JavaScript结合起来 但是,您可以将JSON传递给JavaScript来解析结构并将其显示在网站上 假设您的数据包含以下数组:
$data = array(
array(
'category_id' => 39,
'chapters' => array(
array(
'link' => 'http://google.de',
'chapter_name' => 'First chapter',
)
),
),
array(
'category_id' => 37,
'chapters' => array(
array(
'link' => 'http://google.de',
'chapter_name' => 'Second chapter',
)
),
),
array(
'category_id' => 42,
'chapters' => array(
array(
'link' => 'http://google.de',
'chapter_name' => 'Third chapter',
)
),
),
);
您只需使用JSON\u encode($data)
输出此数组的JSON表示(确保将其回送到JS变量中)
然后,您可以使用JavaScript轻松地读出它。这是一个很好的代码笔:
关于forEach函数的一个简短说明:在一段代码中混合使用JS+HTML+PHP是一种非常糟糕的做法,您可以使用示例来代替它。因此,我获得了该类别的最新帖子,然后将它们转换为json数组,对吗?对。您可以将任何结构作为数组传递给
json\u encode
json_encode
自动确定如何解析数组并返回数组的json表示形式。然后你可以在网站上处理它,并显示你的值:)请不要忘记将答案标记为已接受:)它仍然显示所有答案,因为我有不同的变量json,有什么解决方案吗?你可以使用。那么您只有当前类别的条目。\u id。用新问题问一个新问题,并在这里随意评论,这样如果您愿意,我可以看一下:)我仍然不明白,所以我与其他json有相同的类别id(例如39、37、2)。我尝试使用if(history.id==book.id),如果它是相同的,则显示输出,但在循环停止后只显示一次。