Wsparcie » Zaawansowane » Loop kategorii z sortowaniem po dodatkowym polu

  • Witam.
    Męczę się się już drugi dzień z sortowaniem listy kategorii po dodatkowym polu.
    w pliku functions.php stworzyłem dodatkowe pole numeryczne, które określa kolejność kategorii:

    <?php
    add_action ( 'edit_category_form_fields', function( $tag ){
        $cat_order = get_term_meta( $tag->term_id, '_pagetitle', true ); ?>
        <tr class='form-field'>
            <th scope='row'><label for='cat_order'><?php _e('Order'); ?></label></th>
            <td>
                <input type='number' min="0" max="999" name='cat_order' id='cat_order' value='<?php echo $cat_order ?>'>
                <p class='description'><?php _e('Order'); ?></p>
            </td>
        </tr> <?php
    });
    add_action ( 'edited_category', function() {
        if ( isset( $_POST['cat_order'] ) )
            update_term_meta( $_POST['tag_ID'], '_pagetitle', $_POST['cat_order'] );
    });
    ?>

    Oraz w pliku wyświetlającym listę kategorii:

    <?php
    $args=array(
      'orderby' => 'name',
      'order' => 'DESC'
    );
    
    foreach (get_categories( $args ) as $cat) :
    
    ?>
    <h3><a href="<?php echo get_category_link($cat->term_id); ?>"><?php echo $cat->cat_name; ?></a></h3>
    
    <?php endforeach;
    ?>

    W jaki sposób posortować to po tym dodatkowym polu Order?

    • This topic was modified 5 years, 4 months temu by pawelogg.
  • Temat ‘Loop kategorii z sortowaniem po dodatkowym polu’ jest zamknięty na nowe odpowiedzi.