我正在使用wordpress网站,该网站在投资组合页面上显示画廊。我遇到的问题是没有选项以自定义顺序显示图库,它只是按字母顺序显示图库。我已经尝试更改图库名称的slu its,以便它们按时间顺序排列,与我希望它们出现的顺序相匹配,但这不起作用。下面是代码,我需要更改什么才能按slug名称的顺序显示它们?
<div class="filter row animated">
<div class="albums">
<div class="content">
<?php if ( $albums && !is_wp_error( $albums ) ) : ?>
<ul>
<?php if ( $portfolio_showall == "on") : ?>
<li data-album='all' class='all selected'><span><?php echo __( 'All', 'turin'); ?></span></li>
<?php endif; ?>
<?php foreach ( $albums as $album ) { ?>
<li data-album="<?php echo esc_attr( $album->slug ); ?>"><span><?php echo esc_attr( $album->name ); ?></span></li>
<?php } ?>
</ul>
<select>
<?php if ( $portfolio_showall == "on") : ?>
<option data-album='all'>
<?php echo __( 'All', 'turin'); ?>
</option>
<?php endif; ?>
<?php foreach ( $albums as $album ) { ?>
<option data-album="<?php echo esc_attr( $album->slug ); ?>">
<?php echo esc_attr( $album->name ); ?>
</option>
<?php } ?>
</select>
<?php endif;?>
</div>
</div>
</div>
答案 0 :(得分:0)
我刚刚解决了它,还有一些代码需要改变,我改变了
$album_terms = get_the_terms( get_the_ID(), 'album' );
if( !empty($album_terms) ) {
foreach ( $album_terms as $album_term ) {
$term_IDs[] = $album_term->term_id;
}
$album_args = array( 'orderby' => 'name', 'order' => 'ASC', 'include' => $term_IDs, 'hide_empty' => false, 'fields' => 'all' );
} else {
$album_args = array( 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => false, 'fields' => 'all' );
}
$albums = get_terms( 'album', $album_args );
?>
阅读
$album_terms = get_the_terms( get_the_ID(), 'album' );
if( !empty($album_terms) ) {
foreach ( $album_terms as $album_term ) {
$term_IDs[] = $album_term->term_id;
}
$album_args = array( 'orderby' => 'slug', 'order' => 'ASC', 'include' => $term_IDs, 'hide_empty' => false, 'fields' => 'all' );
} else {
$album_args = array( 'orderby' => 'slug', 'order' => 'ASC', 'hide_empty' => false, 'fields' => 'all' );
}
$albums = get_terms( 'album', $album_args );
?>
现在一切似乎都有效了!