我正在尝试修改网页中的代码。当前,页面有一个表、表行、表单元格结构,其中使用循环加载表示特定类别的帖子和关联数据的缩略图。到目前为止,我们有10个帖子。我最近添加了一个新的,但显示的缩略图仍然是10个,当检查页面时,只加载了11个帖子中的10个。这是网页http://www.puigciutat.com/museu-virtual/帖子是渲染区域下方的小缩略图。
循环代码为
<div class="object-selector">
<div class="object-selector-row">
<div class="object-cell-last"></div>
<?php
$my_query = new WP_Query(\'cat=7\'); // categoria 7 = objecte
if ($my_query->have_posts()) {
while ($my_query->have_posts()) { $my_query->the_post();
?>
<div id="f_<?php echo get_post_meta(get_the_ID(), "object_file", true); ?>" class="hidden-cell">
<?php the_content(); ?>
</div>
<div id="t_<?php echo get_post_meta(get_the_ID(), "object_file", true); ?>" class="hidden-cell">
<?php the_title(); ?>
</div>
<div id="i_<?php echo get_post_meta(get_the_ID(), "object_file", true); ?>" class="hidden-cell">
<?php echo get_post_meta(get_the_ID(), "object_fotogr", true); ?>
</div>
<div class="object-cell">
<a id="<?php echo get_post_meta(get_the_ID(), "object_file", true); ?>">
<?php the_post_thumbnail(array(80,80)); ?>
<div class="object-cell-name"><?php echo get_post(get_post_thumbnail_id())->post_excerpt; ?> </div>
</a>
</div>
<?php
} // end while loop
} // end if
wp_reset_postdata();
?>
</div> <!-- object-selector-row -->
</div> <!-- object-selector -->
CSS代码是
.object-selector {
/*position: relative;*/
display: table;
max-width: 1040px;
margin-left: auto;
margin-right: auto;
margin-top: 5px;
/*margin: 0 0;*/
height: 90;
width: 100%;
}
.object-selector-row {
display: table-row;
width: 100%;
margin: 0 0;
padding: 0 0;
}
.object-cell {
position: relative;
display: table-cell;
/*width: 80px;*/
padding-left: 0;
padding-right: 5px;
opacity: 0.85;
}
.object-cell:hover {
opacity: 1;
}
.object-cell-last {
/*position: relative;*/
display: table-cell;
width: 5px;
/*width: auto;*/
}
.object-cell-name {
background: rgba(255, 255, 255, 0.6);
position: absolute;
bottom: 5px;
left: 5px;
padding-left: 3px;
padding-right: 3px;
奇怪的是,即使试图强制设置较低的值(我试图将其设置为80px),对象单元格(表格单元格)的宽度也是自动设置的
因此,我的主要问题是理解为什么没有加载我的所有帖子(我已经检查了,我有11篇帖子),然后当我设法加载所有帖子时,如何修改我的表,以便我可以看到所有帖子。我一直在尝试缩小缩略图,但最终我将不得不在表中添加另一行。
非常感谢您提供的任何有用的帮助/提示。
编辑
我已经更改了display:table-cell;
到display:inline-block;
把桌子都扔掉了。现在,这些行将自动添加。
最合适的回答,由SO网友:Tom J Nowell 整理而成
问题是:
$my_query = new WP_Query(\'cat=7\');
您要求在ID为7的类别中发布帖子。您从未说过要获取多少帖子,因此它获取默认值,每页10篇。
因此,您需要设置posts_per_page
, 您需要将其设置为一个合理的数字,例如50。Bever将其设置为-1
, 即使要全部显示,也要将其设置为较高的数字,但决不要-1
.
其他注意事项:
不要使用字符串解析!WP_Query( [ \'cat\' => 7 ] )
更好一点,更快一点,它允许您使用嵌套参数,例如tax_query
. 避免使用字符串语法的教程wp_reset_postdata
应该在while
循环,但它应该在if
块否则没有要重置的postdata如果get_post_meta
在这些ID中的任何一个上失败都会导致问题。将它们分配给变量,然后检查结果,如果失败,则给它们默认值7
, 老实说,你可能应该定制帖子类型,而不是重新调整类别的用途