bonnier/wp-bonnier-sitemap

A Sitemap plugin for the Willow platform
2,664
Install
composer require bonnier/wp-bonnier-sitemap
Latest Version:1.7.5
PHP:>=7.4
License:MIT
Last Updated:Apr 19, 2023
Links: GitHub  ·  Packagist
Maintainer: MFlor

WP Bonnier Sitemap

A plugin for handling sitemaps in WordPress

This plugin will monitor all public WP_Post types and

Filters

This plugin makes some filters available to developers of WordPress sites, in order to customize the validation and handling of content to be processed by this plugin.


WpBonnierSitemap::FILTER_ALLOWED_POST_TYPES = 'sitemap_allowed_post_types'

This filter will allow you to remove or add post types that are allowed by the sitemap plugin, and therefore which post types will be listened for on changes.

add_filter('sitemap_allowed_post_types', function(array $postTypes) {
    // Don't handle sitemaps for the page post type.
    return array_filter($postTypes, function(string $postType) {
        return $postType !== 'page';
    });
}, 10);

WpBonnierSitemap::FILTER_POST_ALLOWED_IN_SITEMAP = 'post_allowed_in_sitemap'

This filter will allow you to hijack the validation for whether a WP_Post is supposed to be in the sitemap.

Default: true

add_filter('post_allowed_in_sitemap', function (bool $allowed, \WP_Post $post) {
    if ($post->post_type !== 'page') {
        $allowed = false;
    }
    return $allowed;
}, 10, 2);

WpBonnierSitemap::FILTER_POST_TAG_MINIMUM_COUNT = 'post_tag_minimum_count'

This filter will allow you to define the minimum number of posts a tag needs to be attached to, for it to be included in a sitemap.

Default: 5

add_filter('post_tag_minimum_count', function (int $count) {
    // For SEO purposes, our sitemap cannot have less than 10 posts for tag pages.
    return 10;
}, 10);

WpBonnierSitemap::FILTER_USER_MINIMUM_COUNT = 'user_minimum_count'

This filter will allow you to define the minimum number of posts a user needs to be attached to, for it to be included in a sitemap.

Default: 5

add_filter('user_minimum_count', function (int $count) {
    // For SEO purposes, our sitemap cannot have less than 10 posts for user pages.
    return 10;
}, 10);

WpBonnierSitemap::FILTER_POST_PERMALINK = 'sitemap_post_permalink'

This filter will allow you to alter the generated permalink for a post being saved.

add_filter('sitemap_post_permalink', function (string $permalink, \WP_Post $post) {
    return $permalink;
}, 10, 2);

WpBonnierSitemap::FILTER_CATEGORY_PERMALINK = 'sitemap_category_permalink'

This filter will allow you to alter the generated permalink for a category being saved.

add_filter('sitemap_category_permalink', function (string $permalink, \WP_Term $category) {
    return $permalink;
}, 10, 2);

WpBonnierSitemap::FILTER_TAG_PERMALINK = 'sitemap_tag_permalink'

This filter will allow you to alter the generated permalink for a post_tag being saved.

add_filter('sitemap_tag_permalink', function (string $permalink, \WP_Term $tag) {
    return $permalink;
}, 10, 2);

WpBonnierSitemap::FILTER_TAG_ALLOWED_IN_SITEMAP = 'tag_allowed_in_sitemap'

This filter will allow you to hijack the validation for whether a WP_Term is supposed to be in the sitemap.

Default: true

add_filter('tag_allowed_in_sitemap', function (bool $allowed, \WP_Term $tag) {
    if ($tag->taxonomy !== 'post_tag') {
            $allowed = false;
        }
        return $allowed;
}, 10, 2);

WpBonnierSitemap::FILTER_ALLOW_USER_IN_SITEMAP = 'allow_user_in_sitemap'

This filter will allow you to apply your own rules for registering the user in the sitemap table.

add_filter('allow_user_in_sitemap', function (bool $allowInSitemap, int $userID, \WP_User $user) {
    return $allowInSitemap;
}, 10, 3);

Related Packages

yoast/duplicate-post

The go-to tool for cloning posts and pages, including the powerful Rewrite & Rep...

266,224 0
achttienvijftien/missed-schedule-fixer

Fixes "missed schedule" problems with posts

128,713 1
greenpeace/planet4-nginx-helper

Cloned from rtcamp/nginx-helper. Cleans nginx's fastcgi/proxy cache or redis-cac...

115,812 0
webdevstudios/cmb2-attached-posts

Custom field for CMB2 for creating post relationships.

66,457 134