Wordpress query_posts() orderby =› 'judul' tidak berfungsi

Saya mengalami masalah saat memesan beberapa posting di daftar navigasi di situs wordpress. ini kode saya (yang menjorok dengan buruk):

<ul class="tree lvl-0">
        <?php
            $args = array('child_of' => 6);
            $categories = get_categories( $args );
            foreach($categories as $category) {
                echo '<li class="collapsed"><a href="/id' . get_category_link( $category->term_id ) . '"' . $category->name  . '" ' . '>' . $category->name.'</a>';
                $cat_id= $category->term_id;
                wp_reset_query();
                $args = array(
                    'cat' => $cat_id,
                    'posts_per_page' => 20,
                    'order' => 'ASC',
                    'orderby' => 'title'
                );
                query_posts($args);
                            // start the wordpress loop!
                        ?>
                            <ul class="lvl-1">
                                <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
                        <li><a href="/id<?php the_permalink();?>"><?php the_title(); ?></a></li>
                                <?php endwhile; endif; ?>
                            </ul>
                        </li>
            <?php wp_reset_query(); } ?>
    </ul>

bagian yang dimaksud adalah

$args = array(
    'cat' => $cat_id,
    'posts_per_page' => 20,
    'order' => 'ASC',
    'orderby' => 'title'
);
query_posts($args);

Saya tidak terlalu yakin urutannya, Mungkin tanggalnya. Juga, ketika saya memesan berdasarkan 'nama' atau apa pun, itu berhasil. :(

Terima kasih atas bantuan apa pun sebelumnya


person Bill    schedule 30.01.2013    source sumber
comment
Saya melihat hal serupa ketika klien mulai menggunakan plugin qTranslate. Postingan yang dibuat sebelum plugin diurutkan berbeda dengan yang dibuat setelahnya. Itu tergantung bagaimana mereka disimpan dalam database - pra-qTerjemahkan seperti 'Judul', posting seperti '‹!--:de--›Judul‹!--:--›‹!--:fr--› Judul‹!--:--›'. MySQL baru saja mengurutkannya berdasarkan urutan karakter. Yang merupakan cara yang panjang lebar untuk mengatakan - lihat di database, khususnya di bidang post_title di tabel wp_posts. Mungkin ada beberapa karakter tambahan/tersembunyi yang mengacaukan segalanya. Apalagi jika berfungsi untuk bidang lain.   -  person Hobo    schedule 30.01.2013
comment
Ini mungkin membantu Anda wordpress.stackexchange. com/questions/54347/   -  person Rikesh    schedule 30.01.2013
comment
Hobo bisakah Anda memposting ini sebagai jawaban dan saya tidak akan menerimanya. Cheor   -  person Bill    schedule 31.01.2013


Jawaban (2)


Lihat komentar Hobo pada pertanyaan ^

Klien saya juga menggunakan qTranslate, dan itulah penyebab sebenarnya masalahnya.

person Bill    schedule 30.01.2013

Masalahnya adalah $args, lakukan ini:

$args = array(
    'cat' => $cat_id,
    'posts_per_page' => 20,
    'orderby' => array( 'title' => 'ASC' )
);

Anda juga dapat memesan berdasarkan beberapa parameter, seperti:

$args = array(
    'cat' => $cat_id,
    'posts_per_page' => 20,
    'orderby' => array( 'menu_order' => 'ASC', 'title' => 'ASC', 'post_date' => 'DESC' ),
);
person zod    schedule 11.05.2020