Yönetici Sayfasında do_shortcode ()


14

Kısa kodları olan birkaç eklenti kullanıyorum ... ancak, içerik için genel bir sayfa oluşturmak yerine, yönetici kullanarak bazı yeni sayfalar oluşturdum add_menu_pageve do_shortcode()bu bağlamda nasıl kullanılacağını bilmeliyim .

Durduğu gibi, tüm işlev dizeyi tükürür. Kısa kod API'sinin bir yönetici sayfasında bulunmadığından eminim.

Bunu nasıl çözebilirim? WP Yöneticisi'nde kısa kodların nasıl kullanılacağını açıklayan herhangi bir belge bulamıyorum ... hatta mümkünse.


Özellikle WP Yöneticisi içinde WooCommerce kısa kodlarını kullanmaya çalışıyorum. Eklentilerin hesap / kullanıcı yönetimi için WP Backend'i kullanmadığından nefret ediyorum.


Kim geldi ve "Ben herhangi bir araştırma yapmadım" karar verdi ve yorum yapmadan bana olumsuz bir puan verdi son derece yararsızdır.
dcolumbus

1
Kısa kodların ön uç içerik için olduğunu söyleyebilirim ... Kendi eklenti yönetici sayfanız için içerik oluşturmak için başka bir eklenti kullanmaya mı çalışıyorsunuz?
Damien

@dcolumbus katılıyorum. Geçenlerde birkaç sahte downvotes gördüm, kesinlikle geçmişte gördüğümü hatırladığımdan daha fazla. IMO bu dürüst (ve oldukça harika) bir soru, bu yüzden şu anda bir cevapta bir bıçak alıyorum;)
TheDeadMedic

Bir yönetici sayfası oluşturduysanız, çıktıyı belirleyebilirsiniz - neden kullanmanız gerekiyor / kullanmak istiyorsunuz do_shortcode(). Bir örnek verebilir misiniz?
Stephen Harris

Özellikle WooCommerce kısa kodlarını kullanmaya çalışıyorum. Kullanıcı yönetimi ve hesap yönetimi sayfaları.
dcolumbus

Yanıtlar:


10

do_shortcode()Aramak yerine, sadece kısa kodla ilişkili işlevi arayın.

Misal

Adında bir kısa kod [example]ve kısa kod işleyicisi olarak kayıtlı bir işlev vardır:

function example_shortcode( $atts = array(), $content = '' )
{
    extract( 
            shortcode_atts( 
            array (
            'before' => '',
            'after' => '',
            ), 
            $atts 
       )
   );

    return $before . $content . $after;
}
add_shortcode( 'example', 'example_shortcode' );

Yönetici sayfanızda işlevi çağırmanız yeterlidir:

echo example_shortcode( 
    array ( 'before' => 'This ', 'after' => '!' ), 
    'works' 
);

Çıktı: This works!.

Daha hızlı ve daha güvenilir do_shortcode().


1
Bunu düşünmemiştim bile! Sonra tekrar, yönetici (nedense ne olursa olsun) kısa kodları hiç kullanmamıştım ve araştırmak için bir bahane vardı;)
TheDeadMedic

Bunu neden düşünmediğime dair hiçbir fikrim yok ... Bir deneyip rapor vereceğim!
dcolumbus

Bunun bir dezavantajı, eklenti yazarı gelecekte kısa kodun geri arama işlevini yeniden düzenlerse kırılmasıdır. Kısa koddaki değişiklikler muhtemelen geriye dönük olarak uyumlu olacaktır, ancak eklentinin dahili işlev adlarının olması daha az olasıdır.
Ian Dunn

2

Kısa kod API'sinin yönetici tarafından kullanılabildiği anlaşılıyor , ancak çıktısı söz konusu kısa kod etiketine bağlı olacak.

Yerleşik [caption]beklendiği gibi eserleri, oysa [embed]değil (bunun nedeni ne embed API "tembel-yükleri" 's SHORTCODE etmektir ve bağlı gelmez the_contentyüzden teknik değil shortcode API hatası, kaçak filtrenin).

Sonuç: Bu tamamen etiketin nasıl ve ne zaman kaydedildiğine ve yürütüldüğünde ne yaptığına / varsaydığına bağlıdır.

@dcolumbus Sizin durumunuzda hangi etiketten bahsediyoruz?


1
Ayrıca, bazı etiketler get_the_ID()bir gönderi kimliği döndürmeyi bekliyor olacak .
Stephen Harris
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.