Issue Order Shows Oldest "Live" issue as "Current Issue"
-
I’m trying to understand the function get_newest_issuem_issue_id()
function get_newest_issuem_issue_id( $orderby = 'issue_order' ) { $issues = array(); $count = 0; $issuem_issues = get_terms( 'issuem_issue' ); foreach ( $issuem_issues as $issue ) { $issue_meta = get_option( 'issuem_issue_' . $issue->term_id . '_meta' ); // If issue is not a Draft, add it to the archive array; if ( !empty( $issue_meta ) && !empty( $issue_meta['issue_status'] ) && ( 'Live' === $issue_meta['issue_status'] || current_user_can( apply_filters( 'see_issuem_draft_issues', 'manage_issues' ) ) ) ) { switch( $orderby ) { case "issue_order": if ( !empty( $issue_meta['issue_order'] ) ) $issues[ $issue_meta['issue_order'] ] = $issue->term_id; else $issues[ '-' . ++$count ] = $issue->term_id; break; case "name": $issues[ $issue_meta['name'] ] = $issue->term_id; break; case "term_id": $issues[ $issue->term_id ] = $issue->term_id; break; } } else { $issues[ '-' . ++$count ] = $issue->term_id; } } krsort( $issues ); return array_shift( $issues ); }
When I look at what is returned from
$issuem_issues = get_terms( 'issuem_issue' );
I get this:
Array
(
[148] => WP_Term Object
(
[term_id] => 223
[name] => 592
[slug] => 592
[term_group] => 0
[term_taxonomy_id] => 223
[taxonomy] => issuem_issue
[description] =>
[parent] => 0
[count] => 5
[filter] => raw
)[149] => WP_Term Object
(
[term_id] => 224
[name] => 593
[slug] => 593
[term_group] => 0
[term_taxonomy_id] => 224
[taxonomy] => issuem_issue
[description] =>
[parent] => 0
[count] => 9
[filter] => raw
)
[150] => WP_Term Object
(
[term_id] => 225
[name] => 594
[slug] => 594
[term_group] => 0
[term_taxonomy_id] => 225
[taxonomy] => issuem_issue
[description] =>
[parent] => 0
[count] => 2
[filter] => raw
))
When I look at what krsort returns
krsort( $issues );
I get
Array
(
[-1] => 223
[-2] => 224
[-3] => 225
[-4] => 226
[-5] => 227
[-6] => 228
[-7] => 229
[-8] => 230
[-9] => 231
[-10] => 232
[-11] => 233
[-12] => 234
[-13] => 235
[-14] => 236
[-15] => 237
[-16] => 239
)So
return array_shift( $issues );
Returns223
Am I doing something wrong? This seems like it wouldn’t work for anyone.
- The topic ‘Issue Order Shows Oldest "Live" issue as "Current Issue"’ is closed to new replies.