【问题标题】:WordPress Borlabs Cookies: Modifiy "previewHTML" using filtersWordPress Borlabs Cookies:使用过滤器修改“预览 HTML”
【发布时间】:2020-06-29 14:51:34
【问题描述】:

我正在使用适用于 WordPress 的 Borlabs Cookie 插件,并且我正在尝试添加过滤器来修改预览 html 以进行内容阻止,如下所述:https://borlabs.io/kb/action-filter-hooks/#ch_9。但是,返回值似乎根本没有被使用,只是被默认的 html 替换。

这是我在functions.php 中的当前代码:

add_filter('borlabsCookie/contentBlocker/modify/content/vimeo', function ($content) {
    $contentBlockerData = BorlabsCookieHelper()->getContentBlockerData('vimeo');

    // example editing of previewHTML
    $contentBlockerData['previewHTML'] = '';

    // debug
    echo 'DEBUG';

    return $contentBlockerData['previewHTML'];
});


“调试”被打印,所以此时预览 html 应该是空的,但在前端它仍然会生成默认的内容拦截器预览 html:

<div class="BorlabsCookie">
    <div class="_brlbs-content-blocker">
        <div class="_brlbs-embed _brlbs-video-vimeo">
...
        </div>
    </div>
</div>


还有其他人有这个问题吗?我知道这可以在插件的管理区域轻松完成,但我仍然希望能够使用过滤器挂钩来解决这个问题。

【问题讨论】:

  • 欢迎来到 SO。 return $contentBlockerData['previewHTML'] 总是会返回一个空字符串。 return 正上方的字符串 $contentBlockerData['previewHTML'] = ''; 将值设置为空字符串并返回该值。我猜这不是你想要达到的目标?
  • 你试过没有这个$contentBlockerData['previewHTML'] = '';
  • 这实际上是我想要实现的。问题是我设置的任何值,它都不会在前端使用。我将编辑问题以使其更清楚,谢谢。

标签: php html wordpress plugins


【解决方案1】:

找到了解决办法!其实很简单。

对于任何感兴趣的人:该插件有一个优先级为 100 的标准过滤器。因此,为了在默认过滤器之后应用自定义过滤器,需要大于 100 的优先级:

add_filter('borlabsCookie/contentBlocker/modify/content/vimeo', function ($content) {
    ...
}, 1000, 1);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    相关资源
    最近更新 更多