如何在自定义帖子类型中启用快捷码?

时间:2018-07-01 作者:Peter

如何在不使用the_content()get_the_content()?在它使用的模板文件中

<?php echo nl2br( $post->post_content ); ?>
像其他帖子或页面一样从后端获取内容。我试过使用

<?php echo do_shortcode(get_post_field(\'post_content\', $postid)); ?>
虽然有效,但短代码本身仍在显示,例如:

[gallery columns="4" link="file" ids="1,2,3,4"]
在库照片上方显示。

4 个回复
最合适的回答,由SO网友:Peter 整理而成

对于我的特殊情况,答案是替换<?php echo nl2br( $post->post_content ); ?> 具有<?php echo $content; ?> 这使得所有的短代码都能按预期工作。

SO网友:CJWEB

我遇到了类似的问题,因为我呈现的内容如下:

echo get_the_content();
而不是:

the_content();
第二个函数必须包括短码过滤器。

SO网友:Muhammad Tahseen ur Rehman

Shortcodes 真的应该参加custom post types. 本质上,自定义帖子类型是一个帖子。因此,似乎在某些地方过滤短代码有问题。

可能发生的情况是您正在使用get_the_content() rather than the_content() 无法过滤。在何处以及如何显示自定义帖子类型的内容?

如果是这种情况,请以这种方式使用get\\u the\\u content()函数来应用适当的筛选。

<?php apply_filters(\'the_content\',get_the_content( $more_link_text, 
 $stripteaser, $more_file )) ?>

Visit this link for more detail about your Problem

wpmudev

SO网友:Mammaltron

使用apply_filters() 让WordPress处理内容中的短代码。

<?php echo apply_filters(\'the_content\', $post->post_content); ?>

结束

相关推荐

从函数获取返回的变量到ADD_SHORTCODE函数

接下来,我成功地将一个ajax对象传递到后端(JS中的脚本实际上并不重要,因为我已经很好地完成了):add_action( \'wp_ajax_my_action\', \'my_action_callback\' ); add_action( \'wp_ajax_nopriv_my_action\', \'my_action_callback\' ); add_action( \'wp_enqueue_scripts\', \'theme_name_scripts\' ); ad