2016-03-30 9 views
0

私はいくつかのコンテンツは、ビジュアル作曲で作成したにVisual Composerの要素(複数可)をラップし、私はどのようにそれを行うことができますしてください visual composer elements [is_mobile]visual composer elements wrapped in shortcode[/is_mobile] other visual composer elementsショート

のようなショートでそれの一部をラップしたいですか?ありがとうございます

答えて

1

私は、あなたのショートコードをVisual Composerに「登録」する必要があると思います。登録されていないショートコードを持つと、Visual Composerは混乱します。私の場合は、登録されていない短いコードで囲んでみようとしていたコンテンツがページの上部に表示されてしまいました。そこで、以下で

:Visual Composerの要素のグリッドで

  • nameショーページを編集しています。また、ショートコードをVCコンテナクラス(WPBakeryShortCodesContainer)に追加するために使用します。
  • baseは、あなたのショートの名前である - あなたの例ではis_mobile
  • as_parentは、あなたのコンテナが子として受け入れることができるのかを示すショートコードです。私はそれを何も "例外"に設定しました - すべてのVisual Composerショートコードを子として受け入れることを意味します。また、「のみ」に設定し、子として許可したい特定のショートコードを列挙することもできます(たとえば、画像ギャラリーを表示または非表示にしたい場合)。
  • 私にとって重要ではないもの:私は本当に理由はわかりませんが、is_containerをtrueまたはfalseとして使用することができました。それは私の状況に違いはなかった。 show_settings_on_createcontent_elementはおそらくあなたの目的とは無関係ですが、詳細を知りたい場合はhere on VC documentation for vc_mapと説明しています。

これは、Visual Composerであなたのショートを登録します。

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

そして、これはデフォルトのVCコンテナのショートクラスを拡張して(すなわち、子として他のVC要素を受け入れる)の容器としてあなたショートの行為を行います。接続として上記のスニペットのnameを使用しているようです。 VCマニュアルの

if (class_exists('WPBakeryShortCodesContainer')) { 
    class WPBakeryShortCode_Is_Mobile extends WPBakeryShortCodesContainer { 
    } 
} 

This pageそれはかなりまばらなのですけれども、私はこれを理解助けました。

関連する問題