pre_ping

Home » Hooks » pre_ping

The pre_ping hook is a useful WordPress hook that allows you to modify or validate the URLs being pinged before they are sent. When a WordPress post that contains URLs is published or updated, WordPress automatically sends a "ping" to those URLs to notify them about the new content. The pre_ping hook provides a way to intercept this process and make changes or perform validations on the URLs being pinged.

The pre_ping hook is primarily used for filtering and modifying the list of URLs before they are pinged. For example, you can use this hook to exclude certain URLs from being pinged or to add additional URLs to the ping list. Additionally, you can use this hook to perform validation on the URLs, such as checking if they are valid or if they meet certain criteria before sending the pings.

Here’s an example usage of the pre_ping hook:

function modify_ping_urls($urls) {
    // Exclude specific URLs from being pinged
    $exclude_urls = array(
        'https://example.com',
        'https://example.org'
    );

    $filtered_urls = array();

    foreach ($urls as $url) {
        // Perform any additional checks or modifications here
        if (!in_array($url, $exclude_urls)) {
            $filtered_urls[] = $url;
        }
    }

    return $filtered_urls;
}

add_filter('pre_ping', 'modify_ping_urls');

In the example above, we define a custom function modify_ping_urls that takes in the list of URLs to be pinged as a parameter. Inside the function, we exclude certain URLs (https://example.com and https://example.org) from being pinged by checking if they exist in the $exclude_urls array. Any URLs that are not excluded are added to the $filtered_urls array, which is then returned.

Finally, we use the add_filter function to hook our custom function modify_ping_urls to the pre_ping hook. This ensures that our function is executed before the URLs are pinged, allowing us to modify or filter them as needed.

By utilizing the pre_ping hook, you can have greater control over the URLs being pinged in WordPress, enabling you to customize the ping process to suit your specific needs.

Learn More on WordPress.org

Register an account to save your snippets or go Pro to get more features.