“Yoast SEO”插件有一个从网站地图中排除帖子的过滤器:wpseo_exclude_from_sitemap_by_post_ids
这是建议的用法(来自“Yoast SEO”官方文档):
add_filter( \'wpseo_exclude_from_sitemap_by_post_ids\', function () {
return array( 311, 322 );
} );
我正按照建议尝试,但是
\'404page\' plugin 用以下代码行覆盖我的数组:
add_filter( \'wpseo_exclude_from_sitemap_by_post_ids\', function () {
return array( $this->settings()->get( \'page_id\' ) );
} );
我尝试如下更改插件,但没有更改,另一个插件覆盖了我的数组:
add_filter( \'wpseo_exclude_from_sitemap_by_post_ids\', function ($alreadyExcluded) {
var_dump($alreadyExcluded);
$error_page_id = $this->settings()->get(\'page_id\');
return array_push($alreadyExcluded, $error_page_id);
} );
最合适的回答,由SO网友:Mike Baxter 整理而成
过滤器排队并按优先级排序,然后按发生顺序排序。除非另有规定,否则过滤器的默认优先级为10。发生顺序可能会受到插件启动顺序的影响(按插件名称的字母顺序)。
所以,当你开始研究这个问题时,两个过滤器的优先级是相等的。这意味着一个相当任意的因素导致一个过滤器优先于另一个过滤器。
因此,确保应用任何给定筛选器的唯一方法是确保其优先级高于您尝试修改/替换的筛选器。因此,在您的情况下,10000比需要的高,但代表了最合适的方法。
希望这个答案有帮助!