Özel Gönderi Türleri için Gönderi Düzenle ekranı özelleştirilsin mi?


15

Gönderiyi Düzenle yönetici ekranını belirli bir özel gönderi türü için tamamen özelleştirmenin en iyi yolu nedir?

Zaten özel yazı türünün oluşturulması üzerinde bir dereceye kadar özelleştirdim - ek alanlar vb. Ekleme, ancak kalıcı bağlantılar, önizleme yayını, hızlı düzenlemeyi devre dışı bırakma vb. Gibi öğelerin çoğunu kaldırmak istiyorum.

Yanıtlar:


16

Bu soruların bazıları burada yanıtlanmaktadır: Varsayılan Yönetici Ekranı seçeneklerini ve Meta Kutu Sırasını Ayarlama

Kalıcı bağlantı meta kutusunu kaldırmak için:

function my_remove_meta_boxes() {
    remove_meta_box('slugdiv', 'my-post-type', 'core');
}
add_action( 'admin_menu', 'my_remove_meta_boxes' );

ayrıca, # edit-slug-kutusunu css veya javascript ile gizlemeniz gerekir. bkz: Harici Komut Dosyalarını Yönetici'ye Yüklemek SADECE Belirli Bir Yazı Türü için?

Hızlı düzenlemeyi devre dışı bırakmak için:

function my_remove_actions( $actions, $post ) {
    if( $post->post_type == 'my-post-type' ) {
        unset( $actions['inline hide-if-no-js'] );
    }
    return $actions;
}
add_filter( 'post_row_actions', 'my_remove_actions', 10, 2 );

Önizleme bağlantısını değiştirmek için 'preview_post_link' filtresini kullanabilirsiniz, ancak yalnızca yayın henüz yayınlanmadığında çalışır. Dolayısıyla çözüm, meta gönder kutusunu kaldırmak ve kendi değiştirilen kutunuzu eklemek olacaktır:

function my_replace_submit_meta_box() {
    remove_meta_box('submitdiv', 'my-post-type', 'core');
    add_meta_box('submitdiv', __('Publish'), 'custom_post_submit_meta_box', 'my-post-type', 'side', 'core');
}
add_action( 'admin_menu', 'my_replace_submit_meta_box' );

function custom_post_submit_meta_box() { // a modified version of post_submit_meta_box() (wp-admin/includes/meta-boxes.php, line 12)
    ...
}

Çok teşekkürler. Çağlar boyunca bunun cevabını arıyoruz! Ayrıca, Yayınla kutusundaki Önizleme düğmesinin nereye bağlandığını değiştirmenin bir yolu var mı? Bunun mysite.com/video?id='id of post 'a bağlantı vermesini veya video oynatıcıyla bir ışık kutusu
açmasını istiyorum

Tekrar merhaba - aslında çalışmak için sağladığınız kod parçalarından birini alamıyorum. Kalıcı bağlantı meta kutusu, kalıcı bağlantıda gizlemek yerine değişiklikleri kaydetmeyi devre dışı bırakır ve Hızlı Düzenleme bağlantısını hiç devre dışı bırakamam. Herhangi bir fikir?
fxfuture

Cevabımı düzenledim. Çalıştığı hızlı düzenleme kodu reklamını test ettim. Wp-admin / edit.php? Post_type = sis_course, değil mi?
sorich87

Harika, yayınladığınız ek bilgilere bir göz atacağım. Özel yazı türümde 'hiyerarşik' => false değerini değiştirerek hızlı düzenlemeyi gizleyebildim. Ben zaten sipariş etmek için Post Türleri Sipariş eklentisini kullanıyorum gibi bir fark yok gibi görünüyor. Teşekkürler!
fxfuture

Gönder meta kutusunu değiştirmek mükemmel çalıştı! Aslında, fonksiyonunuzdaki köşeli parantezler arasında $ post içermelidir - ör. Custom_post_submit_meta_box ($ post). Yani bu üçü sıralandı :) Hem liste yazılarına hem de yazı ekranını düzenlemek için biraz daha özelleştirme var - tüm farklı öğeleri nasıl kaldıracağınızı / değiştireceğinizi gösteren bir referans kılavuzu biliyor musunuz?
fxfuture
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.