• I’m seeing my taxonomies reverting and ignoring the order I’m setting. Is there a specific setting I need in my taxonomy?

Viewing 5 replies - 1 through 5 (of 5 total)
  • After investigating the source of the plugin and wp_terms table, I can see that it actually saves the order, but issue comes with filtering get_terms, when plugin try to sort terms and return them in correct order. The issue i that term->term_order it uses is incorrect, the WP fills it with other values, not the ones the plugin expects.

    I came up with the following fix. Basically, it does a SQL query to order given term IDs in the proper order.

    VER: 3.1.3
    FILE: intuitive-custom-post-order.php
    LINE: 757; replace 2 lines 757 (“usort…”) and 758 (“return…”) with the following block:

    // ------------------------------------------------
    // PATCH: Fix issue with incorrect term_order
    // ------------------------------------------------
    // usort( $terms, array( $this, 'taxcmp' ) );
    // return $terms;
    // ------------------------------------------------
    if (count($terms) < 2) {
        return $terms;
    }
    
    global $wpdb;
    
    $db_result = $wpdb->get_results("
        SELECT term_id
        FROM $wpdb->terms
        WHERE term_id in (" . join(',', array_map(function ($t) { return $t->term_id; }, $terms)) . ")
        ORDER BY term_order
    ", output: ARRAY_N);
    
    if (is_array($db_result)) {
        $ordered_ids = array_map(function ($e) { return intval($e[0]); }, $db_result);
        $terms_map = [];
        foreach ($terms as $t) { $terms_map[$t->term_id] = $t; }
        return array_map(function ($id) use ($terms_map) { return $terms_map[$id]; }, $ordered_ids);
    } else {
        usort( $terms, array( $this, 'taxcmp' ) );
        return $terms;
    }
    // ------------------------------------------------
    // END OF PATCH
    // ------------------------------------------------

    @hijiri please take a look at this patch, do your changes and add fix to this awesome plugin. Thank you.

    Plugin Author hijiri

    (@hijiri)

    ok
    thanks!

    I confirm the reported problem (for taxonomies for a CPT, both the taxonomy and the CPT created with CPTUI). Not sure about the provided fix. I will follow this thread for an official answer.

    • This reply was modified 2 years, 1 month ago by dpacks.

    I can confirm this is also an issue. For now we are dragging the posts in alpha order, but for large lists it will be tough.

    I also tried the proposed fix, but recieved a php error.

    Hoping the plugin author has a fix shortly. Thanks again for the plugin!

    Please note, I’ve started seeing this issue with other custom post order plugins. I had this issue with SCPOrder, Real Custom Post Order, and then with this one. Something must have changed in WordPress that causes this, but I can confirm that @greenya’s change does fix the failure to save sorting.

    @gishua, if you had a PHP error, then you likely did not replace the code correctly. I commented lines 757 & 758, then added greenya’s code, saved, and reloaded and it worked immediately. I’m glad I found this thread because I would have ended up writing this myself but I’m tired and so grateful to greenya’s help.

    @hijiri — update your plugin and you’ll be the only one that works on any of my sites! Please make this minor change and you’ll get dozens of new installs from me ??

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Taxonomy Order Not Saving’ is closed to new replies.