1

我有一个函数可以在 the_content() wordpress 函数的顶部添加一个 html 块,但是,我也有一个 wordpress 插件也这样做,它将其代码插入到我已经插入的 html 块之上。但我希望我的 html 块始终位于 the_content 输出的顶部。

有没有办法指定这个?

这是我现在的功能(插件以类似的方式完成,所以我假设它是按加载顺序完成的

function my_function($content){
    global $post;

    $content = $content . my_function($post) ;
    return $content;
}
add_filter( 'the_content', 'my_function', 9 );

该插件使用:

add_filter( 'the_content', array( &$this, 'the_content' ) );

我将我的优先级设置为 9,所以它肯定会在插件的 10(默认)之前加载吗?

多谢你们。

4

1 回答 1

1

我不确定您是否仍需要这方面的帮助,但它可能对发现您的问题的其他人有所帮助。

我将我的优先级设置为 9,所以它肯定会在插件的 10(默认)之前加载吗?

这是正确的,但您希望您的过滤器在插件过滤器之后生效。目前,您的过滤器会在内容部分的顶部插入一个 HTML 块。然后,插件过滤器将一个 HTML 块插入到内容部分的顶部,在您之前插入的块上方。因此,您应该将$priority过滤器设置为更高的值,例如 20,以便稍后发生,并将 HTML 块插入到其他过滤器插入的所有 HTML 块之上。

于 2017-06-06T17:10:50.023 回答