2016-03-08 68 views
0

我使用cmb2來創建自定義帖子類型,並且我有一個名爲legacy_cycle的自定義帖子類型,其中包含幾個wysiwyg文件。如何使用木材輸出cmb2 wysiwyg

比我使用木材作爲主題工具來顯示輸入。然而,wysiwyg領域無法正常工作。如果它只包含文本或圖像,但它僅在輸出以下信息時纔會輸出以下信息:在自定義帖子類型下的wysiwyg編輯器中插入YouTube視頻,但原生wordpress編輯器的輸出正常。

" [embed]https://www.youtube.com/watch?v=MS91knuzoOA[/embed]" 

我試圖使用post.get_filed('my_wysiwig'),但它沒有工作。

我想知道如何正確輸出字段?非常感激!

回答

0

所以,我理解了它通過這個帖子.. Applying oembed filters to WYSIWYG field

使用木材/樹枝我的解決辦法是,在single.php中的數據,這裏是代碼:

$post_meta = get_post_meta(get_the_ID(),'my_wysiswg', true); 
$post_meta = $wp_embed->autoembed($post_meta); 
$post_meta = $wp_embed->run_shortcode($post_meta); 
$post_meta = do_shortcode($post_meta); 
$post_meta = wpautop($post_meta); 
$post->my_wysiswyg = $post_meta; 

然後,我可以用{{post.my_wysiswyg}}

+0

你應該能夠通過使用'apply_filters('the_content',$ post_meta)來削減所有這些' –

0

看起來您只需要在該字段中處理簡碼。這應該轉換成那些實際的YouTube視頻:

{{ post.get_field('my_wysiswyg') | shortcodes }} 
+0

謝謝你回答使用,但它沒有工作.... – Lisa

0

我用CMB2 EXTE打印在單定製後type.twig視頻木材和我通常的做法是擴大TimberPost並添加獲取元數據的方法。對於一個所見即所得的領域,這樣的事情:

class CustomPost extends TimberPost { 

    public function my_wysiswg(){ 

    $metadata = get_post_meta($this->ID, 'my_wysiswg', true); 

    if ($metadata){ 
     return apply_filters('the_content', $metadata); 
    } 

    } 

} 

您可以指定哪些類木材會隨着Timber::get_posts第二個參數