Kısa kodlarınızı Visual Composer ile "kaydetmeniz" gerektiğine inanıyorum. Kayıtsız kısa kodlara sahip olmak Visual Composer'ı karıştırır; Onlarla ne yapılacağını gerçekten bilmez, bu yüzden onları görmezden gelir veya onlarla garip şeyler yapar (benim durumumda, kayıtsız bir kısa kod içinde sarmaya çalıştığım içerik sayfanın en üstünde sona erdi). Yani aşağıdaki
: Görsel Besteci elemanlarının ızgara
name
gösterileri Bir sayfayı düzenliyor. Ayrıca, kısa kodunuzu VC Container sınıfına (WPBakeryShortCodesContainer) eklemek için de kullanabilirsiniz.
base
senin shortcode adıdır - is_mobile
as_parent
kapsayıcı çocuklar gibi kabul edebilir kısa kod hangi gösterir senin örnekte. “Hiçbir şey” dışında ayarlıyorum - yani tüm Visual Composer kısa kodlarını çocuk olarak kabul ediyor. Ayrıca bunu "yalnızca" olarak ayarlayabilir ve çocuklar olarak izin vermek istediğiniz belirli kısa kodları listeleyebilirsiniz (örneğin, yalnızca kullanıcıların bir resim galerisini göstermesine veya gizlemesine izin vermek istiyorsanız).
- Ve benim için önemli olmayan şeyler: Neden olduğundan emin değilim, ancak
is_container
'u doğru VEYA yanlış olarak kullanabildim. Durumumda hiçbir fark yaratmadı. show_settings_on_create
ve content_element
, muhtemelen sizin amaçlarınızla alakasızdır, ancak daha fazla bilgi edinmek isterseniz, here on VC documentation for vc_map açıklanmaktadır.
Bu Görsel Composer ile shortcode kaydeder:
vc_map(array(
"name" => __("Is Mobile", "my-text-domain"),
"base" => "is_mobile", // your shortcode name
"as_parent" => array('except' => ''), // Use only|except attributes to limit child shortcodes (separate multiple values with comma)
"content_element" => true,
"show_settings_on_create" => false,
"is_container" => true,
"params" => array(
// you can add params same as with any other content element
// i didn't have any options to add onto my element; i was just trying
// to show or hide content based on WP conditions irrelevant to VC
),
"js_view" => 'VcColumnView'
));
Ve bu kapsayıcı olarak varsayılan VC konteyner shortcode sınıfını genişleterek (yani çocuklar gibi diğer VC elemanlarını kabul) sizin shortcode hareket yapar. Yukarıdaki snippet'ten name
bağlantısını bağlantı olarak kullanıyor görünmektedir. VC belgelere
if (class_exists('WPBakeryShortCodesContainer')) {
class WPBakeryShortCode_Is_Mobile extends WPBakeryShortCodesContainer {
}
}
This page
oldukça seyrek olsa bana bu anlamaya yardımcı oldu.