确保插件最后加载/运行?

时间:2017-07-24 作者:warren

如何确保在页面完成呈现之前最后一次运行给定的插件?

能保证吗?

具体来说,我正在编写一个插件,我想对给定帖子/页面的所有内容进行后期处理(在任何格式、额外链接、广告注入等之后)。博客的其余部分不需要处理,只需发布&;第页。

2 个回复
最合适的回答,由SO网友:WPExplorer 整理而成

您将希望以非常高的优先级连接到“the\\u content”过滤器。示例:

function my_alter_the_content( $content ) {
    if ( in_array( get_post_type(), array( \'post\', \'page\' ) ) ) {
        // Do stuff here for posts and pages
    }
    return $content;
}
add_action( \'the_content\', \'my_alter_the_content\', PHP_INT_MAX 
);

使用PHP\\u INT\\u MAX常量作为挂钩优先级,可以确保它尽可能最后运行(大多数插件/主题只使用默认优先级10)。

问题是当你说“在所有的广告注入之后……等等”时,这实际上取决于如何添加内容。因为如果有广告是通过javascript添加的,那么覆盖它的唯一方法当然是通过javascript。

SO网友:kero

根据您的具体目标shutdown 行动可能是一个可以钩住的地方

在PHP关闭执行之前激发。

结束

相关推荐

Query 3 meta_key and orderby

我需要显示3个查询的结果,我进行了此查询,但我无法显示结果,我抛出了一个没有我想要的顺序的表。以下是查询:$args3 = array( \'post_type\' => $directory_url_2, // enter your custom post type \'paged\' => $paged, \'post_status\' => \'publish\', \'meta_query\' =&g