it-swarm-id.com

mengurutkan secara visual "jenis posting khusus" untuk pengguna akhir

Sekarang dengan jenis posting khusus dan potongan konten lainnya yang tidak perlu diatur secara kronologis berdasarkan tanggal, misalnya: klien memiliki 100 T-Shirt sebagai jenis posting khusus "SHIRT" dan dia ingin mengatur urutan penampilan .

Pendekatan apa yang Anda sarankan untuk membiarkan editor/admin situs SORT pesanan mereka?

8
Amit
1
Drew Gourley

anda dapat memfilter tentang taksonomi

        // to filter by category
    function restrict_manage_posts() {
        global $typenow;

        if ( FB_CPT_POST_TYPE_1 == $typenow ) {
            $args = array('orderby' => 'count', 'hide_empty' => true);
            echo $this->get_taxonomy_html_select(FB_CPT_TAXONOMY_TYPE_1, $args);
        }
    }

    function get_taxonomy_html_select($taxonomy_name, $args) {

        $taxonomy = get_taxonomy($taxonomy_name);
        $terms = get_terms($taxonomy_name, $args);
        $label = __( 'Show all ' . $taxonomy->label, FB_CPT_TEXTDOMAIN );
        $html = array();
        $html[] = '<select style="min-width:155px;" id="' . $taxonomy_name . '" name="' . $taxonomy_name . '" class="postform">';
        $html[] = '<option value="0">' . $label . '</option>';
        if ( isset($_GET[$taxonomy_name]) )
            $this_term = $_GET[$taxonomy_name];
        else
            $this_term = '';
        foreach($terms as $term) {
            $default = ( $this_term == $term->term_id ? ' selected="selected"' : '' );
            $value = esc_attr($term->name);
            $value = $value . '&nbsp;&nbsp;(' . (int)$term->count . ')';
            $html[] = "\t" . '<option value="' . $term->term_id . '"' . $default . '>' . $value . '</option>';
        }
        $html[] = '</select>' . "\n";
        return implode( "\n", $html );
    }

    function request($request) {
        global $pagenow;

        if ( is_admin() && 'edit.php' == $pagenow && isset( $request[FB_CPT_TAXONOMY_TYPE_1] ) && FB_CPT_POST_TYPE_1 == $request[FB_CPT_TAXONOMY_TYPE_1] ) {
            $request['taxonomy'] = FB_CPT_TAXONOMY_TYPE_1;
            $request['term'] = get_term($request[FB_CPT_TAXONOMY_TYPE_1], FB_CPT_TAXONOMY_TYPE_1)->name;
            unset($request['name']);
        }

        return $request;
    }

gunakan kait ini

            // to filter custom post type per custom taxonomy
        add_action( 'restrict_manage_posts', array( &$this, 'restrict_manage_posts') );
        add_action( 'request', array( &$this, 'request' ) );
3
bueltge

Saya akan melihat layar admin menu generator. Karena menu hanyalah jenis posting khusus, saya yakin beberapa hal dapat digunakan sebagai inspirasi ..

0
Vid Luther

Jika semua yang ingin Anda lakukan adalah mengatur posisi untuk setiap "Kemeja", lalu mengapa tidak hanya pengguna Urutan Menu, maka Anda dapat mengurutkan berdasarkan menu_order di WP_Query Anda. Anda mungkin harus membuat kotak meta yang mengatur properti menu_order posting. Kemudian di WP_Query Anda:

$shirts = new WP_Query( 'post_type=shirt&orderby=menu_order&order=ASC' );

Ini akan bekerja sama dengan cara Anda memesan gambar di tab Galeri Media Upload, untuk mengatur Menu Order Halaman.

Atau apakah saya salah mengerti sesuatu?

0
Joe Hoyle

Apa yang saya lebih suka lakukan jika saya membuat jenis posting dalam plugin atau dalam kode adalah juga menambahkan kode ini, yang memungkinkan Anda untuk mengatur urutan default untuk front dan back-end dan juga mengatur variabel GET di admin jadi bahwa admin WordPress mengenali perubahan dan menempatkan panah ke atas jika Anda mengurutkan berdasarkan judul, tanggal, atau apa pun yang Anda tampilkan di tabel admin.

add_filter( 'pre_get_posts' , 'my_cpt_order' ); // Runs before the posts are fetched
function my_cpt_order( $query ) {
    // Check query and alter only the query needed
    //echo '<PRE>'; print_r($query); echo '</PRE>'; 
    if ($query->query['post_type'] == 'cpt' && !isset($query->query['orderby'])) {
        $query->set( 'orderby' , 'title' );
        $query->set( 'order' , 'asc' );
        //get the arrow to show up over title in admin
        if (is_admin()) {
            $_GET['orderby'] = 'title';
            $_GET['order'] = 'asc';
        }
    } //if
} //my_cpt_order

Karena menu_order adalah default, ini tidak diperlukan jika Anda mengurutkan jenis posting khusus berdasarkan menu_order tetapi jika itu adalah tipe posting di mana Anda tidak ingin pengguna harus khawatir tentang pengurutan diri mereka dan Anda ingin menggunakan sesuatu seperti judul , ini sangat berguna.

0
Andrew T

Agar memiliki urutan pengurutan yang benar-benar sewenang-wenang (sama sekali tidak terkait dengan bidang pos mana pun), Anda harus membuat bidang "nilai sortir" (atau "bobot") dan masukkan nilai numerik untuk setiap item di bidang tersebut. Anda kemudian dapat mengurutkan pada bidang itu.

0
WhIteSidE