Menggabungkan dua jenis pos khusus menjadi satu halaman admin?

9

Saya sedang membangun situs dengan 4 jenis posting khusus. Untuk mempermudah klien / admin kami, saya ingin tahu apakah ada cara untuk menggabungkan tipe posting khusus itu menjadi satu daftar di backend? Seperti jika Anda melihat halaman admin backend normal dengan daftar dan kolom posting, dapatkah halaman seperti itu menarik 3 jenis posting lainnya untuk memudahkan penyortiran / pencarian?

Saya tidak dapat menggabungkan CPT menjadi satu, mereka harus tetap terpisah di luar satu halaman 'melihat' di wilayah admin jika memungkinkan.

Adakah pemikiran tentang bagaimana melakukan ini ?? Atau bahkan mulai mencari / berpikir bagaimana cara mengembangkan ini?

Harun
sumber
1
Anda mungkin dapat melihat menggunakan 1 CPT, lalu membuat taksonomi khusus dengan 2 istilah yang memisahkan tulisan dalam CPT tunggal. Anda kemudian dapat melakukan beberapa logika di bagian atas file templat front end untuk mengirim pengunjung ke templat lain berdasarkan persyaratan / pajak
Sy Holloway

Jawaban:

2

Hanya titik awal, karena pasti masalah akan muncul selama pengembangan lebih lanjut. Misalnya, saat ini, fungsi pencarian terputus saat mengharapkan string (post_type) dan menerima array.

Untuk mencantumkan lebih dari satu jenis posting di layar Posting, kami menghubungkan pre_get_postsdan memodifikasi kueri. Dalam tes ini, Posting, Halaman, dan Produk akan ditampilkan bersama di layar Posting ( http://example.com/wp-admin/edit.php).

add_action( 'pre_get_posts', 'join_cpt_list_wspe_113808' );

function join_cpt_list_wspe_113808( $query ) 
{
    // If not backend, bail out
    if( !is_admin() )
        return $query;

    // Detect current page and list of CPTs to be shown in Dashboard > Posts > Edit screen
    global $pagenow;
    $cpts = array( 'post', 'page', 'product' );

    if( 'edit.php' == $pagenow && ( get_query_var('post_type') && 'post' == get_query_var('post_type') ) )
        $query->set( 'post_type', $cpts );

    return $query;
}

Kode pembantu untuk menunjukkan kolom dengan setiap posting Jenis Posting:

add_filter( 'manage_edit-post_columns', 'add_cpt_column_wspe_113808' );
foreach( array( 'post', 'page', 'product' ) as $cpt )
    add_action( "manage_{$cpt}_posts_custom_column", 'show_cpt_column_wspe_113808', 10, 2 );

function add_cpt_column_wspe_113808( $columns ) 
{
    $columns[ 'cpt' ] = 'Post Type';
    return $columns;
}

function show_cpt_column_wspe_113808( $column_name, $post_id ) 
{
    if ( 'cpt' != $column_name )
        return;
    echo get_post_type( $post_id );
}
brasofilo
sumber
0

Saya akan merekomendasikan Admin Menu Editor pro untuk ini. Saya akan menautkannya di bagian bawah.

Menarik. Pada proyek tertentu yang sedang saya kerjakan, saya memiliki beberapa CPT (jenis pos kustom) yang terkait. Bagian itu adalah 'Pusat Informasi' dan mereka ingin Siaran Pers, Makalah Putih, Testimonial, dll. Berada di dalam pusat Info. Di ujung depan, membuat ini mudah. Di bagian belakang kami juga ingin secara logis cocok bersama. Sebagian besar Jenis Pos Kustom ditetapkan sebagai CPT karena konten tertentu (meta fileds) dan persyaratan tata letak. Kami akhirnya memiliki, seperti, hampir 20 CPT.

Karena itu, kami menggunakan plugin admin editor untuk menghapus CPT Pusat Info terkait dari menu ujung belakang dan kemudian Membuat menu 'Pusat Informasi' dengan tautan CPT terkait di dalamnya. Sementara mereka semua tampak digabungkan, mereka tidak.

Berikut tautan plugin: http://adminmenueditor.com/ juga mencoba demo.

Alex V.
sumber
Bagaimana Anda membuat tautan "Pusat Info"?
frnhr