【问题标题】:the_content filter doesn't return html code, any substitute?the_content 过滤器不返回 html 代码,有什么替代品吗?
【发布时间】:2010-07-03 18:44:43
【问题描述】:

我正在开发一个 WordPress 插件,我发现当使用 _content 过滤钩子时,它会将帖子的内容作为参数提供给函数,但是以纯文本格式。我想获取帖子的 HTML 内容,有什么方法可以实现吗?

谢谢 - 卡佩尔

【问题讨论】:

  • 我不确定这是否与编程相关,因此对于 Stackoverflow,或者它现在是否属于 webapps...
  • @ricebowl 我不知道其他人的情况,但是当您尝试登录时只有一条警告消息说它处于私人测试阶段时,这似乎有点为时过早。
  • @Ah,一个有效的点。我不知道“私人”测试版状态。

标签: php wordpress


【解决方案1】:

终于,经过一番搜索,我解决了。

正如 TheDeadMedic 所说 - “您确定帖子内容确实包含 HTML?不要忘记 WordPress 会即时添加段落,并且不一定将它们存储在数据库中。”

WordPress 通过使用一个名为wpautop();的函数来实现

我刚刚将它与 get_the_content(); 一起使用,我得到了它的工作。

这是一个如何实现这一目标的示例 -

function myPluginReplaceContent() {
    $content    =   wpautop(get_the_content());
    $content    .=  myPluginGetData(); // do whatever you want to - here
    return $content;
}

编辑:

我发现此功能不会应用其他插件的过滤器。以下函数不会引起任何问题。

function myPluginReplaceContent($thecontent) {      
    $thecontent .=  myPluginGetData(); // do whatever you want to - here
    return $content;
}

【讨论】:

    【解决方案2】:

    您是否安装了任何插件,或者您是否在其他地方过滤the_content

    默认情况下,通过过滤器the_content 的内容几乎就是数据库中的内容,减去一些解析(处理 !-- more --> 预告片等)。

    您确定帖子内容确实包含 HTML 吗?不要忘记 WordPress 会即时添加段落,而不必将它们存储在数据库中。

    【讨论】:

    • 你检查过你的数据库的内容吗?是 WordPress 肯定会剥离 HTML,还是没有存储任何 HTML 的问题是真的?
    猜你喜欢
    • 2010-09-14
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 2022-11-10
    • 2014-08-26
    • 1970-01-01
    相关资源
    最近更新 更多