任何WordPress专家,请帮助我。
我正在尝试显示下拉菜单中的所有帖子,我得到结果12下拉选项的结果,但另一个第二页(我正在使用分页)帖子没有显示在下拉菜单中,当我转到第二页我显示该页面的帖子下拉结果。我想在每个页面的下拉菜单中显示所有帖子。
代码: -
<?php
wp_list_pages(array('post_type'=>'brands'));
?>
<select class="form-control pdt-category-select search-space" id="brands" name="brands">
<option>All</option>
<?php foreach ($posts as $post) {
echo '<option value="', $post->post_name, '"', $selected == $post->ID ? ' selected="selected"' : '', '>', $post->post_title, '</option>';
}?>
</select>
答案 0 :(得分:0)
这里你调用了函数,但你没有为任何变量赋值:
wp_list_pages(array('post_type'=>'brands'));
将其编辑为:
$dropdown_posts = wp_list_pages(array('post_type'=>'brands'));
函数wp_list_pages以HTML格式https://developer.wordpress.org/reference/functions/wp_list_pages/返回字符串。你不需要循环它,只需回应它:
<?php echo $dropdown_posts ?>
如果您喜欢循环播放帖子,请使用函数get_posts(),如下所示:
<?php
$dropdown_posts = get_posts(array('post_type'=>'brands'));
?>
<select class="form-control pdt-category-select search-space" id="brands" name="brands">
<option>All</option>
<?php foreach ($dropdown_posts as $post) {
echo '<option value="', $post->post_name, '"', $selected == $post->ID ? ' selected="selected"' : '', '>', $post->post_title, '</option>';
}?>
</select>