我使用以下代码列出我的wordpress网站上的所有帖子,我正在尝试拨打"选择"如果ID是当前选中的圆锥,但奇怪的是它调用if语句3次而不是一次,即使所有ID都不同。
我的代码:
function test($id) {
// The Query
query_posts( array ('posts_per_page' => -1 ) );
// The Loop
while ( have_posts() ) : the_post();
if ($id == get_the_ID()) { $selected = " selected"; }
?>
<option value="<?php echo get_the_ID(); ?>"<?php echo $selected; ?>><?php echo get_the_title() ?></option><?php echo "\n"; ?>
<?php endwhile;
// Reset Query
wp_reset_query();
}
我的输出:
<select name="w_url">
<option value="493">TEST 1</option>
<option value="390">TEST 2</option>
<option value="388" selected>Test 3</option>
<option value="386" selected>Test 4</option>
<option value="384" selected>Test 5</option>
</select>
我确实选择了第三个选项,所以它正确地显示了一个,但继续到第4个和第5个。我确信它的一些简单但我无法看到它
答案 0 :(得分:2)
在变量$selected
获得“选定”值后,它不会在进一步迭代中更改值。你应该使用像
if ($id == get_the_ID()) {
$selected = " selected";
} else {
$selected = "";
}