2017-11-02 13 views
0

ページのコンテンツボックスを2つ設定する必要があります。最初のページはページのヘッダーの内側に表示され、2番目のページはページのコンテンツに表示されます。デザインはかなり複雑なので、1つのコンテンツボックスを使用することはできず、いくつかのスタイルを追加することはできません。主な問題は、WPBakery Page Builderを使って2番目のコンテンツボックスを管理する必要があることです。そのような機能はないようです。おそらく、私はカスタム要素を作成し、それを最初の行に追加してから、the_contentフィルタにフックし、その要素で行を削除するだけです。ヘッダーでは、ほぼ同じことを行います。投稿コンテンツにカスタム要素があるかどうかを確認し、すべてを切り取り、要素をエコーし​​ます。しかし、私はJSとスタイリングが壊れる恐れがあります。おそらく、これにはいくつかのアドオンがありますか?Wordpress - WPBakery Page Builder - 1ページに複数のビルダーをセットアップできますか?

答えて

0

私は2つのエディタを使用する方法が見つからなかったので、ヘッダーと他のコンテンツ - コンテンツセクションにクラス "ヘッダー"を含む行を表示することにしました。

<?php //functions.php 
/* define which class should we use to separate the content */ 
define("CLASS_FOR_HEADER", "header"); 
define("HEADER_SECTION_REGEX", "/\[vc_row([^\w\]])el_class=(?:\"|'|)(.*?)".CLASS_FOR_HEADER."(.*?)(?:\"|'|)(.*?)\]+(.*?|\n)+\[\/vc_row]/"); 

/* Used in the header to leave only header section. 
* header-part-content is a custom action called in the header by 
* apply_filters('header-part-content', $post->post_content); 
*/ 
add_filter('header-part-content', function ($content) { 
    $matches = []; 
    preg_match_all(HEADER_SECTION_REGEX, $content, $matches); 
    if (empty($matches) || empty($matches[0])) { 
     return ""; 
    } 
    return do_shortcode(implode($matches[0])); 
}, 10, 1); 


/* Used to cut the header elements out of the content */ 
add_filter('the_content', function ($content) { 
    return preg_replace(HEADER_SECTION_REGEX, "", $content); 
}, 1); 
関連する問題