İki özel yayın türü bir yönetici sayfasında birleştirilsin mi?


9

4 özel yazı tipine sahip bir site inşa ediyorum. Müşteri / yönetici için işleri kolaylaştırmak için, bu özel yayın türlerini arka uçtaki tek bir listede birleştirmenin bir yolu olup olmadığını merak ediyorum? Yazıların listesi ve sütunlarıyla normal arka uç yönetici sayfasına bakarsanız, bu tür bir sayfa kolay sıralama / arama için 3 farklı yazı türünü alabilir mi?

CPT'leri bir araya getiremiyorum, mümkünse yönetici alanındaki bir 'görüntüleme' sayfasının dışında ayrı kalmaları gerekir.

Bunun nasıl yapılacağı hakkında herhangi bir düşünce ?? Ya da bunun nasıl geliştirileceğine bakmaya / düşünmeye nereden başlamalı?


1
1 CPT kullanmaya bakabilir, ardından tek CPT'deki yayınları ayıran 2 terimle özel bir sınıflandırma oluşturabilirsiniz. Ardından, ziyaretçileri terimler / vergiler temelinde başka bir şablona göndermek için ön uç şablon dosyalarının üst kısmında bir mantık yapabilirsiniz
Sy Holloway

Yanıtlar:


2

Sadece bir başlangıç ​​noktası, daha fazla geliştirme sırasında kesinlikle sorunlar açılacaktır. Örneğin, şu anda, arama işlevi bir dize (post_type) beklediğinden ve bir dizi aldığından kopuyor.

Yayınlar ekranında birden fazla yayın türünü listelemek pre_get_postsiçin sorguyu bağlarız ve değiştiririz. Bu testte Yayınlar, Sayfalar ve Ürünler Yayınlar ekranında ( http://example.com/wp-admin/edit.php) birlikte gösterilecektir .

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;
}

Her yazı ile bir sütun göstermek için bir yardımcı kodu Mesaj Türü:

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 );
}

0

Bunun için Yönetici Menüsü Düzenleyicisi yanlısı tavsiye ederim. En altta bağlantı kuracağım.

İlginç. Üzerinde çalıştığım belirli bir projede, birbiriyle ilişkili birkaç CPT (özel posta türleri) vardı. Bu bölüm 'Bilgi Merkezi' idi ve Basın Bültenleri, Beyaz Kitaplar, Görüşler vb .'nin Bilgi Merkezi içerisinde olmasını istediler. Ön tarafta bunu oluşturmak kolaydı. Arka tarafta da mantıklı bir şekilde birbirine uymasını istedik. Özel Gönderi Türlerinin çoğu, belirli içerik (meta alanları) ve düzen gereksinimleri nedeniyle CPT olarak ayarlandı. Neredeyse 20 CPT'ye sahip olduk.

Bununla birlikte, ilgili Bilgi Merkezi CPT'lerini arka uç menüsünden kaldırmak için yönetici editör eklentisini kullandık ve daha sonra içindeki ilgili CPT bağlantılarını içeren bir 'Bilgi Merkezi' menüsü oluşturduk. Hepsi birleşik gibi görünse de, değildi.

İşte eklenti bağlantısı: http://adminmenueditor.com/ demoyu da deneyin.


"Bilgi Merkezi" bağlantısını nasıl oluşturdunuz?
frnhr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.