在内容末尾添加表单

时间:2012-11-30 作者:Raveline

我正试图在每篇文章之后为我必须编写的插件添加一个小表单,但我对Wordpress不是很熟悉。通过将add\\u action与\\u内容作为挂钩,我可以向内容中添加一些文本。

我的问题是,存储在$content变量中的整个文本似乎以某种方式得到了处理。具体来说,在我的每个输入字段后面都添加了br/以打破我表单的布局。例如,我注意到,如果我在评论表单之前有我的表单,我就没有这个问题。但我不想把我的表格放在这里,我需要它真的在帖子之后,在任何与评论相关的事情之前。

是否有办法禁用此文本和html格式,但仅限于我将添加到内容中的表单?如果没有简单的方法可以做到这一点,我试着找到一个钩子,允许我在内容之后和评论之前添加一些内容,但没有找到一个。有这样一个钩子吗?

2 个回复
SO网友:s_ha_dum

如果我了解你在做什么,以及你遇到的问题,我首先会尝试add your the_content filter with a large priority number 所以它运行得很晚,希望在其他格式过滤器之后。

add_filter(\'the_content\',\'your_callback\',100);

如果不能做到这一点,您可能必须删除一些过滤器并重新排序。

如果这是一个页面,您可以编辑该页面的模板,也可以运行get_the_content, 对其应用内容筛选器,然后在echo.

$content = get_the_content();
$content = apply_filters(\'the_content\',$content);
$content = $content.$your_form;
echo $content;

SO网友:Zach

你真的想filter 内容,而不是使用动作。您可以将表单包装在输出缓冲区中并将其附加到其中,如下所示:

function my_content_filter($content) {
    ob_start(); 

    // your form here

    $form = ob_get_clean();

    if (get_post_type() == \'post\')
        return $content . $form;

    return $content;
}
add_filter(\'the_content\', \'my_content_filter\');
如果有帮助,请告诉我。

结束

相关推荐

Wp-content/plugins中的权限问题

我在本地机器上安装了一个WP,试图用插件弄脏我的手。我希望从github克隆一个包含此插件代码的项目。然而,我没有插件内部的权限,作为一个没有su权限的普通用户,我无法做到这一点。(当然,我可以成为根并这样做,但我不认为这是应该的)。然后,默认情况下,WP安装中的文件夹将组设置为“tape”,这对我来说很奇怪。本地WP安装上内部文件夹的正确权限应该是什么?