• 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 );
    Returns

    223

    Am I doing something wrong? This seems like it wouldn’t work for anyone.

    https://wordpress.org/plugins/issuem/

  • The topic ‘Issue Order Shows Oldest "Live" issue as "Current Issue"’ is closed to new replies.