首页 > 解决方案 > WordPress Borlabs Cookies:使用过滤器修改“previewHTML”

问题描述

我正在使用适用于 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>


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

标签: phphtmlwordpressplugins

解决方案


找到了解决方案!其实很容易。

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

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

推荐阅读