未按良好顺序显示内容的_Content()(带有短码)

时间:2020-05-13 作者:Morgan Tartreau

我在所见即所得(wysiwyg)中添加了一个短代码[表单]——短代码前的两段。

<p>test 1</p>

<p>test2</p>

[form]
但在前端,短代码显示在内容的顶部。我认为这是CSS中的一个错误,但HTML是独立呈现表单,然后是我的段落。

有什么想法吗?我在WP 5.4上

编辑:

以下是创建短代码的方式:

/* SHORTCODE */
function form_shortcode() {
    include( "includes/form.php" );
    return;
}

add_shortcode( \'form_calcul\', \'form_shortcode\' );
我有几行php在里面。我应该很精确,我在插件中。我也尝试过这个,但没有成功:

    ob_start();
get_template_part(\'form\');
return ob_get_clean();

1 个回复
SO网友:cjbj

之前the_content 显示WP查找要运行内容的筛选器。其中一个过滤器是do_shortcode. 过滤器的概念是,您可以在显示之前更改某些内容。因此,如果在过滤器函数中您回送了一些内容,那么它会在the_content, 仍在等待筛选过程完成。

自您的职能form_shortcode() 不返回修改的content 显示的任何内容都必须是echo 中的语句form.php.

相关推荐

Meta box html在保存后未更新

我有一些元框设置,一些是我自己的,一些是在插件中初始化的。正如标题所示,这些元框在帖子提交后不会以图形方式更新。这里有一个问题的例子,我有一个元盒,它有一个单一的切换来启用通知。在发送第一个通知并发布帖子后,我取消了复选框并在其上方添加了一点警告。但是,在我完全刷新页面之前,这不会更新。我对wordpress相当陌生,但这似乎不是正确的行为,因为当我调试代码时,我可以验证是否在save\\u post之后调用了metabox回调。通过查看Chrome的开发工具中的网络选项卡,我还可以看到,当我“save\