如何使用木材输出cmb2所见即所得
How to output cmb2 wysiwyg by using timber
我正在使用 cmb2 创建自定义 post 类型,我有一个名为 legacy_cycle 的自定义 post 类型,其中包含几个所见即所得的文件。
比起我使用 Timber 作为主题工具来显示输入。但是,所见即所得字段无法正常工作。如果只包含文字或者图片就可以了,但是我在wysiwyg编辑器中自定义post类型下插入youtube视频时只输出如下信息,而原生wordpress编辑器的输出是没问题的
" [embed]https://www.youtube.com/watch?v=MS91knuzoOA[/embed]"
我尝试使用post.get_filed('my_wysiwig'),但是没有用。
我想知道如何正确输出字段?非常感谢!
看来您只需要处理该字段中的短代码。这应该将它们转换成实际的 YouTube 视频:
{{ post.get_field('my_wysiswyg') | shortcodes }}
所以,我通过这个post..Applying oembed filters to WYSIWYG field
弄明白了
我使用timber/twig的解决方案是获取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}}
打印单个自定义-post-type.twig中的视频
我在 Timber 中广泛使用 CMB2,我通常的方法是扩展 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
的第二个参数指定要使用哪个 class Timber
我正在使用 cmb2 创建自定义 post 类型,我有一个名为 legacy_cycle 的自定义 post 类型,其中包含几个所见即所得的文件。
比起我使用 Timber 作为主题工具来显示输入。但是,所见即所得字段无法正常工作。如果只包含文字或者图片就可以了,但是我在wysiwyg编辑器中自定义post类型下插入youtube视频时只输出如下信息,而原生wordpress编辑器的输出是没问题的
" [embed]https://www.youtube.com/watch?v=MS91knuzoOA[/embed]"
我尝试使用post.get_filed('my_wysiwig'),但是没有用。
我想知道如何正确输出字段?非常感谢!
看来您只需要处理该字段中的短代码。这应该将它们转换成实际的 YouTube 视频:
{{ post.get_field('my_wysiswyg') | shortcodes }}
所以,我通过这个post..Applying oembed filters to WYSIWYG field
弄明白了我使用timber/twig的解决方案是获取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}}
打印单个自定义-post-type.twig中的视频我在 Timber 中广泛使用 CMB2,我通常的方法是扩展 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