Kendi "Son Gönderiler" widget'ımı oluşturabilir veya mevcut olanı özelleştirebilir miyim?


14

Şu anda gösterilecek widget setini aldığımdan daha fazla yayın olduğunda "Yayınları görüntüle" bağlantısını gösterme özelliğine sahip Son yayınlar widget'ını etkinleştirmek istiyorum.

Ayrıca belirli kategorileri veya yayınları hariç tutabilmek istiyorum.

Temamın function.php dosyası ile yapmak mümkün mü?

(1) Mevcut widget'ı özelleştirin veya (2) Özelleştirebileceğim bir kopyasını oluştursun mu?


1
Daha fazla okuma için Widget'lar API'si yararlı bir kaynaktır.
manafire

Yanıtlar:


20

Genellikle en iyisi mevcut olanı kopyalamak, benzersiz bir ad vermek ve ardından kendi işlevselliğinizi eklemek en iyisidir.

Kopya WP_Widget_Recent_Postssınıfından başka bir şey ve yeniden adlandırma gibi (senin sadece widget adamış tema başka bir dosya, tercihen veya) functions.php içine / sınıf wp-gereç-son-posts.php wp-includesMy_Widget_Recent_Posts

İşlevlerinizi oraya ekleyin.

Aşamanın bir register_widget('My_Widget_Recent_Posts')parçası olarak da aramayı unutmayın init.


+1 Tatlı. Tamam, benim fonksiyonları.php içinde "requir_once ()" ile "dahil" özel bir özel widget dosyasına ekledi. Ancak, sınıf adını değiştirmeme rağmen, varsayılan WP Son Gönderiler widget'ını devralıyor gibi görünüyor. Herhangi bir fikir?
N2Mystic

2
Widget'a benzersiz bir ad atamalısınız. parent::__construct('recent-posts', __('Recent Posts'), $widget_ops); 'recent-posts'gibi bir şeyle değiştirilmeli 'my-recent-posts've ayrıca widget'ı sizinki olarak tanımlanabilir hale getiren bir şeyle değiştirmelisiniz:'My Recent Posts'
Bendoh

3
Benim widget'ı init için ben eklemek zorunda add_action( 'widgets_init', create_function( '', 'register_widget( "My_Widget_Recent_Posts" );' ) );için functions.php.
manafire
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.