您好我正在尝试创建一个函数来显示wordpress管理菜单中的帖子列表但是因为我在同一页面上调用了几次这个函数我需要添加一些额外的语句但它打破了输出,我不知道为什么
这是我当前输出基础知识的代码:
function test() {
// The Query
query_posts( array ('posts_per_page' => -1 ) );
// The Loop
while ( have_posts() ) : the_post();
?>
<option value="<?php the_permalink() ?>"><?php the_title(); ?></option>
<?php endwhile;
// Reset Query
wp_reset_query();
}
输出代码:
<select>
<?php test(); ?>
</select>
返回输出:
<select>
<option value="http://website/posttitle1">POST TITLE 1</option>
<option value="http://website/posttitle2">POST TITLE 2</option>
<option value="http://website/posttitle3">POST TITLE 3</option>
</select>
但我需要像这样添加一个选择选项:
function test($select) {
// The Query
query_posts( array ('posts_per_page' => -1 ) );
// The Loop
while ( have_posts() ) : the_post();
if ($select == the_permalink()) { $selected = " selected"; }
?>
<option value="<?php the_permalink() ?>"><?php the_title(); ?></option><?php echo "\n"; ?>
<?php endwhile;
// Reset Query
wp_reset_query();
}
输出代码:
<select>
<?php test("..GET Permalink from Database.."); ?>
</select>
但这是我的输出:
<select>
http://website/posttitle1<option value="http://website/posttitle1">POST TITLE 1</option>
http://website/posttitle2<option value="http://website/posttitle2">POST TITLE 2</option>
http://website/posttitle3<option value="http://website/posttitle2">POST TITLE 3</option>
</select>
我不明白?
答案 0 :(得分:1)
the_permalink()打印值,get_permalink()返回值。
试试这个。
更改以下行
if($select == the_permalink()) { $selected = " selected"; }
到
if ($select == get_permalink()) { $selected = " selected"; }
这一行
<option value="<?php the_permalink() ?>"><?php the_title(); ?></option><?php echo "\n"; ?>
此
<option value="<?php echo get_permalink() ?>"><?php echo get_the_title(); ?></option><?php echo "\n"; ?>